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 缺點 絕對值函式是不可微分的,這不利於使用諸如梯度下降方法,...