Python 交叉验证模型评估
生活随笔
收集整理的這篇文章主要介紹了
Python 交叉验证模型评估
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Python 交叉驗(yàn)證模型評估
1 聲明
本文的數(shù)據(jù)來自網(wǎng)絡(luò),部分代碼也有所參照,這里做了注釋和延伸,旨在技術(shù)交流,如有冒犯之處請聯(lián)系博主及時(shí)處理。
2 交叉驗(yàn)證模型評估簡介
交叉驗(yàn)證(Cross Validation)是機(jī)器學(xué)習(xí)里模型評估的常見方法,它用于檢查模型的泛化能力。計(jì)算過程是將數(shù)據(jù)分為n 組,每組數(shù)據(jù)都要作為一次驗(yàn)證集進(jìn)行一次驗(yàn)證,而其余的 n-1 組數(shù)據(jù)作為訓(xùn)練集。這樣一共要循環(huán) n 次,得到 n 個(gè)模型。通過對這些模型的誤差計(jì)算均值,得到交叉驗(yàn)證誤差。
3 交叉驗(yàn)證模型評估代碼示例
from numpy import nan from pandas import read_csv from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.model_selection import KFold from sklearn.model_selection import cross_val_score # 加載數(shù)據(jù)集 dataset = read_csv('../input/pima-indians-diabetes.csv', header=None) # 用0替換空值 dataset[[1,2,3,4,5]] = dataset[[1,2,3,4,5]].replace(0, nan) # 刪除缺失值 dataset.dropna(inplace=True) # 定義X和y values = dataset.values X = values[:,0:8] y = values[:,8] # 用LDA定義模型 model = LinearDiscriminantAnalysis() # 定義模型評估的方法(n_splits即訓(xùn)練集被分的份數(shù)) cv = KFold(n_splits=3, shuffle=True, random_state=1) # 評估模型(按照accuracy排序) result = cross_val_score(model, X, y, cv=cv, scoring='accuracy') # 打印模型表現(xiàn) print(result) print('Accuracy: %.3f' % result.mean())4 總結(jié)
無
總結(jié)
以上是生活随笔為你收集整理的Python 交叉验证模型评估的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浙冮安吉哪有菜种子买
- 下一篇: Python分类模型评估