混淆矩阵与Matlab r语言 混淆矩阵

混淆矩阵与Matlab r语言 混淆矩阵
简介

分类矩阵是评估预测结果的重要工具,因为它使得结果更易于理解并说明错误预测的影响。通过查看此矩阵中每个单元的数量和百分比,可以快速查看模型做出准确预测的频率。

“分类矩阵”通过确定预测值是否与实际值匹配,将模型中的所有事例分为不同的类别。然后会对每个类别中的所有事例进行计数,并在矩阵中显示总计。 分类矩阵是评估统计模型的标准工具,有时被称为“混淆矩阵”。

混淆矩阵分析指标

matlab计算得到的混淆矩阵:

预测结果实际情况

低质

非低质

低质

非低质

为分析使用,转换得到的混淆矩阵:

低质

非低质

判断正确

[TP]

[TN]

判断错误

[FP]

[FN]

程序识别错误的总数:

N = TN + FP

程序识别正确的总数:

P = TP + FN

正确识别为“低质”的站点占识别错误总数的比例(值越大越好):

TP Rate = TP/N

未召回的“低质”站点占识别错误总数的比例:

FP Rate = FP/N

特征系数--误判为“低质”的站点占识别错误总数的比例:

Specificity = TN/N

召回率--正确识别为“低质”的站点占识别正确总数的比例:

Recall = TP/P

精密度--正确识别为“低质”的站点占“低质”站点总数的比例(值越大越好):

Precision = TP/(TP+FP)

准确率--模型判断为“低质”的站点占测试集总量的比例:

Accuracy = (TP+TN)/(P+N)

g-mean1 = (TP*P) 的开方 g-mean2 = (TP*TN) 的开方
MatLab计算混淆矩阵指标的函数

传入参数为单分类的 2 × 2 混淆矩阵,输出上一节所列举的各个指标的值。Matlab 函数:

function [] = confmatCal(confmat)
    TP = confmat(1,1);
    TN = confmat(1,2);
    FP = confmat(2,1);
    FN = confmat(2,2);
    N = TN + FP;
    P = TP + FN;
    fprintf('%s %dn','TP =', TP);
    fprintf('%s %dn','TN =', TN);
    fprintf('%s %dn','FP =', FP);
    fprintf('%s %dnn','FN =', FN);
    fprintf('%s %dn','N =', N);
    fprintf('%s %dnn','P =', P);
    
    fprintf('%s %dn','TP_Rate =', TP/N);
    fprintf('%s %dn','FP_Rate =', FP/N);
    fprintf('%s %dn','Specificity =', TN/N);
    fprintf('%s %dn','Recall =', TP/P);
    fprintf('%s %dn','Precision =', TP/(TP+FP) );
    fprintf('%s %dnn','Accuracy =', (TP+TN)/(P+N) );
    fprintf('%s %dn','g_mean1 =', sqrt(TP*P) );
    fprintf('%s %dn','g_mean2 =', sqrt(TP*TN) );
end
MatLab计算混淆矩阵

例子:

>> a= [1 1 1 2 2 2 3 3 33];

>> b= [1 1 2 2 2 2 3 1 33];

>> c =confusionmat(a,b)

c =

210

030

103

说明:

上面例子中,1、2、3代表三个分类,a矩阵是实际的分类值,b矩阵为模型计算所得的分类值。由通过confusionmat函数,计 算得到的混淆矩阵可见:

实际属于“1”分类的有3个(第一行的加和),其中模型计算正确的有2个(c[1,1]=2),另外1个模型误判为“2”分类(c[1,2]=1);

实际属于“2”分类的有3个(第二行的加和),3个全部计算正确(c[2,2]=3);

实际属于“3”分类的有4个(第三行的加和),其中模型计算正确的有3个(c[3,3]=3),另外1个模型误判为“1”分类(c[3,1]=1)。

  

爱华网本文地址 » http://www.413yy.cn/a/25101016/296516.html

更多阅读

不带R的月份不吃蚝 r语言 月份

好友W从岛上来温哥华过圣诞,也带来了亲自赶海收获的蚝。西方有句俗语说:“不带R的月份不吃蚝(Don't eat oystersunless there is an R in themonth)”,就是说,吃蚝的最佳月份是每年九月至来年四月(Sept

R语言模糊化图片(骰子作画的原理) r语言模糊匹配

看到阮一峰的一篇文章骰子作画的算法,http://www.ruanyifeng.com/blog/2011/11/dice_portrait.html很干兴趣,尝试用R实现了一下。原理:将原图按指定好的像素分块,每一个小块是一个矩阵,计算每一块矩阵某个色度的平均值。将每一个矩

七种必看的盘口语言 r语言七种武器 百度云

七种必看的盘口语言一、做收盘1、收盘前瞬间拉高——在全日收盘前半分钟(14:59)突然出现一笔大买单加几角甚至1元,几元把股价拉至很高位。[目的]:由于庄家(或主力,以下略)资金实力有限,节约资金而能使股价收盘收在较高位或突破具有

r语言:因子分析和聚类分析实例

r语言:因子分析和聚类分析实例-降维+样本聚类18 一月, 2013, oldlee11, R语言与数据挖掘, R语言同数据统计/分析, 因子分析, 聚类分析, , 0函数库?001002003004005006007008

声明:《混淆矩阵与Matlab r语言 混淆矩阵》为网友天上无星哦分享!如侵犯到您的合法权益请联系我们删除