您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關sklearn中數據集拆分與訓練的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
主要演示大致的過程:
導入->拆分->訓練->模型報告
以及幾個重要問題:
①標簽二值化
②網格搜索法調參
③k折交叉驗證
④增加噪聲特征(之前涉及)
from sklearn import datasets #從cross_validation導入會出現warning,說已棄用 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 #導入鳶尾花數據集 iris = datasets.load_iris() #將數據集拆分為訓練集和測試集各一半 #其中X為數據特征(花萼、花瓣的高度寬度),為150*4的矩陣 #Y為鳶尾花種類(0, 1, 2三種),為150*1矩陣 #如果使用標簽二值化, 將0, 1, 2表示為100 010 001 #使用y.label_binarize(y, classes[0, 1, 2]),變為150*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分離器 #使用網格搜索法調超參數 #訓練集做5折交叉驗證 clf = GridSearchCV(SVC(C=1), turned_parameters, cv=5, scoring='%s_weighted' % score) #用前一半train數據再做5折交叉驗證 #因為之前的train_test_split已經分割為2份了 #fit-擬合 clf.fit(X_train, y_train) #超參數 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)) #分類報告 y_true, y_pred = y_test, clf.predict(X_test) print(classification_report(y_true, y_pred))
關于“sklearn中數據集拆分與訓練的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。