多个二分类模型效果混淆矩阵展示

data_for_model_ok = data[data.tag==0]
data_for_model_ng = data[data.tag==1]

data_for_model_ng_train = data_for_model_ng[:40]
data_for_model_ng_test = data_for_model_ng[40:]

data_for_model_ok_train = data_for_model_ok[:3000]
data_for_model_ok_test = data_for_model_ok[3000:]

data_train = pd.concat([data_for_model_ng_train,data_for_model_ok_train], axis=0)
data_test = pd.concat([data_for_model_ng_test,data_for_model_ok_test], axis=0)

data_train_x = data_train.drop(columns='tag').drop(columns='b')
data_train_y = data_train['tag']

data_test_x = data_test.drop(columns='tag').drop(columns='b')
data_test_y = data_test['tag']

MLbox = [AdaBoostClassifier,BaggingClassifier,ExtraTreesClassifier,GradientBoostingClassifier,
        RandomForestClassifier,HistGradientBoostingClassifier]

for each in MLbox:
    MODEL = each()
    MODEL.fit(data_train_x,data_train_y)
    data_all['pre_tag'] = MODEL.predict(data_all[feature])
    print('_____________________')
    print(each)
    print(confusion_matrix(data_all['tag'],data_all['pre_tag']))
<class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>
[[5167   17]
 [  12   42]]
_____________________
<class 'sklearn.ensemble._bagging.BaggingClassifier'>
[[5169   15]
 [   5   49]]
_____________________
<class 'sklearn.ensemble._forest.ExtraTreesClassifier'>
[[5180    4]
 [   2   52]]
_____________________
<class 'sklearn.ensemble._gb.GradientBoostingClassifier'>
[[5171   13]
 [   3   51]]
_____________________
<class 'sklearn.ensemble._forest.RandomForestClassifier'>
[[5175    9]
 [   1   53]]
_____________________
<class 'sklearn.ensemble._hist_gradient_boosting.gradient_boosting.HistGradientBoostingClassifier'>
[[5181    3]
 [  13   41]]

In [ ]:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
绘制多分类模型混淆矩阵二分类类似,只是矩阵的大小会相应增加。以下是绘制多分类混淆矩阵的一般步骤: 1. 收集预测结果和真实标签的数据。 2. 创建一个空的混淆矩阵,大小为类别数 × 类别数,其中每个单元格表示不同类别之间的计数。 3. 对于每个样本,将其预测结果与真实标签进行比较,并在相应的矩阵位置上增加计数。 4. 绘制矩阵,可以使用图表库(如Matplotlib)来可视化混淆矩阵。 以下是一个示例代码,用于绘制三分类问题的混淆矩阵: ```python import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix # 随机生成预测结果和真实标签数据 y_true = np.random.randint(0, 3, size=100) y_pred = np.random.randint(0, 3, size=100) # 计算混淆矩阵 cm = confusion_matrix(y_true, y_pred) # 绘制混淆矩阵 plt.imshow(cm, cmap=plt.cm.Blues) plt.title('Confusion Matrix') plt.colorbar() plt.xlabel('Predicted Label') plt.ylabel('True Label') plt.xticks(np.arange(3), ['Class 0', 'Class 1', 'Class 2']) plt.yticks(np.arange(3), ['Class 0', 'Class 1', 'Class 2']) plt.show() ``` 这段代码使用了NumPy和Matplotlib库来生成随机的预测结果和真实标签数据,并使用scikit-learn库中的`confusion_matrix`函数计算混淆矩阵。最后,使用Matplotlib绘制混淆矩阵图像。 请注意,以上代码是一个简单的示例,可以根据实际需要对其进行修改和扩展。其中`np.arange(3)`和`['Class 0', 'Class 1', 'Class 2']`需要根据你的具体类别数量和类别名称进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值