我正在尝试评估多个KNN分类器的准确性和性能。
DataTest["ConfM_K30_ST"] = confusion_matrix(
DataTest["ST_Class"],
DataTest["KNN_K30_ST"]
)
aux = DataTest["ST_Class"]
aux1 = DataTest["KNN_K30_ST"]
在尝试将预测结果与原始结果进行比较时,出现以下错误:
ValueError: Length of values does not match length of index
DataTest
是我的DataFrame,其中包含20%的数据。在此示例中,标记数据为"ST_Class"
,预测数据为"KNN_K30_ST"
。
为了验证发生了什么,我在aux和aux1上设置了这两个数据帧。它们均为Series
和sizes (3224,)
类型。
我能看到的唯一问题是索引不是连续的,不是以0开头也不是以3223结尾。为了便于理解,请参见下图。
答案 0 :(得分:0)
我看到的唯一错误是您正在尝试将confusion matrix
作为column
存储在dataframe
中。由于大小不匹配,这是不可能的。
这是一个小样本
df1
a
0 1
2 1
4 1
df2
a
1 0
3 1
5 0
# Output from the confusion matrix
confusion_matrix(df1, df2)
array([[0, 0],
[2, 1]])
答案 1 :(得分:0)
正如建议的那样,我很明显地试图将混淆矩阵存储在DataFrame中。 我的解决方案是将其设置在字典中。
谢谢大家的快速回复!