首页 > 解决方案 > “numpy.ndarray”对象没有属性“sqrt”

问题描述

我正在尝试使用获取此输出的标准numpy.std()

[[array([0.92473118, 0.94117647]), array([0.98850575, 0.69565217]), array([0.95555556, 0.8       ]), 0.923030303030303], [array([0.85555556, 0.8       ]), array([0.95061728, 0.55172414]), array([0.9005848 , 0.65306122]), 0.8353285811932428]]

为了获得该输出,我使用了代码(它经历了一个循环,在这个例子中,它经历了两次迭代)

precision, recall, fscore, support = precision_recall_fscore_support(np.argmax(y_test_0, axis=-1),                                                                              np.argmax(probas_, axis=-1))

eval_test_metric = [precision, recall, fscore, avg_fscore]
test_metric1.append(eval_test_metric)

std_matrix1 = np.std(test_metric1, axis=0)

我想得到一个与我做时结构相似的输出np.mean(),请原谅我刚刚在我的代码中做出的“精确度”、“召回”,以便清楚起见。

dr_test_metric = dict(zip(['specificity avg', 'sensitivity avg', 'ppv avg', 'npv avg'], np.mean(test_metric2, axis=0)))

print(dr_test_metric,'\n')

输出,(其中 0.89014337 in 'precision avg': array([0.89014337, 0.87058824] 是我的模型的 0 类精度的平均值,0.8705 是我的模型的 1 类精度的平均值)

{'precision avg': array([0.89014337, 0.87058824]), 'recall avg': array([0.96956152, 0.62368816]), 'fscore avg': array([0.92807018, 0.72653061]), 'avg_fscore avg': 0.8791794421117729} 

标签: python-3.xnumpynumpy-ndarray

解决方案


推荐阅读