DL4J中文文档/调优与训练/评估-2

matthewsCorrelation

public double matthewsCorrelation(int classIdx) 

image.gif

为指定的类计算二进制马修斯相关系数。
MCC = (TPTN - FPFN) / sqrt((TP+FP)(TP+FN)(TN+FP)(TN+FN))

  • 参数 classIdx 计算马休斯相关系数的类指标

matthewsCorrelation

public double matthewsCorrelation(EvaluationAveraging averaging) 

image.gif

计算平均二进制马修斯相关系数,使用宏观或微观平均。
MCC = (TPTN - FPFN) / sqrt((TP+FP)(TP+FN)(TN+FP)(TN+FN))
注:这与多类马休斯相关系数不相同。

  • 参数 averaging 平均方法
  • 返回平均系数

incrementTruePositives

public void incrementTruePositives(Integer classLabel) 

image.gif

真阳性:正确拒绝

  • 到目前为止返回全部真阳性

addToConfusion

public void addToConfusion(Integer real, Integer guess) 

image.gif

添加到混淆矩阵

  • 参数 real 实际猜测
  • 参数 guess 系统猜测

classCount

public int classCount(Integer clazz) 

image.gif

返回给定标签实际发生的次数。

  • 参数 clazz 标签
  • 返回标签实际发生的次数

getTopNCorrectCount

public int getTopNCorrectCount() 

image.gif

根据前N个值返回正确预测的数目。对于前n=1(默认值),这相当于正确预测的数目。

  • 返回正确预测的前N数字

getTopNTotalCount

public int getTopNTotalCount() 

image.gif

返回前N个评估的总数。大多数情况下,这完全等于getNumRowCounter(),但是在使用eval(int, int)的情况下可能不同,因为在这种情况下无法计算前N个精度(即,需要完整的概率分布,而不仅仅是预测/实际索引)。

  • 返回前N个预测的总数

getConfusionMatrix()

public ConfusionMatrix getConfusionMatrix()
image.gif

返回混淆矩阵变量

  • 返回此评估的混淆矩阵变量

confusionToString

public String confusionToString() 

image.gif

获取混淆矩阵的字符串表示形式。

getPredictionErrors()

 public List getPredictionErrors() 

image.gif

根据每个记录获取预测误差列表

注意:预测错误只能在“元数据评估”方法:eval(INDArray, INDArray, List)使用之后才能使用。否则(如果元数据没有通过前面提到的eval方法记录),则将每个预测输出分割成单独的Prediction对象是没有价值的,使用混淆矩阵获得计数,通过getConfusionMatrix()方法来替代。

  • 返回预测错误列表,或者如果没有记录元数据,则为null。

getPredictionsByActualClass(int actualClass)

public List getPredictionsByActualClass(int actualClass) 
image.gif

获取具有指定实际类的所有数据的预测列表,而不管预测类是什么。

注意:预测错误只能在“元数据评估”方法:eval(INDArray, INDArray, List)使用之后才能使用。否则(如果元数据没有通过前面提到的eval方法记录),则将每个预测输出分割成单独的Prediction对象是没有价值的,使用混淆矩阵获得计数,通过getConfusionMatrix()方法来替代。

  • 返回预测错误列表,或者如果没有记录元数据,则为null。
  • 参数 actualClass 用于预测的实际类

ROCBinary

[源码]

ROC (Receiver Operating Characteristic) 用于多任务二分类分类器

根据{@link ROC},ROCBinary支持exact(thersholdSteps==0)和阈值化;有关详细信息,请参见{@link ROC}。

与{@link ROC}不同(它支持单个二分类标签(作为单列概率或2列“softmax”概率)分布),ROCBinary假设所有输出都是独立的二分类变量。这也不同于{@link ROCMultiClass},它应该用于多类(单个非二分类)情况。ROCBinary支持每个示例和每个输出掩码:对于每个输出掩码,可能缺少任何特定的输出(掩码值0),因此不包括在计算的ROC中。

ROCBinary

public ROCBinary(int thresholdSteps) 

image.gif
  • 参数 thresholdSteps 用于ROC计算的阈值步骤数。设置为0用于精确的ROC计算

ROCBinary(int thresholdSteps, boolean rocRemoveRedundantPts)

