怎么得到完全相反的预测结果? - sklearn 预测完全错误

Hoy to get exactly inverse prediction results? - sklearn predicts perfectly wrong

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

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]]

不直接对结果进行操作如何实现呢? 提前致谢。

如果您有原始数据框:

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)

那么代码是正确的。这意味着不要更改输出中的任何内容。您可以 运行 另一个 train/test-split 看看结果是如何改变的。 你只是有一个糟糕的分类器,但不要手动调整它,那是胡说八道。