DL4J中文文檔/調(diào)優(yōu)與訓(xùn)練/評估-1

為什么要評估?

當(dāng)訓(xùn)練或部署神經(jīng)網(wǎng)絡(luò)時(shí),了解模型的準(zhǔn)確性是有用的。在DL4J中,評估類和評估類的變體可用于評估模型的性能。

分類評估

評估類用于評估二分類和多類分類器(包括時(shí)間序列分類器)的性能。本節(jié)介紹了評估類的基本用法。

給定一個(gè)DataSetIterator形式的數(shù)據(jù)集,執(zhí)行評估的最簡單方法是使用MultiLayerNetwork和ComutationGraph上的內(nèi)置評估方法:

DataSetIterator myTestData = ...
Evaluation eval = model.evaluate(myTestData);

image.gif

然而,也可以對單個(gè)小批量進(jìn)行評估。這里是一個(gè)例子,從我們的示例項(xiàng)目中數(shù)據(jù)實(shí)例/CSV示例中獲得。

CSV的例子有3類花的CSV數(shù)據(jù),建立了一個(gè)簡單的前饋神經(jīng)網(wǎng)絡(luò)用于對基于4個(gè)測量值的花的分類。

Evaluation eval = new Evaluation(3);
INDArray output = model.output(testData.getFeatures());
eval.eval(testData.getLabels(), output);
log.info(eval.stats());

image.gif

第一行創(chuàng)建一個(gè)具有3個(gè)類的評估對象。第二行從模型中獲取我們測試數(shù)據(jù)集的標(biāo)簽。第三行使用eval方法將來自testdata的標(biāo)簽數(shù)組與從模型生成的標(biāo)簽進(jìn)行比較。第四行將評估數(shù)據(jù)記錄到控制臺。

輸出

Examples labeled as 0 classified by model as 0: 24 times
Examples labeled as 1 classified by model as 1: 11 times
Examples labeled as 1 classified by model as 2: 1 times
Examples labeled as 2 classified by model as 2: 17 times

==========================Scores========================================
 # of classes:    3
 Accuracy:        0.9811
 Precision:       0.9815
 Recall:          0.9722
 F1 Score:        0.9760
Precision, recall & F1: macro-averaged (equally weighted avg. of 3 classes)
========================================================================

image.gif

默認(rèn)情況下,.stats() 方法顯示混淆矩陣條目(每行一個(gè))、準(zhǔn)確度、精度、召回率和F1分?jǐn)?shù)。此外,評估類還可以計(jì)算并返回以下值:

  • 混淆矩陣
  • 假陽性/陰性率
  • 真陽性/陰性
  • 類別計(jì)數(shù)
  • F-beta, G-measure, Matthews 關(guān)系數(shù)及更多, 查看 Evaluation JavaDoc

顯示混淆矩陣。

System.out.println(eval.confusionToString());

image.gif

顯示

Predicted:         0      1      2
Actual:
0  0          |      16      0      0
1  1          |       0     19      0
2  2          |       0      0     18

image.gif

此外,可以直接訪問混淆矩陣,使用CSV或HTML轉(zhuǎn)換。

eval.getConfusionMatrix() ;
eval.getConfusionMatrix().toHTML();
eval.getConfusionMatrix().toCSV();

image.gif

回歸評估

為了評估執(zhí)行回歸的網(wǎng)絡(luò),使用回歸評估類。

帶著評估類,一個(gè)DataSetIterator上的回歸評估可以執(zhí)行如下:

DataSetIterator myTestData = ...
RegressionEvaluation eval = model.evaluateRegression(myTestData);

image.gif

這里有一個(gè)單列的代碼片段,在這種情況下,神經(jīng)網(wǎng)絡(luò)是根據(jù)測量值來預(yù)測自己的年齡。

RegressionEvaluation eval =  new RegressionEvaluation(1);

image.gif

打印評估的統(tǒng)計(jì)數(shù)據(jù)。

