人工智能博士一篇文章讓你詳解分類、回歸評(píng)價(jià)指標(biāo),機(jī)器學(xué)習(xí)必看
在本文中,我們將討論機(jī)器學(xué)習(xí)中回歸和分類的各種指標(biāo)。我們總是想到建模一個(gè)好的機(jī)器學(xué)習(xí)算法所涉及的步驟。第一步是評(píng)估模型優(yōu)劣的指標(biāo)。當(dāng)我們擬合模型并做出預(yù)測(cè)時(shí),我們總是嘗試了解誤差和準(zhǔn)確性。本文將嘗試提供并解釋回歸和分類中的各種錯(cuò)誤度量方法。
有一些標(biāo)準(zhǔn)可以評(píng)估模型的預(yù)測(cè)質(zhì)量,如下所示:
- 度量函數(shù):我們將在本文中進(jìn)行研究。
- 估計(jì)器評(píng)分方法:此方法具有評(píng)估解決問題的評(píng)分方法。
- 評(píng)分參數(shù):該評(píng)分參數(shù)告訴估算人員選擇度量與模型的評(píng)估grid_search.GridSearchCV和cross_validation.cross_val_score
基本定義
估計(jì)器:它是一個(gè)函數(shù)或方程式,用于預(yù)測(cè)實(shí)際數(shù)據(jù)點(diǎn)上的更準(zhǔn)確的建模點(diǎn)。
要知道的技巧
評(píng)估方法中有兩點(diǎn)需要注意,如下所示:
- 首先,某些方法以score單詞結(jié)尾,這意味著價(jià)值來自于此,它決定了基本事實(shí)。在這種情況下,如果數(shù)字較高,則更好。
- 第二個(gè),如果單詞以error或結(jié)尾loss。在這種情況下,數(shù)量越少越好。
回歸指標(biāo)
評(píng)估回歸性能的指標(biāo)如下:
- 解釋方差得分:此指標(biāo)評(píng)估數(shù)據(jù)點(diǎn)的變化或離散度。
- 該指標(biāo)的公式如下所示:
python中的示例:
- #從sklearn導(dǎo)入差異分?jǐn)?shù)
- from sklearn.metrics import explained_variance_score
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- explained_variance_score(true_values, predicted_values)
- #output:
- 0.8525190839694656
2.最大誤差:此度量標(biāo)準(zhǔn)將計(jì)算真實(shí)值和預(yù)測(cè)值之間的最差值。
- 最大誤差的公式如下所示:
python中的示例
- from sklearn.metrics import max_error
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 8]
- max_error(true_values, predicted_values)
- #output:
- 2
3.平均絕對(duì)誤差:此度量標(biāo)準(zhǔn)計(jì)算真實(shí)值和預(yù)測(cè)值之差的平均誤差。該度量對(duì)應(yīng)于l1-范數(shù)損失。
- 該指標(biāo)的公式如下所示:
python中的示例
- from sklearn.metrics import mean_absolute_error
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- mean_absolute_error(true_values, predicted_values)
- #output:
- 0.475
3.均方誤差:此度量標(biāo)準(zhǔn)計(jì)算二次誤差或損失。
- 公式如下所示:
python中的示例
- from sklearn.metrics import mean_squared_error
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- mean_squared_error(true_values, predicted_values)
- #output:
- 0.3525
4. R平方得分:此度量標(biāo)準(zhǔn)從均值或估計(jì)量(如擬合的回歸線)計(jì)算數(shù)據(jù)的分布。通常稱為“確定系數(shù)”。
- 該指標(biāo)的公式如下:
python中的示例
- from sklearn.metrics import r2_score
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- r2_score(true_values, predicted_values)
- #output:
- 0.8277862595419847
分類指標(biāo)
評(píng)估分類效果的指標(biāo)如下:
- 準(zhǔn)確性得分:此度量標(biāo)準(zhǔn)計(jì)算真實(shí)值的準(zhǔn)確性等于預(yù)測(cè)值,然后返回分?jǐn)?shù)的分?jǐn)?shù),否則,如果歸一化參數(shù)為FALSE,則它將返回真實(shí)預(yù)測(cè)值的總數(shù)。
公式如下:
python中的示例
- from sklearn.metrics import accuracy_score
- true_values = [5, 2, 3, 6]
- predicted_values = [4, 3, 3, 6]
- accuracy_score(true_values, predicted_values)
2.分類報(bào)告:此度量標(biāo)準(zhǔn)計(jì)算的報(bào)告包含分類問題的精度,召回率和F1得分。
Python范例
- from sklearn.metrics import classification_report
- true_values = [3, 4, 3, 6]
- predicted_values = [4, 3, 3, 6]
- target_names = ['Apple', 'Orange', 'Kiwi']
- print(classification_report(true_values, predicted_values, target_names=target_names))
3.鉸鏈損耗:此損耗計(jì)算數(shù)據(jù)點(diǎn)和模型預(yù)測(cè)點(diǎn)之間的平均距離。SVM算法中也使用它來獲得最大邊際。
- 公式如下所示:
python中的示例
- from sklearn import svm
- from sklearn.metrics import hinge_loss
- from sklearn.svm import LinearSVC
- #data set in x and y values
- x_values = [[3], [2]]
- y_values = [-1, 1]
- #using linear SVC model
- svm_linear = svm.LinearSVC(random_state=0)
- #fitting the model
- svm_linear.fit(x_values, y_values)
- LinearSVC(random_state=0)
- #making decision prediction
- pred_decision = svm_linear.decision_function([[-2], [3], [0.5]])
- hinge_loss([-1, 1, 1], pred_decision)
- #output:
- 1.333372678152829
結(jié)論:
這些都是從回歸和分類中評(píng)估模型性能的一些指標(biāo)。分類中有基于回歸,二元類和多類指標(biāo)的各種指標(biāo)。