對(duì)sklearn的使用之?dāng)?shù)據(jù)集的拆分與訓(xùn)練詳解(python3.6)
研修課上講了兩個(gè)例子,融合一下。
主要演示大致的過(guò)程:
導(dǎo)入->拆分->訓(xùn)練->模型報(bào)告
以及幾個(gè)重要問(wèn)題:
①標(biāo)簽二值化
②網(wǎng)格搜索法調(diào)參
③k折交叉驗(yàn)證
④增加噪聲特征(之前涉及)
from sklearn import datasets
#從cross_validation導(dǎo)入會(huì)出現(xiàn)warning,說(shuō)已棄用
from sklearn.model_selection import train-test_split
from sklearn.grid_search import GridSearchCV
from sklearn.metrics import classification_report
from sklearn.svm import SVC
import sklearn.exceptioins
#導(dǎo)入鳶尾花數(shù)據(jù)集
iris = datasets.load_iris()
#將數(shù)據(jù)集拆分為訓(xùn)練集和測(cè)試集各一半
#其中X為數(shù)據(jù)特征(花萼、花瓣的高度寬度),為150*4的矩陣
#Y為鳶尾花種類(0, 1, 2三種),為150*1矩陣
#如果使用標(biāo)簽二值化, 將0, 1, 2表示為100 010 001
#使用y.label_binarize(y, classes[0, 1, 2]),變?yōu)?50*3矩陣
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.5, random_state=0)
#set the parameters by cross_validation
turn_parameters = [{'kernel' : ['rbf', 'gamma' : [1e-3, 1e - 4, 'C':[1,10,100,1000]},
{'kernel':['linear'], 'C':[1,10,100,1000]}
]
#clf分離器
#使用網(wǎng)格搜索法調(diào)超參數(shù)
#訓(xùn)練集做5折交叉驗(yàn)證
clf = GridSearchCV(SVC(C=1), turned_parameters, cv=5, scoring='%s_weighted' % score)
#用前一半train數(shù)據(jù)再做5折交叉驗(yàn)證
#因?yàn)橹暗膖rain_test_split已經(jīng)分割為2份了
#fit-擬合
clf.fit(X_train, y_train)
#超參數(shù)
print(clf.best_params_)
#得分
for params, mean_score, scores in clf.gird_scores_:
print("%.3f (+/-%.0.03f) for %r" % (mean_score, scores.std()*1.96,params))
#分類報(bào)告
y_true, y_pred = y_test, clf.predict(X_test)
print(classification_report(y_true, y_pred))
以上這篇對(duì)sklearn的使用之?dāng)?shù)據(jù)集的拆分與訓(xùn)練詳解(python3.6)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch中的masked_fill基本知識(shí)詳解
本文介紹了PyTorch中masked_fill函數(shù)的基本使用和原理,該函數(shù)接受一個(gè)輸入張量和一個(gè)布爾掩碼作為參數(shù),掩碼的形狀必須與輸入張量相同,True表示需要填充的位置,False表示保持原值2024-10-10
python爬蟲入門教程--利用requests構(gòu)建知乎API(三)
這篇文章主要給大家介紹了關(guān)于python爬蟲入門之利用requests構(gòu)建知乎API的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05
python3.8.1+selenium實(shí)現(xiàn)登錄滑塊驗(yàn)證功能
這篇文章主要介紹了python3.8.1+selenium解決登錄滑塊驗(yàn)證的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Python實(shí)現(xiàn)爬取天氣數(shù)據(jù)并可視化分析
這篇文章主要和大家分享一個(gè)用Python實(shí)現(xiàn)的小功能:獲取天氣數(shù)據(jù),進(jìn)行可視化分析,帶你直觀了解天氣情況!感興趣的小伙伴可以學(xué)習(xí)一下2022-02-02
python 隨機(jī)打亂 圖片和對(duì)應(yīng)的標(biāo)簽方法
今天小編就為大家分享一篇python 隨機(jī)打亂 圖片和對(duì)應(yīng)的標(biāo)簽方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

