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

2018-11-24  本文已影响0人  hello风一样的男子

matthewsCorrelation

public double matthewsCorrelation(int classIdx) 

image.gif

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

matthewsCorrelation

public double matthewsCorrelation(EvaluationAveraging averaging) 

image.gif

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

incrementTruePositives

public void incrementTruePositives(Integer classLabel) 

image.gif

真阳性:正确拒绝

addToConfusion

public void addToConfusion(Integer real, Integer guess) 

image.gif

添加到混淆矩阵

classCount

public int classCount(Integer clazz) 

image.gif

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

getTopNCorrectCount

public int getTopNCorrectCount() 

image.gif

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

getTopNTotalCount

public int getTopNTotalCount() 

image.gif

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

getConfusionMatrix()

public ConfusionMatrix<Integer> getConfusionMatrix()
image.gif

返回混淆矩阵变量

confusionToString

public String confusionToString() 

image.gif

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

getPredictionErrors()

 public List<Prediction> getPredictionErrors() 

image.gif

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

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

getPredictionsByActualClass(int actualClass)

public List<Prediction> getPredictionsByActualClass(int actualClass) 
image.gif

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

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


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

ROCBinary(int thresholdSteps, boolean rocRemoveRedundantPts)

public ROCBinary(int thresholdSteps, boolean rocRemoveRedundantPts)
image.gif

numLabels

public int numLabels() 

image.gif

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

getCountActualPositive

public long getCountActualPositive(int outputNum) 

image.gif

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

getCountActualNegative

public long getCountActualNegative(int outputNum) 

image.gif

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

getRocCurve

public RocCurve getRocCurve(int outputNum) 

image.gif

获取指定输出的ROC曲线

getPrecisionRecallCurve

public PrecisionRecallCurve getPrecisionRecallCurve(int outputNum) 

image.gif

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

calculateAverageAuc

public double calculateAverageAuc() 

image.gif

所有结果的宏观平均AUC

calculateAverageAUCPR

public double calculateAverageAUCPR()

image.gif

calculateAUC

public double calculateAUC(int outputNum) 

image.gif

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

在内部利用梯形积分

calculateAUCPR

public double calculateAUCPR(int outputNum) 

image.gif

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

在内部利用梯形积分

setLabelNames

public void setLabelNames(List<String> labels) 

image.gif

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


ConfusionMatrix

[源码]

创建一个空混淆矩阵

ConfusionMatrix

