gpt4 book ai didi

python - 从函数调用时显示混淆矩阵

转载 作者:行者123 更新时间:2023-11-30 09:04:43 25 4
gpt4 key购买 nike

我有一个从 scikit learn 导入随机森林分类器的函数,我用数据拟合它,最后我想显示准确性、kappa 和混淆矩阵。除了打印混淆矩阵之外的所有工作。我没有收到任何错误,但混淆矩阵没有打印。

我尝试调用 print(cm)它可以工作,但它不会以通常的 pandas 数据框样式打印,这正是我正在寻找的。

这是代码

def rf_clf(X, y, test_size = 0.3, random_state = 42):
"""This function splits the data into train and test and fits it in a random forest classifier
to the data provided, analysing its errors (Accuracy and Kappa). Also as this is classification,
the function will output a confusion matrix"""

#Split data in train and test, as well as predictors (X) and targets, (y)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state, stratify=y)

#import random forest classifier
base_model = RandomForestClassifier(random_state=random_state)

#Train the model
base_model.fit(X_train,y_train)

#make predictions on test set
y_pred=base_model.predict(X_test)

#Print Accuracy and Kappa
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
print("Kappa:",metrics.cohen_kappa_score(y_test, y_pred))

#create confusion matrix
labs = [y_test[i][0] for i in range(len(y_test))]
cm = pd.DataFrame(confusion_matrix(labs, y_pred))
cm #here is the issue. Kinda works with print(cm)

最佳答案

  1. 首先从 sklearn 导入指标。

    from sklearn import metrics
  2. 当您想要显示混淆矩阵时使用此选项。

    # Get and show confussion matrix
    cm = metrics.confusion_matrix(y_test, y_pred)
    print(cm)

有了这个,您应该查看原始文本中的混淆矩阵。

如果你想用颜色显示混淆矩阵,可以用其他方式来做:

  1. 导入

    from sklearn.metrics import confusion_matrix
    import pandas as pd
    import seaborn as sns; sns.set()
  2. 这样使用:

    cm = confusion_matrix(y_test, y_pred)
    cmat_df = pd.DataFrame(cm, index=class_names, columns=class_names)
    ax = sns.heatmap(cmat_df, square=True, annot=True, cbar=False)
    ax.set_xlabel('Predicción')
    ax.set_ylabel('Real')`
  3. 希望一切顺利!

关于python - 从函数调用时显示混淆矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com