1. 程式人生 > >python迴歸模型的評估與交叉驗證

python迴歸模型的評估與交叉驗證

1、評估模型

評估模型分為三類,MAE,MSE,R-square;

2、實現

2.1 Mae平均絕對誤差實現

# 建立資料集,其中矩陣X表示特徵值,向量y表示所屬類目標記值
import numpy as np
X=np.random.random((10,5))
y=np.random.randn(10,1)

# 資料切分為訓練集和測試集
from sklearn.cross_validation import train_test_split
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=0)

# 利用線性迴歸模型對資料進行擬合
from sklearn.linear_model import LinearRegression lr=LinearRegression(normalize=True) lr.fit(X_train,y_train) # 對測試集資料預測 y_pred = lr.predict(X_test) print(y_pred) print(y_test)

評估模型

from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, y_pred)

3、交叉驗證

交叉驗證,有的時候也稱作迴圈估計(Rotation Estimation),是一種統計學上將資料樣本切割成較小子集的實用方法,該理論是由Seymour Geisser提出的。

在給定的建模樣本中,拿出大部分樣本進行建模型,留小部分樣本用剛建立的模型進行預報,並求這小部分樣本的預報誤差,記錄它們的平方加和。這個過程一直進行,直到所有的樣本都被預報了一次而且僅被預報一次。把每個樣本的預報誤差平方加和,稱為PRESS(predicted Error Sum of Squares).

交叉驗證的基本思想是把在某種意義下將原始資料(dataset)進行分組,一部分做為訓練集(train set),另一部分做為驗證集(validation set or test set)。首先用訓練集對分類器進行訓練,再利用驗證集來測試訓練得到的模型(model),以此來做為評價分類器的效能指標。

無論分類還是迴歸模型,都可以利用交叉驗證,進行模型評估,示例程式碼:

from sklearn.cross_validation import cross_val_score
print(cross_val_score(knn, X_train, y_train, cv=4))
print(cross_cal_score(lr, X, y, cv=2))

相關推薦

python迴歸模型評估交叉驗證

1、評估模型 評估模型分為三類,MAE,MSE,R-square; 2、實現 2.1 Mae平均絕對誤差實現 # 建立資料集,其中矩陣X表示特徵值,向量y表示所屬類目標記值 import numpy as np X=np.random.rando

模型評估選擇】交叉驗證Cross-validation: evaluating estimator performance

Learning the parameters of a prediction function and testing it on the same data is a methodological mistake: a model that would ju

機器學習基礎:(Python)訓練集測試集分割交叉驗證

在上一篇關於Python中的線性迴歸的文章之後,我想再寫一篇關於訓練測試分割和交叉驗證的文章。在資料科學和資料分析領域中,這兩個概念經常被用作防止或最小化過度擬合的工具。我會解釋當使用統計模型時,通常將模型擬合在訓練集上,以便對未被訓練的資料進行預測。 在統計學和機器學習領域中,我們通常把資料分成兩個子集:

Python機器學習庫sklearn網格搜尋交叉驗證

網格搜尋一般是針對引數進行尋優,交叉驗證是為了驗證訓練模型擬合程度。sklearn中的相關API如下: (1)交叉驗證的首要工作:切分資料集train/validation/test A.)沒指定資料切分方式,直接選用cross_val_scor

機器學習 第二章:模型評估選擇-總結

但是 交叉 roc曲線 掃描 com ram hidden 技術分享 preview 1、數據集包含1000個樣本,其中500個正例,500個反例,將其劃分為包含70%樣本的訓練集和30%樣本的測試集用於留出法評估,試估算共有多少種劃分方式。 留出法將數據集劃分為兩個互斥的

【機器學習筆記】第二章:模型評估選擇

機器學習 ini ppi 第二章 err cap ner rate rac 2.1 經驗誤差與過擬合 1. error rate/accuracy 2. error: training error/empirical error, generalization error

機器學習(西瓜書)模型評估選擇

str 驗證 選擇 復雜 集合 數據集 枚舉 重新 模型 1、評估標準   1)經驗誤差 :訓練集上產生的誤差   2)泛化誤差:對新樣本進行預測產生的誤差   3)過擬合:經驗誤差很小甚至為零,泛化誤差很大(模型訓練的很復雜,幾乎涵蓋了訓練集中所有的樣本點)   4)欠擬

機器學習總結之第二章模型評估選擇

