Python 混淆矩阵长度
Python Confusion Matrix Length
我正在尝试评估几个 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 结束。为了便于理解,请参见下图。
我能看到的唯一错误是您试图将 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]])
正如所建议的那样,我不经意地试图将混淆矩阵存储在 DataFrame 中。
我的解决方案是将其设置在字典中。
谢谢大家的快速回复!
我正在尝试评估几个 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 结束。为了便于理解,请参见下图。
我能看到的唯一错误是您试图将 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]])
正如所建议的那样,我不经意地试图将混淆矩阵存储在 DataFrame 中。 我的解决方案是将其设置在字典中。
谢谢大家的快速回复!