public ConfusionMatrix(ConfusionMatrix<T> 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 类来控制表的外观。例如


ROCMultiClass

[源码]

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

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

ROCMultiClass

public ROCMultiClass(int thresholdSteps) 

image.gif

ROCMultiClass(int thresholdSteps, boolean rocRemoveRedundantPts)

 public ROCMultiClass(int thresholdSteps, boolean rocRemoveRedundantPts) 
image.gif

eval

public void eval(INDArray labels, INDArray predictions) 

image.gif

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

getRocCurve

public RocCurve getRocCurve(int classIdx) 

image.gif

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

getPrecisionRecallCurve

public PrecisionRecallCurve getPrecisionRecallCurve(int classIdx) 

image.gif

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

calculateAUC

public double calculateAUC(int classIdx) 

image.gif

计算ROC曲线下的AUC面积

在内部利用梯形积分

calculateAUCPR

public double calculateAUCPR(int classIdx) 

image.gif

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

在内部利用梯形积分

calculateAverageAUC

public double calculateAverageAUC() 

image.gif

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

calculateAverageAUCPR

public double calculateAverageAUCPR() 

image.gif

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

getCountActualPositive

public long getCountActualPositive(int outputNum) 

image.gif

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

getCountActualNegative

public long getCountActualNegative(int outputNum) 

image.gif

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

merge

public void merge(ROCMultiClass other) 

image.gif

将此ROCMultiClass实例与另一个实例合并。这个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

ROC(int thresholdSteps, boolean rocRemoveRedundantPts)

 public ROC(int thresholdSteps, boolean rocRemoveRedundantPts)
image.gif

eval

public void eval(INDArray labels, INDArray predictions) 

image.gif

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

getPrecisionRecallCurve

public PrecisionRecallCurve getPrecisionRecallCurve() 

image.gif

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

getRocCurve

public RocCurve getRocCurve() 

image.gif

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

calculateAUC

public double calculateAUC() 

image.gif

计算AUROC-ROC曲线下的面积

在内部利用梯形积分

calculateAUCPR

public double calculateAUCPR() 

image.gif

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

merge

public void merge(ROC other) 

image.gif

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


IEvaluation

[源码]

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


EvaluationCalibration

[源码]

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

EvaluationCalibration

public EvaluationCalibration() 

image.gif

eval

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

image.gif

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

getReliabilityDiagram

public ReliabilityDiagram getReliabilityDiagram(int classIdx) 

image.gif

获取指定类的可靠性图

getResidualPlotAllClasses

public Histogram getResidualPlotAllClasses() 

image.gif

getResidualPlot

public Histogram getResidualPlot(int labelClassIdx) 

image.gif

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

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

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

getProbabilityHistogramAllClasses

public Histogram getProbabilityHistogramAllClasses() 

image.gif

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

getProbabilityHistogram

public Histogram getProbabilityHistogram(int labelClassIdx) 

image.gif

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


EvaluationUtils

[源码]

评估方法工具

precision

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

image.gif

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

recall

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

image.gif

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

falsePositiveRate

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

image.gif

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

falseNegativeRate

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

image.gif

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

fBeta

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

image.gif

从统计计算F-beta值

fBeta

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

image.gif

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

gMeasure

public static double gMeasure(double precision, double recall) 

image.gif

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

matthewsCorrelation

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

image.gif

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


EvaluationBinary

[源码]

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

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

EvaluationBinary

public EvaluationBinary(INDArray decisionThreshold) 

image.gif

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

eval

public void eval(INDArray labels, INDArray networkPredictions) 

image.gif

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

numLabels

public int numLabels() 

image.gif

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

setLabelNames

public void setLabelNames(List<String> 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 值

f1

public double f1(int outputNum) 

image.gif

获取指定输出的F1 得分

matthewsCorrelation

public double matthewsCorrelation(int outputNum) 

image.gif

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

gMeasure

public double gMeasure(int output) 

image.gif

计算指定输出的 G-measure

public double falsePositiveRate(int classLabel) 

image.gif

返回给定标签的假阳性率

falsePositiveRate

public double falsePositiveRate(int classLabel, double edgeCase) 

image.gif

返回给定标签的假阳性率

falseNegativeRate

public double falseNegativeRate(Integer classLabel) 

image.gif

返回给定标签的假阴性率

falseNegativeRate

public double falseNegativeRate(Integer classLabel, double edgeCase) 

image.gif

返回给定标签的假阴性率

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表示


RegressionEvaluation

[源码]

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

RegressionEvaluation

public RegressionEvaluation() 

image.gif

correlationR2

public double correlationR2(int column) 

image.gif

相关评分的遗留方法。

pearsonCorrelation

public double pearsonCorrelation(int column) 

image.gif

样本的皮尔森相关系数

rSquared

public double rSquared(int column) 

image.gif

决定系数 (R^2 Score)

averageMeanSquaredError

public double averageMeanSquaredError() 

image.gif

所有列的平均MSE

averageMeanAbsoluteError

public double averageMeanAbsoluteError() 

image.gif

所有列的平均MAE

averagerootMeanSquaredError

public double averagerootMeanSquaredError() 

image.gif

所有列的平均RMSE

averagerelativeSquaredError

public double averagerelativeSquaredError() 

image.gif

所有列的平均RSE

averagecorrelationR2

public double averagecorrelationR2() 

image.gif

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

averagePearsonCorrelation

public double averagePearsonCorrelation() 

image.gif

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

averageRSquared

public double averageRSquared() 

image.gif

所有列的平均R2


EvaluationAveraging

[源码]

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

翻译:风一样的男子

image

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

image
上一篇下一篇

猜你喜欢

热点阅读