机器学习---混淆矩阵

什么是混淆矩阵?
· 混淆矩阵是一个误差矩阵,通常我们可以通过混淆矩阵来评定监督学习算法的性能。在监督学习中混淆矩阵为方阵,方阵的大小通常为一个(真实值,预测值)或者(预测值,真实值),所以通过混淆矩阵我们更清晰的看出,预测集与真实集中混合的一部分。
混淆矩阵可以通过scikit-learn和TensorFlow来实现
在这里插入图片描述
混淆矩阵可以清晰的反映出真实值与预测值相互吻合的部分,也可以反映出与预测值不吻合的部分,如下图所示。

在这里插入图片描述
实现预测值与真实值在相同特征下的比较,如果同时成立则放入相对应的矩阵位置,如果不成立则放入不相匹配的矩阵位置,
将真实值与预测值相互匹配与不匹配项放入矩阵中,我们成为这个矩阵为混淆矩阵。
混淆矩阵能否处理多分类问题
由上面可以得知混淆矩阵可以为一些二分类有监督学习算法进行性能评估,那我们会思考,混淆矩阵能否为多分类实现可视化评估呢?答案是肯定的,如下图
在这里插入图片描述
当然通过多分类,我们再次得到如上图的矩阵进行对比,再次我们将上图矩阵再次可以转换为一个二分类的混淆矩阵供我们进行性能分析,如下图所示
在这里插入图片描述
从中我们可以得出分析指标:
1.准确率:分类正确的所有结果占总预测与真实总和的比重
2.精确率:模型预测到结论的特征与预测总之的比重
3.召回率:真实值中预测正确的特征占预测总数的比例
4.特异度:异常值占预测对的总数
通过上面四个指标可以将矩阵中值转化为0-1之间的值,从而方便进行标准化衡量
5.F1指标:符合预测的特征=p 召回率=b 则F1为 2pb/p+b F1指标范围在0-1之间,F1指标越大模型越优秀,F1指标越小模型越差。

你可能感兴趣的:(python,算法,人工智能)