pandas 在python中识别并删除测试集中不正确的条目

pepwfjgg  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(174)

对于机器学习主题中的特定需求,在训练模型并获得74%的准确率后,我需要从测试集中具有错误预测的行中识别具有正确预测的行。为此,我经历了3个步骤:1-Incorrect_result包含0或1,具体取决于结果是否正确

incorrects_result = np.where(y_predicted_l != y_test, 1, 0)

print(incorrects_result)
print(len(incorrects_result))
[1 1 0 ... 0 0 0]
31054

2-f_incorrects标识错误结果的位置
一个二个一个一个
3-当我尝试从y_test中删除这些位置的行时,我收到错误

new_y_test=y_test.drop(f_incorrects, axis=0)

键错误:"在轴中找不到[0 1 6 ... 31036 31045 31046]"
y_test的示例:y_test仅包含值0或1(正面或负面情绪),如下所述:

101409    1
27117     0
38448     0
85548     1
127165    1
         ..
102431    1
29555     0
140999    1
128882    1
85422     1
Name: sentiment, Length: 31054, dtype: int64

救命啊!

58wvjzkj

58wvjzkj1#

因为你没有给我们提供y_test的例子,我不完全确定,但是我认为y_test的索引和row_number不一样,所以如果你重置y_test的索引,它应该是固定的。

df.reset_index(drop = True).drop(f_incorrects, axis = 0)

相关问题