我的模型正在预测完全错误的结果。对于两类分类问题,存在很多假阳性和假阴性。事实上,如果我能得到相反的结果,我会得到很好的结果。因此,我有一个简单的代码段,如下所示:
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]]
如何在不直接操作结果的情况下实现这一目标? 预先感谢。
答案 0 :(得分:1)
如果您有原始数据框:
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)
然后,该代码是正确的。这意味着不要更改输出中的任何内容。您可以这样做,再进行一次训练/测试拆分,看看结果如何变化。 您只是有一个错误的分类器,但不要手动对其进行调整,这就是废话。