TypeError: __init__() 采用 2 个位置参数,但在 ConfusionMatrixDisplay 中给出了 4 个

问题描述 投票:0回答:1

我创建了一个模型并得到了这样的错误:

之前我将 Confusin_matrix_plot 更改为 ConfusinMatrixDisplay 但是却得到了上面的错误。

machine-learning scikit-learn model forecasting naivebayes
1个回答
0
投票

您需要将

confusion_matrix
函数的输出作为
ConfusinMatrixDisplay
的输入传递。 例子-

import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
X, y = make_classification(random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    random_state=0)
clf = SVC(random_state=0)
clf.fit(X_train, y_train)

predictions = clf.predict(X_test)
cm = confusion_matrix(y_test, predictions, labels=clf.classes_)
disp = ConfusionMatrixDisplay(confusion_matrix=cm,
                              display_labels=clf.classes_)
disp.plot()

plt.show()

来源

© www.soinside.com 2019 - 2024. All rights reserved.