public ROCBinary(int thresholdSteps, boolean rocRemoveRedundantPts)
image.gif
  • 参数 thresholdSteps 用于ROC计算的阈值步骤数。设置为0用于精确的ROC计算
  • 参数 rocRemoveRedundantPts 通常设置为true。如果为true,则从ROC和P R曲线中删除任何冗余点。

numLabels

public int numLabels() 

image.gif

如果已知,返回标签的数目(即,预测/标签数组的大小)。否则返回1

getCountActualPositive

public long getCountActualPositive(int outputNum) 

image.gif

获取指定输出/列的实际阳性统计(考虑任何掩码)

  • 参数 outputNum 输出索引 (0 到 {- link #numLabels()}-1)

getCountActualNegative

public long getCountActualNegative(int outputNum) 

image.gif

获取指定输出/列的实际阴性统计(考虑任何掩码)

  • 参数 outputNum 输出索引 (0 到 {- link #numLabels()}-1)

getRocCurve

public RocCurve getRocCurve(int outputNum) 

image.gif

获取指定输出的ROC曲线

  • 参数 outputNum 获取ROC曲线的输出数
  • 返回 ROC 曲线

getPrecisionRecallCurve

public PrecisionRecallCurve getPrecisionRecallCurve(int outputNum) 

image.gif

获取指定输出的精度召回曲线

  • 参数 outputNum 获得R—R曲线的输出数
  • 返回精确召回曲线

calculateAverageAuc

public double calculateAverageAuc() 

image.gif

所有结果的宏观平均AUC

  • 返回所有结果的(宏观)平均AUC。

calculateAverageAUCPR

public double calculateAverageAUCPR()

image.gif
  • 返回(宏)平均AUPRC(精确召回曲线下的面积)

calculateAUC

public double calculateAUC(int outputNum) 

image.gif

计算(ROC)曲线下的AUC面积

在内部利用梯形积分

  • 参数 outputNum 输出数计算AUC
  • 返回 AUC

calculateAUCPR

public double calculateAUCPR(int outputNum) 

image.gif

精度召回曲线下的AUCPR面积计算

在内部利用梯形积分

  • 参数 outputNum 计算AUCPR的输出数据
  • 返回 AUCPR

setLabelNames

public void setLabelNames(List labels) 

image.gif

设置标签名称,用于通过stats()打印


ConfusionMatrix

[源码]

创建一个空混淆矩阵

ConfusionMatrix

public ConfusionMatrix(ConfusionMatrix other) 

image.gif

创建用另一个ConfusionMatrix的内容初始化的新ConfusionMatrix。

add(T actual, T predicted)

public synchronized void add(T actual, T predicted)

image.gif

增加实际指定的条目和一个预测条目。

toCSV

public String toCSV() 

image.gif

将ConfusionMatrix输出为逗号分隔的值,以便于导入电子表格

toHTML

public String toHTML() 

image.gif

在HTML表中输出混淆矩阵。级联样式表(CSS)可以通过定义empty-space, actual-count-header, predicted-class-header, and count-element 类来控制表的外观。例如

  • 返回 html 字符

ROCMultiClass

[源码]

ROC(受试者工作特征曲线)用于多类分类器。

ROC曲线是通过将预测看作一组对全部的分类器来生成的,然后计算每个分类器的ROC曲线。在实践中,这意味着对于N类,我们得到N 条 ROC曲线。

ROCMultiClass

public ROCMultiClass(int thresholdSteps) 

image.gif
  • 参数 thresholdSteps 计算的阈值步骤数。设置为0用于精确的ROC计算

ROCMultiClass(int thresholdSteps, boolean rocRemoveRedundantPts)

 public ROCMultiClass(int thresholdSteps, boolean rocRemoveRedundantPts) 
image.gif
  • 参数 thresholdSteps 用于ROC计算的阈值步骤数。如果设置为0:使用精确计算
  • 参数 rocRemoveRedundantPts 通常设置为true。如果为true,则从ROC和P R曲线中删除任何冗余点。

eval

public void eval(INDArray labels, INDArray predictions) 

image.gif

对给定的小批量数据进行评估(收集统计数据)。对于时间序列(3维),使用{-link#evalTimeSeries(INDArray,INDArray)}或{-link#evalTimeSeries(INDArray,INDArray,INDArray)}

  • 参数 labels 标签/真实结果
  • 参数 predictions 预测

getRocCurve

public RocCurve getRocCurve(int classIdx) 

image.gif

获取指定类的(一对全部)ROC曲线

  • 参数 classIdx 获取ROC曲线的类索引
  • 返回给定类的ROC曲线

getPrecisionRecallCurve

public PrecisionRecallCurve getPrecisionRecallCurve(int classIdx) 

image.gif

获取指定类的(一对多)精确召回曲线

  • 参数 classIdx 获取P-R曲线的类索引
  • 返回给定类的精确召回曲线

calculateAUC

public double calculateAUC(int classIdx) 

image.gif

计算ROC曲线下的AUC面积

在内部利用梯形积分

  • 返回 AUC

calculateAUCPR

public double calculateAUCPR(int classIdx) 

image.gif

计算精度召回曲线下的AUPRC面积

在内部利用梯形积分

  • 返回 AUC

calculateAverageAUC

public double calculateAverageAUC() 

image.gif

计算所有类的宏平均值(一对全部)AUC

calculateAverageAUCPR

public double calculateAverageAUCPR() 

image.gif

计算所有类的宏平均(1对全部)AUCPR(精确召回曲线下的区域)

getCountActualPositive

public long getCountActualPositive(int outputNum) 

image.gif

获取指定类的实际阳性统计(考虑任何掩码)

  • 参数 outputNum 类索引

getCountActualNegative

public long getCountActualNegative(int outputNum) 

image.gif

获取指定输出/列的实际阴性统计(考虑任何掩码)

  • 参数 outputNum 类索引

merge

public void merge(ROCMultiClass other) 

image.gif

将此ROCMultiClass实例与另一个实例合并。这个ROCMultiClass实例通过添加来自另一个实例的统计数据而被修改。

  • 参数 other 此结合的ROCMultiClass 实例

ROC

[源码]

ROC (受试者工作特征曲线)用于多类分类器。
ROC 有两种操作模式: (a) Thresholded (内存占用少)
(b) Exact (默认; 使用 numSteps == 0 来设置。可能不会扩展到非常大的数据集)

Thresholded(阈值化)是一种近似方法,(对于大型数据集)可能比exact(精确)模式使用更少的内存。尽管exact(精确)的实现将基于数据集自动计算阈值点,以给出“更平滑”和更精确的ROC曲线(或用于诊断目的的最佳切割点),阈值化使用大小为1.0的固定步骤/阈值步骤,因为这允许容易地实现批处理和分布式评估场景(其中完整数据集不能同时在任意一台机器上的内存中使用)。注意,在某些情况下(例如,非常歪斜的概率预测),阈值方法可能是不准确的,常常低估了真实区域。

假设数据是二分类-nColumns==1(单个二分类输出变量)或nColumns==2(在2个类上的概率分布,其中列1是“阳性”示例的值)

ROC

public ROC(int thresholdSteps) 

image.gif
  • 能数 thresholdSteps 用于ROC计算的阈值步骤数。如果设置为0:使用精确计算

ROC(int thresholdSteps, boolean rocRemoveRedundantPts)

 public ROC(int thresholdSteps, boolean rocRemoveRedundantPts)
image.gif
  • 参数 thresholdSteps 用于ROC计算的阈值步骤数。如果设置为0:使用精确计算
  • 参数 rocRemoveRedundantPts 通常设置为true。如果为true,则从ROC和P R曲线中删除任何冗余点。

eval

public void eval(INDArray labels, INDArray predictions) 

image.gif

对给定的小批量数据进行评估(收集统计数据)。对于时间序列(3维),使用{-link#evalTimeSeries(INDArray,INDArray)}或{-link#evalTimeSeries(INDArray,INDArray,INDArray)}

  • 参数 labels 标签/真实结果
  • 参数 predictions 预测

getPrecisionRecallCurve

public PrecisionRecallCurve getPrecisionRecallCurve() 

image.gif

以数组的形式获得精确召回曲线. return[0] = threshold array
return[1] = precision array
return[2] = recall array

  • return

getRocCurve

public RocCurve getRocCurve() 

image.gif

获取ROC曲线,作为一组(阈值,假阳性,真阳性)点。

  • 返回 ROC 曲线

calculateAUC

public double calculateAUC() 

image.gif

计算AUROC-ROC曲线下的面积

在内部利用梯形积分

  • 返回 AUC

calculateAUCPR

public double calculateAUCPR() 

image.gif

计算精度/召回曲线下的面积

  • return

merge

public void merge(ROC other) 

image.gif

将ROC实例与另一个实例合并。通过添加来自另一实例的STATS,修改此ROC实例。

  • param other ROC instance to combine with this one

IEvaluation

[源码]

用于评估神经网络的通用接口.方法由以下实现共享


EvaluationCalibration

[源码]

EvaluationCalibration是一个评估类,用于分析分类器的校准。它提供了许多用于此目的的工具:

  • 每个类别的标签数量和预测的统计

  • 可靠性图(或可靠性曲线)

  • 残差图(直方图)

  • 概率直方图,包括每个类的概率
    参考文献:

  • 可靠性图:参见例如Niculescu-Mizil和Caruana 2005,使用监督学习预测良好概率

  • 残差图:参见Wallace和Dahabreh 2012,类概率估计对于不平衡数据是不可靠的(以及如何修正它们)

EvaluationCalibration

public EvaluationCalibration() 

image.gif

eval

public void eval(INDArray labels, INDArray networkPredictions, INDArray maskArray) 

image.gif

使用默认数量的容器创建一个评估校准实例

  • 参数 reliabilityDiagNumBins 可靠性图表的容器数(通常为10)
  • 参数 histogramNumBins 直方图的容器数

getReliabilityDiagram

public ReliabilityDiagram getReliabilityDiagram(int classIdx) 

image.gif

获取指定类的可靠性图

  • 参数 classIdx 获得可靠性图的类的索引

getResidualPlotAllClasses

public Histogram getResidualPlotAllClasses() 

image.gif
  • 返回每个类的观察标签的数量。对于N个类,被返回数组的长度为N,out[i]是类i的标签数

getResidualPlot

public Histogram getResidualPlot(int labelClassIdx) 

image.gif

只为指定的类的例子获取残差图。残差图被定义为直方图。

|label_i-prob(class_i|input)|用于所有和示例;对于这个特定的方法,仅包括i==labelClassIdx的预测。

在一般情况下,相比大残差,小残差表示一个更优越的分类器。

  • 参数 labelClassIdx获取残差图的类的索引
  • 返回残差图(直方图)-所有预测/类

getProbabilityHistogramAllClasses

public Histogram getProbabilityHistogramAllClasses() 

image.gif

返回所有预测/类的概率直方图。

  • 返回概率直方图

getProbabilityHistogram

public Histogram getProbabilityHistogram(int labelClassIdx) 

image.gif

返回指定的标签类索引的概率直方图。也就是说,对于标签类索引i,返回P(class_i|input)的直方图,仅用于标记为类i的那些示例。

  • 参数 labelClassIdx 标签类的索引以获得直方图
  • 返回概率直方图

EvaluationUtils

[源码]

评估方法工具

precision

public static double precision(long tpCount, long fpCount, double edgeCase) 

image.gif

计算真阳性和假阳性统计的精确度

  • 参数 tpCount 真阳性统计
  • 参数 fpCount 假阳性统计
  • 参数 edgeCase 边缘案例值避免使用0/0
  • 返回 精确度

recall

public static double recall(long tpCount, long fnCount, double edgeCase) 

image.gif

计算真阳性和假阴性统计的召回率

  • 参数 tpCount 真阳性统计
  • 参数 fnCount 假阴性统计
  • 参数 edgeCase 边缘案例值避免使用0/0
  • 返回召回率

falsePositiveRate

public static double falsePositiveRate(long fpCount, long tnCount, double edgeCase) 

image.gif

根据假阳性统计和真阴性统计计算假阳性率

  • 参数 fpCount 假阳性统计
  • 参数 tnCount 真阴性统计
  • 参数 edgeCase 边缘案例值避免使用0/0
  • 返回假阳性率

falseNegativeRate

public static double falseNegativeRate(long fnCount, long tpCount, double edgeCase) 

image.gif

根据假阴性统计和真阳性统计计算假阴性率

  • 参数 fnCount 假阴性统计
  • 参数 tpCount 真阳性统计
  • 参数 edgeCase 边缘案例值避免使用0/0
  • 返回假阴性率

fBeta

public static double fBeta(double beta, long tp, long fp, long fn) 

image.gif

从统计计算F-beta值

  • 参数 beta 使用的Beta值
  • 参数 tp 真阳性统计
  • 参数 fp 假阳性统计
  • 参数 fn 假阴性统计
  • 返回F beta

fBeta

public static double fBeta(double beta, double precision, double recall) 

image.gif

从精确率与召回计算F-beta值

  • 参数 beta 使用的Beta值
  • 参数 precision 精确率
  • 参数 recall 召回率
  • 返回 F-beta 值

gMeasure

public static double gMeasure(double precision, double recall) 

image.gif

从精确率与召回计算 G-measure值

  • 参数 precision 精确率
  • 参数 recall 召回率
  • 返回 G-measure

matthewsCorrelation

public static double matthewsCorrelation(long tp, long fp, long fn, long tn) 

image.gif

从统计计算二分类马休斯相关系数

  • 参数 tp 真阳统计
  • 参数 fp 假阳统计
  • 参数 fn 假阴统计
  • 参数 tn 真阴统计
  • 返回马休斯相关系数

EvaluationBinary

[源码]

EvaluationBinary: 用于评估具有二分类输出的网络。对每个输出计算典型的分类度量,如准确度、精确度、召回率、F1评分等。

注意,EvaluationBinary支持每个示例和每个输出掩码。
默认情况下,EvaluationBinary使用0.5的决策阈值,但是可以对每个输出设置决策阈值

EvaluationBinary

public EvaluationBinary(INDArray decisionThreshold) 

image.gif

用可选的决策阈值数组创建EvaulationBinary实例。

  • 参数 decisionThreshold 每个输出的判定阈值,可以是空的。应该是长度等于输出数量的行向量,其值在0到1的范围内。0.5值的数组等效于默认值(没有手动指定的决策阈值)。

eval

public void eval(INDArray labels, INDArray networkPredictions) 

image.gif

当rocBinarySteps参数非空时,此构造器允许除了标准评估度量之外还计算ROC。详情请参阅 {- link ROCBinary}

  • 参数 size 输出数量
  • 参数 rocBinarySteps 用于 {- link ROCBinary#ROCBinary(int)}的构造器

numLabels

public int numLabels() 

image.gif

如果已知,返回标签的数目(即,预测/标签阵列的大小)。否则返回-1

setLabelNames

public void setLabelNames(List labels) 

image.gif

设置标签名称,用于通过{- link #stats()}打印

totalCount

public int totalCount(int outputNum) 

image.gif

获取指定列的值总数,考虑任何掩码

truePositives

public int truePositives(int outputNum) 

image.gif

获取指定输出的真阳统计

trueNegatives

public int trueNegatives(int outputNum) 

image.gif

获取指定输出的真阴统计

falsePositives

public int falsePositives(int outputNum) 

image.gif

获取指定输出的假阳统计

falseNegatives

public int falseNegatives(int outputNum) 

image.gif

获取指定输出的假阴统计

accuracy

public double accuracy(int outputNum) 

image.gif

获取指定输出的准确率

precision

public double precision(int outputNum) 

image.gif

获取指定输出的精度(tp / (tp + fp))

recall

public double recall(int outputNum) 

image.gif

获取指定输出的召回率(tp/(tp+fn))

fBeta

public double fBeta(double beta, int outputNum) 

image.gif

获取指定输出的 F-beta 值

  • 参数 beta 使用的beta值
  • 参数 outputNum 输出数
  • 返回指定输出的 F-beta

f1

public double f1(int outputNum) 

image.gif

获取指定输出的F1 得分

matthewsCorrelation

public double matthewsCorrelation(int outputNum) 

image.gif

计算指定输出的马休斯相关系数

  • 参数 outputNum 输出数字
  • 返回马休斯相关系数

gMeasure

public double gMeasure(int output) 

image.gif

计算指定输出的 G-measure

  • 参数 output 指定输出
  • 返回指定输出的 G-measure
public double falsePositiveRate(int classLabel) 

image.gif

返回给定标签的假阳性率

  • 参数 classLabel 标签
  • 返回double类型的假阳性率

falsePositiveRate

public double falsePositiveRate(int classLabel, double edgeCase) 

image.gif

返回给定标签的假阳性率

  • 参数 classLabel 标签
  • 参数edgeCase 0/0情况下的输出
  • 返回double类型的假阳性率

falseNegativeRate

public double falseNegativeRate(Integer classLabel) 

image.gif

返回给定标签的假阴性率

  • 参数 classLabel 标签
  • 返回double类型的假阴性率

falseNegativeRate

public double falseNegativeRate(Integer classLabel, double edgeCase) 

image.gif

返回给定标签的假阴性率

  • 参数 classLabel 标签
  • 参数edgeCase 0/0情况下的输出
  • 返回double类型的假阴性率

getROCBinary

public ROCBinary getROCBinary() 

image.gif

返回ROCBinary实例,如果存在

stats

public String stats() 

image.gif

使用默认精度获取EvaluationBinary类的String表示

stats

public String stats(int printPrecision) 

image.gif

使用默认精度获取EvaluationBinary类的String表示

  • 参数 printPrecision 精度(小数位数)用于准确率、F1等。

RegressionEvaluation

[源码]

评估回归算法的评估方法。
为每个列提供以下度量:

  • MSE: 均方误差

  • MAE: 平均绝对误差

  • RMSE: 均方根误差

  • RSE: 相对平方误差

  • PC: 皮尔森相关系数

  • R^2: 决定系数

    查看示例: http://www.saedsayad.com/model_evaluation_r.htm

RegressionEvaluation

public RegressionEvaluation() 

image.gif
  • 如果度量应该最小化,则返回True;如果度量应该最大化,则返回false。例如,MSE为0是最好的,但是R^ 2为1是最好的。

correlationR2

public double correlationR2(int column) 

image.gif

相关评分的遗留方法。

  • 参数 column要评估的列
  • 返回给定列的皮尔森相关系数
  • 查看{- link #pearsonCorrelation(int)}
  • 弃用,用{- link #pearsonCorrelation(int)} 替代。对于R2得分的使用 {- link #rSquared(int)}.

pearsonCorrelation

public double pearsonCorrelation(int column) 

image.gif

样本的皮尔森相关系数

  • 参数 column 要评估的列
  • 返回具有索引{代码列}的列皮尔森相关系数
  • 查看 Wikipedia

rSquared

public double rSquared(int column) 

image.gif

决定系数 (R^2 Score)

  • 参数 column 要评估的列
  • 返回具有索引{代码列}的列的R^ 2分数
  • 查看 Wikipedia

averageMeanSquaredError

public double averageMeanSquaredError() 

image.gif

所有列的平均MSE

  • return

averageMeanAbsoluteError

public double averageMeanAbsoluteError() 

image.gif

所有列的平均MAE

  • return

averagerootMeanSquaredError

public double averagerootMeanSquaredError() 

image.gif

所有列的平均RMSE

  • return

averagerelativeSquaredError

public double averagerelativeSquaredError() 

image.gif

所有列的平均RSE

  • return

averagecorrelationR2

public double averagecorrelationR2() 

image.gif

用于所有列的相关平均值的遗留方法。

  • 在所有列上平均的返回皮尔森相关
  • 查看 {- link #averagePearsonCorrelation()}
  • 弃用,用{- link #averagePearsonCorrelation()} 替代。对于R2得分的使用 {- link #averageRSquared()}.

averagePearsonCorrelation

public double averagePearsonCorrelation() 

image.gif

所有列的平均皮尔森相关系数

  • 所有列的平均皮尔森相关系数

averageRSquared

public double averageRSquared() 

image.gif

所有列的平均R2

  • 返回所有列的平均R2

EvaluationAveraging

[源码]

当应用于多类分类问题时,二分类评估度量的平均化方法。宏平均:每个类的权重相等
微平均:每个例子权重相等
一般来说,对于不平衡数据集来说,宏平均是首选的。

翻译:风一样的男子

image

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

image

你可能感兴趣的:(DL4J中文文档/调优与训练/评估-2)