主要内容

addMetrics

计算额外的分类性能指标

    描述

    rocmetrics计算假阳性率(FPR)、真阳性率(TPR)和由AdditionalMetrics名称-值参数。在创建一个rocmetrics对象时,可以使用addMetrics函数。

    例子

    UpdatedROCObj= addMetrics (rocObj指标)中指定的其他分类性能指标指标中存储的分类模型信息rocmetrics对象rocObj

    UpdatedROCObj包含的所有信息rocObj加上计算的附加性能指标addMetrics.函数附加附加的计算指标(指标的表中的新变量指标财产。

    如果你在创建时计算置信区间rocObj,addMetrics函数计算附加项的置信区间指标.的新变量指标属性包含一个三列矩阵,其中第一列对应度量值,第二列和第三列分别对应下界和上界。

    例子

    全部折叠

    为一个多类分类问题计算性能指标(FPR、TPR和预期成本)rocmetrics对象。计算额外的度量,阳性预测值(PPV)和阴性预测值(NPV),并将它们添加到对象中。

    加载fisheriris数据集。矩阵包含150种不同花朵的花朵尺寸。向量物种列出每种花的种类。物种包含三种不同的花名。

    负载fisheriris

    训练一个分类树,将观察结果分类为三个标签中的一个。使用10倍交叉验证交叉验证模型。

    rng (“默认”)%的再现性Mdl = fitctree(量、物种,Crossval =“上”);

    计算验证倍数观察的分类分数。

    [~,分数]= kfoldPredict (Mdl);大小(分数)
    ans =1×2150年3

    分数矩阵的大小150——- - - - - -3..的列顺序分数按照类的顺序Mdl.中存储的类顺序Mdl。ClassNames

    Mdl。ClassNames
    ans =3 x1细胞{'setosa'} {'versicolor'} {'virginica'}

    创建一个rocmetrics对象的真实标签物种分类分数在分数.的列顺序分数使用Mdl。ClassNames.默认情况下,rocmetrics计算FPR和TPR。指定AdditionalMetrics = " ExpectedCost "还要计算预期成本。

    rocObj = rocmetrics(物种,分数,Mdl。一会,...AdditionalMetrics =“ExpectedCost”);

    那张桌子在指标的属性rocObj包含所有三个类的性能度量值,根据类的顺序垂直连接。查找并显示表中第二个类的行。

    idx = strcmp (rocObj.Metrics.ClassName Mdl.ClassNames (2));rocObj.Metrics (idx:)
    ans =13×5表ClassName阈值FalsePositiveRate TruePositiveRate ExpectedCost ______________ _________ _________________ ________________ ____________ {'versicolor'} 1 0 0 0.074074 {'versicolor'} 0.95455 0.02 0.8 0.017778 {'versicolor'} 0.91304 0.03 0.9 0.011852 {'versicolor'} -0.2 0.04 0.9 0.013333 {'versicolor'} -0.33333 0.06 0.9 0.016296 {'versicolor'} -0.6 0.08 0.9 0.019259 {'versicolor'} -0.86957 0.12 0.92 0.023704 {'versicolor'} -0.91111 0.16 0.96 0.026667{'versicolor'} -0.95122 0.31 0.96 0.048889 {'versicolor'} -0.95238 0.38 0.98 0.057778 {'versicolor'} -0.95349 0.44 0.98 0.066667 {'versicolor'} -1 1 0.14815

    的表指标包含类名、阈值、假阳性率、真阳性率和预期成本(附加度量)的变量。

    在创建一个rocmetrics对象,您可以使用存储在对象中的分类模型信息计算附加指标。方法计算PPV和NPVaddMetrics函数。覆盖输入参数rocObj的输出addMetrics的输入。

    rocObj = addMetrics (rocObj, (“PositivePredictiveValue”“NegativePredictiveValue”]);

    显示指标财产。

    rocObj.Metrics (idx:)
    ans =13×7表ClassName阈值FalsePositiveRate TruePositiveRate ExpectedCost PositivePredictiveValue NegativePredictiveValue  ______________ _________ _________________ ________________ ____________ _______________________ _______________________ {' 杂色的'}1 0 0 0.074074南0.66667{“癣”}1 0.01 0.7 0.023704 0.97222 0.86842{“癣”}0.95455 0.02 0.8 0.017778 0.95238 0.90741{“癣”}0.91304 0.03 0.9 0.011852 0.9375 0.95098{“癣”}-0.2 0.04 0.9 0.013333 0.91837 0.9505{'versicolor'} -0.33333 0.06 0.9 0.016296 0.88235 0.94949 {'versicolor'} -0.6 0.08 0.9 0.019259 0.84906 0.94845 {'versicolor'} -0.86957 0.12 0.92 0.023704 0.7931 0.95652 {'versicolor'} -0.91111 0.16 0.96 0.026667 0.75 0.97674 {'versicolor'} -0.95122 0.31 0.96 0.048889 0.60759 0.97183 {'versicolor'} -0.95238 0.38 0.98 0.057778 0.56322 0.98413 {'versicolor'} -0.95349 0.44 0.98 0.066667 0.52688 0.98246 {'versicolor'} -1 1 0.14815 0.33333 NaN

    的表指标现在包括PositivePredictiveValue而且NegativePredictiveValue最后两列的变量,按您指定的顺序。注意,阳性预测值(PPV = TP / (TP + FP))是对于拒绝全部阈值(最大阈值),负预测值(净现值= TN / (TN + FN))是对于accept-all阈值(最低阈值)。TP《外交政策》TN,FN分别表示真阳性、假阳性、真阴性和假阴性的数量。

    输入参数

    全部折叠

    对象评估分类性能,指定为rocmetrics对象。

    要计算的其他模型性能指标,指定为内置指标名称的字符向量或字符串标量、名称的字符串数组、函数句柄(@metricName),或名称或函数句柄的单元格数组。一个rocmetrics对象总是计算假阳性率(FPR)和真阳性率(TPR)来得到ROC曲线。因此,您不必指定计算FPR和TPR。

    • 内置度量—通过使用字符向量或字符串标量指定以下内置度量名称之一。可以使用字符串数组指定多个。

      的名字 描述
      “TruePositives”“tp” 真阳性数(TP)
      “FalseNegatives”“fn” 假阴性数(FN)
      “FalsePositives”“外交政策” 假阳性数(FP)
      “TrueNegatives”“tn” 真阴性数(TN)
      “SumOfTrueAndFalsePositives”“tp + fp” TP和FP的和
      “RateOfPositivePredictions”“齿” 正面预测率(RPP),(TP + FP) / (TP + FN + FP + TN)
      “RateOfNegativePredictions”“rnp” 负面预测率(RNP),(TN + FN) / (TP + FN + FP + TN)
      “准确性”“所以” 的准确性,(TP + TN) / (TP + FN + FP + TN)
      “FalseNegativeRate”“fnr”,或“小姐” 误报率(FNR)或漏报率,FN / (TP + FN)
      “TrueNegativeRate”“tnr”,或“规范” 真阴性率(TNR)或特异性,TN / (TN + FP)
      “PositivePredictiveValue”“ppv”,或”前的“ 正预测值(PPV),或精度,TP / (TP + FP)
      “NegativePredictiveValue”“净现值” 阴性预测值(NPV),TN / (TN + FN)
      “ExpectedCost”“ecost”

      预期成本,(TP *成本(P | P) + FN *成本(N | P) + FP *成本(P | N) + TN *成本(N | N)) / (TP + FN + FP + TN),在那里成本2 × 2的错误分类成本矩阵包含[0,成本(N | P);成本(P | N), 0]成本(N | P)是对正类进行错误分类的代价(P)作为否定类(N),成本(P | N)就是把消极类错误地分类为积极类的代价。

      该软件将K——- - - - - -K指定的矩阵成本名称-值参数rocmetrics到一个2 × 2矩阵来解决每一个一元对全二元问题。有关详细信息,请参见误分类代价矩阵

      该软件使用先验类概率(之前)和课程数目标签,然后根据这个缩放向量缩放性能指标。有关详细信息,请参见性能指标

    • 自定义度量—通过使用函数句柄指定自定义度量。返回性能指标的自定义函数必须具有以下形式:

      度量= customMetric (C、规模、成本)

      • 输出参数度规是标量值。

      • 自定义度量是混淆矩阵(C),尺度向量(规模)和成本矩阵(成本).该软件为每个一元对全二元问题找到这些输入值。有关详细信息,请参见性能指标

        • C是一个2——- - - - - -2混淆矩阵由(TP, FN; FP, TN)

        • 规模是一个2——- - - - - -1尺度向量。

        • 成本是一个2——- - - - - -2误分类代价矩阵。

      该软件不支持对自定义度量的交叉验证。相反,您可以指定在创建rocmetrics对象。

    注意,阳性预测值(PPV)为的拒绝全部阈值TP《外交政策》0,负预测值(NPV)为的接受所有阈值TNFN0.有关更多细节,请参见阈值、固定度量和固定度量值

    例子:(“准确性”,“PositivePredictiveValue”)

    例子:{“准确性”,@m1, @m2}指定精度指标和自定义指标m1而且平方米作为额外的指标。addMetrics将自定义度量值存储为命名的变量CustomMetric1而且CustomMetric2指标财产。

    数据类型:字符|字符串|细胞|function_handle

    输出参数

    全部折叠

    对象评估分类性能,返回为rocmetrics对象。

    覆盖输入参数rocObj的输出addMetricsrocObj

    rocObj = addMetrics (rocObj、指标);

    版本历史

    介绍了R2022a

    Baidu
    map