System.out.println(eval.stats());

image.gif

返回

Column    MSE            MAE            RMSE           RSE            R^2            
col_0     7.98925e+00    2.00648e+00    2.82653e+00    5.01481e-01    7.25783e-01    

image.gif

列是均方誤差、均方絕對誤差、均方根誤差、相對平方誤差和R^2決定系數(shù)。

查看 回歸評估JavaDoc

同時(shí)進(jìn)行多個(gè)評估

當(dāng)執(zhí)行多種類型的評估時(shí)(例如,在同一網(wǎng)絡(luò)和數(shù)據(jù)集上執(zhí)行評估和ROC),在數(shù)據(jù)集的一次傳遞中執(zhí)行以下操作更有效:

DataSetIterator testData = ...
Evaluation eval = new Evaluation();
ROC roc = new ROC();
model.doEvaluation(testdata, eval, roc);

image.gif

時(shí)間序列評估

時(shí)間序列評估與上述評估方法非常相似。DL4J中的評估對所有(非掩碼的)時(shí)間步分別執(zhí)行——例如,長度為10的時(shí)間序列將為評估對象貢獻(xiàn)10個(gè)預(yù)測/標(biāo)簽。與時(shí)間序列的一個(gè)不同之處在于掩碼數(shù)組是(可選的),這些掩碼數(shù)組用于將一些時(shí)間步標(biāo)記為丟失或不存在。請參閱使用RNNS掩碼以獲得更多關(guān)于掩碼的細(xì)節(jié)。

對于大多數(shù)用戶來說,僅僅使用 MultiLayerNetwork.evaluate(DataSetIterator)MultiLayerNetwork.evaluateRegression(DataSetIterator) 和類似的方法就足夠了。如果掩碼數(shù)組存在,這些方法將正確地處理掩碼。

二分類器評估

EvaluationBinary用于評估具有二分類輸出的網(wǎng)絡(luò)——這些網(wǎng)絡(luò)通常具有Sigmoid激活函數(shù)和XENT損失函數(shù)。為每個(gè)輸出計(jì)算典型的分類度量,例如準(zhǔn)確度、精度、召回率、F1得分等。

EvaluationBinary eval = new EvaluationBinary(int size)

image.gif

查看 EvaluationBinary JavaDoc

ROC

ROC(接收者操作特征)是另一種常用的評估分類器的評估指標(biāo)。DL4J中存在三個(gè)ROC變體:

  • ROC -用“一對全部”的方法評估非二分類器
  • ROCBinary - 用于單二分類標(biāo)簽(作為單列概率,或兩列的softmax概率分布)
  • ROCMultiClass - 用于多二分類標(biāo)簽

這些類具有通過calculateAUC()和calculateAUPRC()方法計(jì)算ROC曲線下面積(AUROC)和精確度-召回曲線下面積(AUPRC)的能力。此外,可以使用getRocCurve()getPrecisionRecallCurve()獲得ROC和精確度-召回曲線。

ROC和精確度-召回曲線可以導(dǎo)出到HTML以便查看,使用:“EvaluationTools.exportRocChartsToHtmlFile(ROC,File)”,該文件將導(dǎo)出具有ROC和精確度-召回曲線的HTML文件,可以在瀏覽器中查看。

