spark機器學習庫評估指標總結

2021-08-07 18:04:38 字數 3485 閱讀 8835

rmse(均方根誤差)

mse(均方誤差)

r2(擬合優度檢驗)

mae(平均絕對誤差)

mllib庫√√

√√ml庫√√√

√1.1.1 regressionmetrics介紹

這個類位於org.apache.spark.mllib.evaluation包下

class regressionmetrics @since("1.2.0") (

predictionandobservations: rdd[(double, double)])

引數說明:

引數是乙個rdd型別的引數,第一列為**列 第二列為原始標籤列

1.1.2 評估指標獲取方法1.2.1 regressionevaluator介紹

這個類位於org.apache.spark.ml.evaluation包下面,通過設定下面的metricname包含以上四種指標的評估:

val metricname: param[string] =
1.2.2 評估指標獲取方法
def evaluate(dataset: dataset[_]): double
通過這個方法可以獲取評估結果,其中引數是包含兩列:一列是**列,一列是原始標籤列。

選擇哪個標準可以通過def getmetricname: string函式設定引數的值 ### 1.3 評估效果圖: !(img/lr.png) ## 2 分類評估指標 ### 2.1 二元分類

areaunderroc

roc(precision, recall) curve

areaunderpr

(threshold, recall) curve

(threshold, f-measure) curve

mllib庫√√

√√√√

ml庫√

√ #### 2.1.1 mllib庫 ##### 2.1.1.1 binaryclassificationmetrics介紹 這個類在org.apache.spark.mllib.evaluation包下面:

class binaryclassificationmetrics @since("1.3.0") (

@since("1.3.0") val scoreandlabels: rdd[(double, double)],

@since("1.3.0") val numbins: int)

引數介紹:

第乙個引數型別是rdd第一列為**列 第二列為原始標籤列;

第二個引數是大於0,那麼在求roc curve  和pr curve時使用降取樣方法到這麼多個numbins中去。
2.1.1.2 評估指標獲取方法

2.1.2 ml庫

2.1.2.1 binaryclassificationevaluator類介紹

org.apache.spark.ml.evaluation. binaryclassificationevaluator類:

val metricname: param[string] =
通過下面的方法可以設定評估指標的型別:

def setmetricname(value: string): this.type
2.1.2.2 評估指標獲取方法

通過這個方法override def evaluate(dataset: dataset[_]): double

引數為兩列: 第一列是**列 第二列是原始標籤列

weightedfmeasure加權後的f值

weightedprecision加權後的準確率,對於每乙個標籤的準確率加權

weightedrecall加權後的召回

accuracy正確分類的樣本/總樣本

mllib庫√√

√√ml庫√√√

√ 下面的幾個評估指標主要是針對每乙個標籤來說的,mllib庫中含有的:

confusionmatrix返回乙個混淆矩陣

positiverate(label: double)

precision(label: double)

recall(label: double)

fmeasure(label: double, beta: double)

falsepositiverate(label: double)

mllib庫√√

√√√√

2.2.1 mllib庫

2.2.1.1 multiclassmetrics介紹

這個類位於org.apache.spark.mllib.evaluation包下面

@since("1.1.0")

class multiclassmetrics @since("1.1.0") (predictionandlabels: rdd[(double, double)])

引數是乙個rdd型別,分為兩列 第一列是**列 第二列是原始標籤列

2.2.1.2 評估指標獲取方法

2.2.2 ml庫

2.2.2.1 multiclassclassificationevaluator介紹

這個類位於org.apache.spark.ml.evaluation包下面,包含以下四種評估指標:

* f1

* weightedprecision

* weightedrecall

* accuracy

val metricname: param[string] =
可以通過下面的函式去設定評估方法:

def setmetricname(value: string): this.type \
2.2.2.2 評估指標獲取方法
override def evaluate(dataset: dataset[_]): double
通過呼叫evaluate方法傳入dataset 包含兩列一列是**列 一列是原始標籤列

函式內會根據metricname去匹配呼叫相應的方法得到結果

the sum of squared distances

mllib庫

√ml庫

√org.apache.spark.ml.clustering包下面:

每個聚類方法的評估指標在該類對應的model裡面,例如 kmeans方法的評估指標是通過其model類kmeansmodel呼叫def computecost(data: rdd[vector]): double這個函式得到。

針對聚類ml庫同mllib庫,還沒有乙個聚類的評估類,只能在自己的model類了嗎呼叫相關方法計算。

根據每個點到其最近聚類中心的距離可以作圖如下:

橫座標是點到最近聚類中心距離的範圍,縱座標是某個範圍內對應的樣本個數

機器學習 評估指標

2.1 錯誤率與精度 m個樣本,有a個分錯。錯誤率 e a m 精度 acc 1 a m 2.2 查準率 查全率和f1 tp 真正例 tn 真反例 fp 假正例 fn 假反例 查準率 p tptp fp 查全率 r tptp fn f1是查準率和查全率的調和平均數 1f 1 12 1p 1r 即 f...

機器學習 模型評估指標

from sklearn.metrics import accuracy score print 準確率 accuracy score y true,y pred,normalize true print 正確分類的數量 accuracy score y true,y pred,normalize ...

機器學習 回歸評估指標

1.2 均方誤差 mse 1.3 判定係數 r 2 參考資料 機器學習 目錄 機器學習 分類評估指標 mae mean absolute error 平均絕對誤差,從圖形上看,mae 就相當於將資料點與擬合之間之間的距離絕對值之和。mae 缺點 絕對值函式是不可微分的,這不利於使用諸如梯度下降方法,...