概率密度函數 列聯表 ext 5.1 ima 其中 bsp 泛化能力 分解 機器學習總結之第二章模型評估與選擇 2.1經驗誤差與過擬合 錯誤率 = a個樣本分類錯誤/m個樣本 精度 = 1 - 錯誤率 誤差:學習器實際預測輸出與樣本的真是輸出之間的差異。 訓練誤差:即

模型評估模型選擇

訓練 合並 曲線 問題 出現 技術 mil 評估 alt 一、訓練誤差與測試誤差 統計學習的目的就是利用已經學到的模型對已知數據和未知數據進行預測,因此在損失函數確定的情況下,基於損失函數的訓練誤差和測試誤差就成了我們對模型進行評價的一個標準。 註意:在統計學習中使用的損失

機器學習:驗證數據集交叉驗證

問題: 很好 oss 時有 相對 循環 val 超參數 mage # 問題:如果將所有的數據集都作為訓練數據集,則對於訓練出的模型是否發生了過擬合會不自知,因為過擬合情況下,模型在訓練數據集上的誤差非常的小,使人覺得模型效果很好,但實際上可能泛化能力不足; # 方案:將

模型評估選擇

訓練 style 分支 可能 決策 擬合 比例 適用於 自身 1、經驗誤差與過擬合   錯誤率為分類錯誤的樣本數占樣本總數的比例,相應的精度=1-錯誤率,模型的實際預測輸出與樣本的真實輸出之間的差異稱為“誤差”,模型在訓練集上的誤差稱為&ldquo

機器學習系列之偏差、方差交叉驗證

一、偏差與方差 在機器學習中,我們用訓練資料集去訓練(學習)一個model(模型),通常的做法是定義一個Loss function(誤差函式),通過將這個Loss(或者叫error)的最小化過程,來提高模型的效能(performance)。然而我們學習一個模型的目的是為了解決實際的問題(或者說是

tensorflow model server 迴歸模型儲存呼叫方法

安裝tensorfow model server: 安裝依賴包, sudo apt-get update && sudo apt-get install -y \ build-essential \ curl \ l

文字分類 - 樣本不平衡的解決思路交叉驗證CV的有效性

現實情況中,很多機器學習訓練集會遇到樣本不均衡的情況,應對的方案也有很多種。 筆者把看到的一些內容進行簡單羅列,此處還想分享的是交叉驗證對不平衡資料訓練極為重要。 文章目錄 1 樣本不平衡的解決思路 1.2 將不平衡樣本當作離群點

【機器學習123】模型評估選擇 (上)

  第2章 模型評估與選擇 2.1 經驗誤差與過擬合 先引出幾個基本概念: 誤差(error):學習器的實際預測輸出與樣本的真實輸出之間的差異。 訓練誤差(training error):學習器在訓練集上的誤差,也稱“經驗誤差”。 測試誤差(testing error):學習器在測試集上的

機器學習之模型評估引數調優

一、流水線工作流        在利用訓練資料對模型進行擬合時已經得到一些引數,使用流水線可以避免在將模型用於新資料時重新設定這些引數。利用sklearn中的Pipline類,使得我們可以擬合出包含任意多個處理步驟的模型,並將模型用於新資料的預測。 1. # Title

模型評估交叉驗證法

  K折交叉驗證(K-fold cross-validation): 將樣本分成K份,每份數量大致相等,然後用其他的某一份作為測試,其他樣本作為訓練集,得到一個模型和一組預測值及模型評估值;迴圈這個過程K次,得到K組模型評估值,對其取平均值即得到最終的評估結果   from skle

【轉】分類/迴歸模型評估—ROC,AUC,RMSE等指標/調參—Grid Search

看到此篇文章內容乾貨較多,轉載過來學習。 連結:https://www.52ml.net/20410.html 模型評估的方法         一般情況來說,F1評分或者R平方(R-Squared value)等數值評分可以告訴我們訓練的機器學習模型的好壞。也有

模型選擇之交叉驗證

在機器學習的模型訓練中,我們通常需要比較多個模型,從中選出一個最優的模型作為我們的最終模型。我們知道,超引數(hyper parameter)經常會作為模型的一個組成部分出現,比如說,在正則化後的logistic regression中,正則項和損失函式之間的引數t就是一

AI工程師成長之路--機器學習之模型評估選擇

開篇簡介:本文是博主結合前輩經驗和自身的認識寫的博文,有不少博主自身理解還不太透徹,因為考慮到文章的完整性,有些部分需要引用的前輩的一些方法,望諒解。由於文章專業化內容過多,會影響閱讀體驗,在這裡建議大家難以理解的部分先不要去深究,等待需要用到的時候再去深入研究一下。本博