注意,所有三種支持兩種操作/計(jì)算模式。

  • 閾值(近似AUROC/AUPRC計(jì)算,無內(nèi)存問題)
  • 精確(精確的AUROC/AUPRC計(jì)算,但是對于非常大的數(shù)據(jù)集(即具有數(shù)百萬個(gè)示例的數(shù)據(jù)集)可能需要大量的內(nèi)存

可以使用構(gòu)造函數(shù)設(shè)置容器的數(shù)量。可以使用默認(rèn)構(gòu)造函數(shù)new ROC()來精確設(shè)置,或者顯式地使用new ROC(0)。

參見ROCBinary JavaDoc用于評估二元分類器。

評估分類器校準(zhǔn)

DL4J還具有評估校準(zhǔn)類,它被設(shè)計(jì)用于分析分類器的校準(zhǔn)。它提供了許多的工具用于如下目的:

  • 每個(gè)類別的標(biāo)簽數(shù)量和預(yù)測的計(jì)數(shù)
  • 可靠性圖(或可靠性曲線)
  • 殘差圖(直方圖)
  • 概率直方圖,包括每個(gè)類的概率

使用評估校準(zhǔn)的分類器評估方式與其它評估類相似。可以使用EvaluationTools.exportevaluationCalibrationToHtmlFile(EvaluationCalibration, File)將各種繪圖/直方圖導(dǎo)出到HTML以便查看。

Spark網(wǎng)絡(luò)的分布式評估

SparkDl4jMultiLayer 和 SparkComputationGraph 都有相似的評估方法:

Evaluation eval = SparkDl4jMultiLayer.evaluate(JavaRDD<DataSet>);

//一次傳遞多次評估:
SparkDl4jMultiLayer.doEvaluation(JavaRDD<DataSet>, IEvaluation...);

image.gif

多任務(wù)網(wǎng)絡(luò)評估

多任務(wù)網(wǎng)絡(luò)是經(jīng)過訓(xùn)練以產(chǎn)生多個(gè)輸出的網(wǎng)絡(luò)。例如,可以對給定音頻樣本的網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以預(yù)測說話者的語言和說話人的性別。這里簡要描述了多任務(wù)配置。

適用于多任務(wù)網(wǎng)絡(luò)的評估類

查看 ROCMultiClass JavaDoc

查看 ROCBinary JavaDoc

可用的評估


Evaluation

[源碼]

評估指標(biāo):

  • 精度,召回率,F(xiàn)1,F(xiàn)Beta,準(zhǔn)確度,馬休斯相關(guān)系數(shù),gMeasure
    argmax / 0.5) 注意:在使用用于二分類度量(如F1、精確度、召回等)的評估類時(shí)應(yīng)小心。有許多案例需要考慮:
    1. 對于二分類(1或2個(gè)網(wǎng)絡(luò)輸出)

      c)在兩個(gè)類上使用宏平均度量進(jìn)行二分類(不常見且通常不可?。?,如上(b)所示,指定“null”作為參數(shù)(而不是0或1)

      將報(bào)告宏平均(一個(gè)對全部)二分類度量。請注意,可以指定微vs宏平均

      注意,設(shè)置自定義二進(jìn)制決策閾值僅對于二分類情況(1或2個(gè)輸出)是可能的,并且如果類的數(shù)量超過2,則不能使用它。概率>閾值的預(yù)測被認(rèn)為是類1,否則被認(rèn)為是類0。

      成本數(shù)組(行向量,大小等于輸出數(shù)量)修改評估過程:我們不是簡單地執(zhí)行predictedClass = argMax(probabilities),而是執(zhí)行predictedClass = argMax(cost probabilities)。因此,所有1s的數(shù)組(或者實(shí)際上任何相等值的數(shù)組)將導(dǎo)致與無成本數(shù)組相同的性能;非相等值將偏離對某些類的預(yù)測。

Evaluation

public Evaluation(int numClasses) 

image.gif

評估中要考慮的分類數(shù)

  • 參數(shù) numClasses 評估中要考慮的分類數(shù)

Evaluation

public Evaluation(int numClasses, Integer binaryPositiveClass)

image.gif

構(gòu)造函數(shù),用于指定類的數(shù)目,并且可選地用于二分類的正類。有關(guān)二分類情況下的評估的詳細(xì)信息,請參見評估JavaDoc

  • 參數(shù) numClasses 評估的分類數(shù)。必須是2,如果binaryPositiveClass是非空的
  • 參數(shù) binaryPositiveClass 如果非空,則為正類(0或1)。

eval

public void eval(INDArray trueLabels, INDArray input, ComputationGraph network) 

image.gif

對 使用給定的true標(biāo)簽的輸出、計(jì)算圖網(wǎng)絡(luò)輸入和用于評估的計(jì)算圖網(wǎng)絡(luò) 進(jìn)行評估

  • 參數(shù) trueLabels 使用的標(biāo)簽
  • 參數(shù) input 用于評估的網(wǎng)絡(luò)輸入
  • 參數(shù) network 用于輸出的網(wǎng)絡(luò)

eval

public void eval(INDArray trueLabels, INDArray input, MultiLayerNetwork network) 

image.gif

對 使用給定的true標(biāo)簽的輸出、多層網(wǎng)絡(luò)輸入和用于評估的多層網(wǎng)絡(luò) 進(jìn)行評估

  • 參數(shù) trueLabels 使用的標(biāo)簽
  • 參數(shù) input 用于評估的網(wǎng)絡(luò)輸入
  • 參數(shù) network 用于輸出的網(wǎng)絡(luò)

eval

public void eval(INDArray realOutcomes, INDArray guesses) 

image.gif

收集關(guān)于真實(shí)結(jié)果和猜測的統(tǒng)計(jì)數(shù)據(jù)。這是邏輯的結(jié)果矩陣。

請注意,如果傳遞的兩個(gè)矩陣中長度不相同,則會拋出IllegalArgumentException。

  • 參數(shù) realOutcomes 真實(shí)的結(jié)果(標(biāo)簽-通常是二分類的)
  • 參數(shù) guesses 猜測/預(yù)測 (通常是概率向量)

eval

public void eval(final INDArray realOutcomes, final INDArray guesses,
                    final List<? extends Serializable> recordMetaData) 

image.gif

用可選元數(shù)據(jù)評估網(wǎng)絡(luò)

  • 參數(shù) realOutcomes 數(shù)據(jù)標(biāo)簽
  • 參數(shù) guesses 網(wǎng)絡(luò)預(yù)測
  • 參數(shù) recordMetaData 可選的;可以是空的。如果不是NULL,則其大小應(yīng)該等于結(jié)果/猜測的數(shù)量。

eval

public void eval(int predictedIdx, int actualIdx) 

image.gif

評估單一預(yù)測(一次一個(gè)預(yù)測)

  • 參數(shù) predictedIdx 網(wǎng)絡(luò)預(yù)測類索引
  • 參數(shù) actualIdx 實(shí)際類索引

stats

public String stats() 

image.gif

以字符串形式報(bào)告統(tǒng)計(jì)信息

  • 返回分類統(tǒng)計(jì)信息

stats

public String stats(boolean suppressWarnings) 

image.gif

以字符串形式獲取分類報(bào)告的方法。

  • 參數(shù) suppressWarnings 是否輸出與評估結(jié)果相關(guān)的警告

  • 返回(多行)字符串的準(zhǔn)確性、精確性、召回、F1得分等

stats

public String stats(boolean suppressWarnings, boolean includeConfusion)

image.gif

以字符串形式獲取分類報(bào)告的方法。

  • 參數(shù) suppressWarnings 是否輸出與評估結(jié)果相關(guān)的警告
  • 參數(shù) includeConfusion 混淆矩陣是否應(yīng)包含在返回的統(tǒng)計(jì)數(shù)據(jù)中
  • 返回(多行)字符串的準(zhǔn)確性、精確性、召回、F1得分等

confusionMatrix

public String confusionMatrix()

image.gif

將混淆矩陣作為字符串獲取

  • 作為字符串返回混淆矩陣

precision

public double precision(Integer classLabel) 

image.gif

返回給定類標(biāo)簽的精度

  • 參數(shù) classLabel 標(biāo)簽
  • 返回標(biāo)簽的精度

precision

public double precision(Integer classLabel, double edgeCase) 

image.gif

返回給定類標(biāo)簽的精度

  • 參數(shù) classLabel 標(biāo)簽
  • 參數(shù) edgeCase 在0/0情況時(shí)的輸出
  • 返回標(biāo)簽的精度

precision

public double precision() 

image.gif

迄今為止,基于猜測的精確性。

注意:返回的值將根據(jù)類的數(shù)量和設(shè)置而不同。

  1. 對于二分類,如果設(shè)置了正類(通過默認(rèn)值為1、通過構(gòu)造函數(shù)或通過setBinaryPositiveClass(Integer),則返回的值將僅用于指定的正類。
  2. 對于多分類的情況,或者當(dāng)getBinaryPositiveClass()為NULL時(shí),返回的值是跨所有類的宏平均值。即,宏平均精度,相當(dāng)于precision(EvaluationAveraging.Macro)。
  • 基于猜測返回總精度

precision

public double precision(EvaluationAveraging averaging) 

image.gif

計(jì)算所有類的平均精度??梢灾付ㄊ菓?yīng)該使用宏平均還是微觀平均。注意:如果任何類具有tp=0和fp=0,(精度=0/0),則這些類被排除在平均值之外。

  • 參數(shù) averaging 平均法-宏或微
  • 返回平均精度

averagePrecisionNumClassesExcluded

public int averagePrecisionNumClassesExcluded() 

image.gif

在計(jì)算(宏)平均精度時(shí),由于沒有預(yù)測平均中排除了多少類——即,精度是0/0的邊緣情況。

  • 返回從平均精度排除的類數(shù)

averageRecallNumClassesExcluded

public int averageRecallNumClassesExcluded() 

image.gif

在計(jì)算(宏)平均召回時(shí),由于沒有預(yù)測平均中排除了多少類——即,召回是0/0的邊緣情況。

  • 返回從平均召回排除的類數(shù)

averageF1NumClassesExcluded

public int averageF1NumClassesExcluded() 

image.gif

在計(jì)算(宏)平均F1時(shí),由于沒有預(yù)測,從平均值中排除了多少類——即,F(xiàn)1將根據(jù)0/0的精度或召回率來計(jì)算。

  • 返回從平均F1排除的類數(shù)

averageFBetaNumClassesExcluded

public int averageFBetaNumClassesExcluded() 

image.gif

在計(jì)算(宏)平均FBeta時(shí),由于沒有預(yù)測,從平均值中排除了多少類——即,F(xiàn)Beta將根據(jù)0/0的精度或召回率來計(jì)算。

  • 返回從平均FBeta排除的類數(shù)

recall

public double recall(int classLabel) 

image.gif

返回給定標(biāo)簽的召回率

  • 參數(shù) classLabel 標(biāo)簽
  • 返回double類型的召回率

recall

public double recall(int classLabel, double edgeCase) 

image.gif

返回給定標(biāo)簽的召回率

  • 參數(shù) classLabel 標(biāo)簽
  • 參數(shù) edgeCase 在0/0的情況下的輸出
  • 返回double類型的召回率

recall

public double recall() 

image.gif

迄今為止基于猜測的召回

注意:返回的值將根據(jù)類的數(shù)量和設(shè)置而不同。

  1. 對于二分類,如果設(shè)置了正類(通過默認(rèn)值為1、通過構(gòu)造函數(shù)或通過setBinaryPositiveClass(Integer),則返回的值將僅用于指定的正類。
  2. 對于多分類的情況,或者當(dāng)getBinaryPositiveClass()為NULL時(shí),返回的值是跨所有類的宏平均值。即,宏平均召回,相當(dāng)于recall(EvaluationAveraging.Macro)。
  • 為結(jié)果返回召回

recall

public double recall(EvaluationAveraging averaging) 

image.gif

計(jì)算所有類的平均召回-可以指定是使用宏平均還是微觀平均。注意:如果任何類都具有TP=0和fn=0,(召回=0/0),這些都是從平均值中排除的。

  • 參數(shù) averaging 平均方法-宏或微
  • 返回平均召回率

falsePositiveRate

public double falsePositiveRate(int classLabel) 

image.gif

返回給定標(biāo)簽的假陽性率

  • 參數(shù) classLabel 標(biāo)簽
  • 返回double類型的假陽性率

falsePositiveRate

public double falsePositiveRate(int classLabel, double edgeCase) 

image.gif

返回給定標(biāo)簽的假陽性率

  • 參數(shù) classLabel 標(biāo)簽
  • 參數(shù) edgeCase 0/0時(shí)的輸出
  • 返回double類型的假陽性率

falsePositiveRate

public double falsePositiveRate() 

image.gif

迄今為止基于猜測的假陽性率 注意:返回的值將根據(jù)類的數(shù)量和設(shè)置而不同。

  1. 對于二分類,如果設(shè)置了正類(通過默認(rèn)值為1、通過構(gòu)造函數(shù)或通過setBinaryPositiveClass(Integer),則返回的值將僅用于指定的正類。
  2. 對于多分類的情況,或者當(dāng)getBinaryPositiveClass()為NULL時(shí),返回的值是跨所有類的宏平均值。即,宏平均假陽性率,相當(dāng)于falsePositiveRate(EvaluationAveraging.Macro)。
  • 返回輸出假陽性率

falsePositiveRate

public double falsePositiveRate(EvaluationAveraging averaging) 

image.gif

計(jì)算所有類別的平均假陽性率。可以指定是應(yīng)該使用宏平均還是微觀平均

  • 參數(shù) averaging 平均方法.宏觀或微觀
  • 返回平均假陽性率

falseNegativeRate

public double falseNegativeRate(Integer classLabel) 

image.gif

返回給定標(biāo)簽的假陰性率

  • 參數(shù) classLabel 標(biāo)簽
  • 返回double類型的假陰性率

falseNegativeRate

public double falseNegativeRate(Integer classLabel, double edgeCase) 

image.gif

返回給定標(biāo)簽的假陰性率

  • 參數(shù) classLabel 標(biāo)簽
  • 參數(shù) edgeCase 在0/0的情況下的輸出
  • 返回double類型的假陰性率

falseNegativeRate

public double falseNegativeRate() 

image.gif

迄今為止基于猜測的假陰性率 注意:返回的值將根據(jù)類的數(shù)量和設(shè)置而不同。

  1. 對于二分類,如果設(shè)置了正類(通過默認(rèn)值為1、通過構(gòu)造函數(shù)或通過setBinaryPositiveClass(Integer),則返回的值將僅用于指定的正類。
  2. 對于多分類的情況,或者當(dāng)getBinaryPositiveClass()為NULL時(shí),返回的值是跨所有類的宏平均值。即,宏平均假陰性率,相當(dāng)于falseNegativeRate(EvaluationAveraging.Macro)。
  • 返回輸出假陽性率

falseNegativeRate

public double falseNegativeRate(EvaluationAveraging averaging) 

image.gif

計(jì)算所有類別的平均假陰性率??梢灾付ㄊ菓?yīng)該使用宏平均還是微觀平均

  • 參數(shù) averaging 平均方法.宏觀或微觀
  • 返回平均假陰性率

falseAlarmRate

public double falseAlarmRate() 

image.gif

誤報(bào)率反映了對分類記錄的錯(cuò)誤分類率。http://ro.ecu.edu.au/cgi/viewcontent.cgi?article=1058&context=isw 注意:返回的值將根據(jù)類的數(shù)量和設(shè)置而不同。

  1. 對于二分類,如果設(shè)置了正類(通過默認(rèn)值為1、通過構(gòu)造函數(shù)或通過setBinaryPositiveClass(Integer),則返回的值將僅用于指定的正類。
  2. 對于多分類的情況,或者當(dāng)getBinaryPositiveClass()為NULL時(shí),返回的值是跨所有類的宏平均值。即,宏平均誤報(bào)率。
  • 返回輸出誤報(bào)率

f1

public double f1(int classLabel) 

image.gif

計(jì)算給定分類的F1分?jǐn)?shù)

  • 參數(shù) classLabel 計(jì)算F1的標(biāo)簽
  • 返回給定標(biāo)簽的F1分?jǐn)?shù)

