用python求二元分类的混淆矩阵

  统计/机器学习 监督式学习 模型验证 Python    浏览次数:7412        分享
2

各位大佬好,请问怎么用python求二元分类的混淆矩阵?

谢谢!


 

桐桐酱   2017-12-16 14:15



   2个回答 
5

sklearn里可以直接计算混淆矩阵sklearn.metrics.confusion_matrix 

from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred)

也可以通过confusion_matrix函数直接得到TN, FP, FN, TP

tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()


SofaSofa数据科学社区DS面试题库 DS面经

飞翔钉子   2017-12-18 23:24

谢谢! - 桐桐酱   2017-12-20 09:52
2

confusion matrix本质上就是列联表,pandas里的crosstab可以得到列联表。参考下面的代码

>> results = pd.DataFrame()
>> results['True'] = [1, 1, 1, 1, 1, 0, 0, 0]
>> results['Pred'] = [1, 1, 0, 0, 1, 1, 0, 0]

# 用pd.crosstab可以得到confusion matrix
>> pd.crosstab(results['True'], results['Pred'])

Pred	0	1
True		
0	2	1
1	2	3


SofaSofa数据科学社区DS面试题库 DS面经

TheTheThe   2017-12-18 13:11

谢谢! - 桐桐酱   2017-12-20 09:52


  相关讨论

多元分类的混淆矩阵

什么是混淆矩阵(confusion matrix)

怎么用R得到混淆矩阵?

sklearn有没有生成混淆矩阵的函数?

corss_val_score的scoring='accuracy'可以执行,使用其它参数报错

机器学习中lift的概念是什么?怎么用来评价模型?

k近邻算法(k-NN)怎么选k

机器学习里的ppv是什么意思?

logistic回归有哪些指标可以评价模型效果?

分类中的F1精度、F2精度、F3精度是什么意思?

  随便看看

VGG16和VGG19的区别?

numpy.full这个函数有什么用?

cvr和ctr的区别是什么?

人工神经网络有哪些常用的激活函数?

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容