import pymannkendall as mk
import numpy as np
# 定义示例数据
true_values_sample = np.array([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
])
mod10a1f_predictions_sample = np.array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
])
# 计算混淆矩阵的组成部分
tp = np.sum((true_values_sample == 1) & (mod10a1f_predictions_sample == 1))
tn = np.sum((true_values_sample == 0) & (mod10a1f_predictions_sample == 0))
fp = np.sum((true_values_sample == 0) & (mod10a1f_predictions_sample == 1))
fn = np.sum((true_values_sample == 1) & (mod10a1f_predictions_sample == 0))
# 计算统计指标
accuracy = (tp + tn) / (tp + tn + fp + fn)
precision = tp / (tp + fp) if tp + fp > 0 else 0
recall = tp / (tp + fn) if tp + fn > 0 else 0
f1_score = 2 *tp/(2*tp+fn+fp) if (precision + recall) > 0 else 0
OA = fp / (fp + tn) if fp + tn > 0 else 0
UA = fn / (fn + tp) if fn + tp > 0 else 0
print(tp, tn, fp, fn, accuracy, precision, recall, f1_score, OA,UA)
混淆矩阵精度计算
本文介绍了如何使用Python的pymannkendall和numpy库处理示例数据,计算预测值(mod10a1f_predictions_sample)与实际值(true_values_sample)的混淆矩阵,并计算了精度、召回率、F1分数等统计指标。
4万+

被折叠的 条评论
为什么被折叠?