fBeta

public double fBeta(double beta, int classLabel) 

image.gif

計(jì)算給定類的FBeta,其中FBeta定義為:

(1 +beta^ 2)(精確召回)/(beta^ 2精度+召回)。

F1是FBeta的一個(gè)特例,具有beta=1。

  • 參數(shù) beta 使用的Beta值
  • 參數(shù) classLabel 分類標(biāo)簽
  • 返回 FBeta

fBeta

public double fBeta(double beta, int classLabel, double defaultValue) 

image.gif

計(jì)算給定類的FBeta,其中FBeta定義為:

(1 +beta^ 2)(精確召回)/(beta^ 2精度+召回)。

F1是FBeta的一個(gè)特例,具有beta=1。

  • 參數(shù) beta 使用的Beta值
  • 參數(shù) classLabel 分類標(biāo)簽
  • 參數(shù) defaultValue 精度或召回未定義(精度或召回為0/0)時(shí)的缺省值
  • 返回 FBeta

f1

public double f1() 

image.gif

計(jì)算F1得分

F1得分定義為:

TP:真陽性

FP:假陽性

FN:假陰性

F1得分:2 TP/(2TP+FP+FN)

注意:返回的值將根據(jù)類的數(shù)量和設(shè)置而不同。

  1. 對于二分類,如果設(shè)置了正類(通過默認(rèn)值為1、通過構(gòu)造函數(shù)或通過setBinaryPositiveClass(Integer),則返回的值將僅用于指定的正類。
  2. 對于多分類的情況,或者當(dāng)getBinaryPositiveClass()為NULL時(shí),返回的值是跨所有類的宏平均值。即,宏平均 f1,相當(dāng)于 f1(EvaluationAveraging.Macro)。
  • 返回基于當(dāng)前猜測的f1分?jǐn)?shù)或精度與召回的調(diào)和平均

