機器學習入門(六)——評價分類結果
一.混淆矩陣
二.精準率和召回率
上圖說明只看準確率是遠遠不夠的。
測試資料:
from sklearn import datasets
from sklearn.model_selection import train_test_split
digits = datasets.load_digits()
X = digits.data
y = digits.target.copy()
y[digits.target==9] = 1
y[digits.target!=9] = 0
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666)
邏輯迴歸預測:
from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression()
log_reg.fit(X_train, y_train)
log_reg.score(X_test, y_test) #0.9755555555555555
y_predict = log_reg.predict(X_test)
三.Precision-Recall的平衡
左邊為0,右邊為1,五角星為1,圓圈為0
精準率增大時召回率降低
精準率高,則對特別有把握時才預測對,則以前本該算預測對的,變成不對,召回率就越低
召回率高,降低判斷, 10%的概率也說有病
自定義曲線:
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
digits = datasets.load_digits()
X = digits.data
y = digits.target.copy()
y[digits.target==9] = 1
y[digits.target!=9] = 0
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666)
from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression()
log_reg.fit(X_train, y_train)
decision_scores = log_reg.decision_function(X_test)
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
precisions = []
recalls = []
thresholds = np.arange(np.min(decision_scores), np.max(decision_scores), 0.1)
for threshold in thresholds:
y_predict = np.array(decision_scores >= threshold, dtype='int')
precisions.append(precision_score(y_test, y_predict))
recalls.append(recall_score(y_test, y_predict))
使用sklearn中的包:
from sklearn.metrics import precision_recall_curve
precisions,recalls,thresholds = precision_recall_curve(y_test,decision_scores)
橫軸是P,縱軸是R
PR曲線靠外或xy軸的面積大則對應的模型好
四.ROC曲線
五.多分類問題中的混淆矩陣
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
digits = datasets.load_digits()
X = digits.data
y = digits.target
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.8, random_state=666)
from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression()
log_reg.fit(X_train, y_train)
log_reg.score(X_test, y_test)
y_predict = log_reg.predict(X_test)
from sklearn.metrics import precision_score
precision_score(y_test, y_predict,average='micro')
相關文章
- 機器學習入門|聚類(二)機器學習聚類
- 不平衡資料的分類評價指標總結指標
- 如何評價我們分類模型的效能?模型
- 資料探勘(7):分類演算法評價演算法
- 多標籤分類的結果評估---macro-average和micro-average介紹Mac
- 19、如何使用機器學習結果機器學習
- 機器學習之使用sklearn構建據類模型,並且評價模型機器學習模型
- 入門系列之Scikit-learn在Python中構建機器學習分類器Python機器學習
- 機器學習入門機器學習
- 二分類問題常見的評價指標指標
- 快速入門開發實現訂單類圖片識別結果抽象解析抽象
- 作業6---總結、評價、評分、使用者調研
- 機器學習框架ML.NET學習筆記【2】入門之二元分類機器學習框架筆記
- golang快速入門(六)特有程式結構Golang
- Python入門(六):程式控制結構Python
- 機器學習總結(2)—分類中的代數模型機器學習模型
- SpringMVC入門學習---結果跳轉方式SpringMVC
- 老生常談:什麼樣的(機器學習)結果才有推廣(泛化)價值機器學習
- 輕鬆入門機器學習之概念總結(一)機器學習
- 機器學習1—入門機器學習
- MNIST機器學習入門機器學習
- Empatika:研究發現70%左右App Store評價內容與其相應的星級評價結果並不匹配APP
- 【機器學習】支援向量機分類機器學習
- 《MySQL 入門教程》第 11 篇 限制結果數量MySql
- 機器學習入門_從機器學習談起機器學習
- 達觀資料:怎樣評價推薦系統的結果質量?
- 香道入門 25種沉香的分類
- 詆譭PK 另類評判ERP專案實施結果(轉)
- 機器學習之小白入門機器學習
- 機器學習PAI快速入門機器學習AI
- 機器學習01-入門機器學習
- 機器學習入門規劃機器學習
- 機器學習入門準備機器學習
- 自學機器學習入門指南機器學習
- 首批入選!金融信創解決方案評選結果公佈
- 如何用機器學習對文字分類機器學習文字分類
- 如何選擇機器學習分類器?機器學習
- UML類圖10分鐘快速入門 - From 聖傑