如何得到准确的逆预测结果?sklearn预言完全错误

2024-05-23 21:35:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我的模型预测了完全错误的结果。对于两类分类问题,存在大量的误报和漏报。事实上,如果我能得到相反的结果,我会有一个很好的结果。所以我有一个简单的片段如下:

clf = neural_network.MLPClassifier(solver='lbfgs', alpha=1e-5
                                   , hidden_layer_sizes=(5, 2)
                                   , random_state=1, max_iter=5000)
clf.fit(X_train, y_train)
print('TRAIN')
print(classification_report(y_train, clf.predict(X_train)))
print(confusion_matrix(y_train, clf.predict(X_train)))
print('\nTEST')
print(classification_report(y_test, clf.predict(X_test)))
print(confusion_matrix(y_test, clf.predict(X_test)))

混乱矩阵是这样的

[[2 7]
 [8 2]]

所以,我可以使用这样的输出

[[8 2]
 [2 7]]

我怎样才能做到这一点而不直接操作的结果? 提前谢谢


Tags: 模型testreport错误分类trainpredictmatrix
1条回答
网友
1楼 · 发布于 2024-05-23 21:35:28

如果有原始数据帧:

X,y

你做到了:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

那么代码是正确的。这意味着不要改变输出中的任何内容。你能做什么,运行另一个列车/测试,看看结果是如何变化的。 你只是有一个坏的分类器,但不要手动调整它,那是胡说八道

相关问题 更多 >