f1

public double f1(EvaluationAveraging averaging) 

image.gif

計(jì)算所有類別的F1得分??梢灾付ㄊ菓?yīng)該使用宏平均還是微觀平均

  • 參數(shù) averaging 平均方法.宏觀或微觀

fBeta

public double fBeta(double beta, EvaluationAveraging averaging) 

image.gif

計(jì)算所有類別的F_beta得分??梢灾付ㄊ菓?yīng)該使用宏平均還是微觀平均

  • 參數(shù) beta 使用的Beta值
  • 參數(shù) averaging 平均方法.宏觀或微觀

gMeasure

public double gMeasure(int output) 

image.gif

計(jì)算給定輸出的G-measure

  • 參數(shù) output 指定輸出
  • 返回指定輸出的G-measure

gMeasure

public double gMeasure(EvaluationAveraging averaging) 

image.gif

使用微或宏平均計(jì)算所有輸出的平均Gmeasure

  • 參數(shù) averaging 平均方法.宏觀或微觀
  • 返回平均G measure

accuracy

public double accuracy() 

image.gif

準(zhǔn)確率: (TP + TN) / (P + N)

  • 返回到目前為止猜測的準(zhǔn)確率

topNAccuracy

public double topNAccuracy() 

image.gif

迄今為止預(yù)測的第N高的準(zhǔn)確率。對于top n=1(默認(rèn)值),相當(dāng)于accuracy()

  • 返回 前N 準(zhǔn)確率

翻譯:風(fēng)一樣的男子

image

如果您覺得我的文章給了您幫助,請為我買一杯飲料吧!以下是我的支付寶,意思一下我將非常感激!

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容