fix stat logic
This commit is contained in:
parent
5d09516151
commit
d7ec441ac2
29
MOAFStat.py
29
MOAFStat.py
@ -30,38 +30,21 @@ def calculate_advanced_statistics(df_result):
|
||||
result_stats[f'STD_{col}'] = df_result[col].std()
|
||||
|
||||
# 3. 统计error_ratio_x列中小于等于1/3、1/2、1的比例
|
||||
# 将所有error_ratio列合并计算比例
|
||||
ratio_data = []
|
||||
for col in error_ratio_cols:
|
||||
if col in df_result.columns:
|
||||
ratio_data.extend(df_result[col].dropna().values)
|
||||
|
||||
if ratio_data:
|
||||
ratio_series = pd.Series(ratio_data)
|
||||
result_stats['DoFAcc_1_3'] = (ratio_series <= 1/3).mean()
|
||||
result_stats['DoFAcc_1_2'] = (ratio_series <= 1/2).mean()
|
||||
result_stats['DoFAcc_1'] = (ratio_series <= 1).mean()
|
||||
else:
|
||||
result_stats['DoFAcc_1_3'] = np.nan
|
||||
result_stats['DoFAcc_1_2'] = np.nan
|
||||
result_stats['DoFAcc_1'] = np.nan
|
||||
result_stats[f'DoFAcc_1_3_{col}'] = (df_result[col] <= 1/3).mean()
|
||||
result_stats[f'DoFAcc_1_2_{col}'] = (df_result[col] <= 1/2).mean()
|
||||
result_stats[f'DoFAcc_1_{col}'] = (df_result[col] <= 1).mean()
|
||||
|
||||
# 4. 统计direction_x列中1的比例(DSS - Direction Sign Score)
|
||||
direction_data = []
|
||||
for col in direction_cols:
|
||||
if col in df_result.columns:
|
||||
direction_data.extend(df_result[col].dropna().values)
|
||||
|
||||
if direction_data:
|
||||
direction_series = pd.Series(direction_data)
|
||||
result_stats['DSS'] = direction_series.mean() # 1的比例就是均值
|
||||
else:
|
||||
result_stats['DSS'] = np.nan
|
||||
result_stats[f'DSS_{col}'] = df_result[col].mean()
|
||||
|
||||
return pd.Series(result_stats)
|
||||
|
||||
|
||||
def process_autofocus_results(input_file, dataset_type, group_size=30):
|
||||
def process_autofocus_results(input_file, group_size=30):
|
||||
# ========== 图片级统计数据 ==========
|
||||
# 读取原始数据
|
||||
df_original = pd.read_excel(input_file)
|
||||
@ -243,7 +226,7 @@ def main():
|
||||
|
||||
result_path = f"results/{model_type}_{dataset_type}.xlsx"
|
||||
|
||||
_ = process_autofocus_results(result_path, dataset_type)
|
||||
_ = process_autofocus_results(result_path)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user