8 K折交叉驗證SVC
1.一次訓(xùn)練/測試
雖然一次驗證有96.7%準(zhǔn)確率,但是因為數(shù)據(jù)集本身很小,訓(xùn)練集和測試集可能區(qū)別不大,還是可能過擬合.
import numpy as np
from sklearn.model_selection import cross_val_score,train_test_split
from sklearn import datasets
from sklearn import svm
iris=datasets.load_iris()
#測試集有40%數(shù)據(jù)
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4,random_state=0)
clf=svm.SVC(kernel='linear',C=1).fit(x_train,y_train)
clf.score(x_test,y_test)
2. K折交叉驗證
-
cross_val_score(...,cv=)cv為交叉驗證的K值,劃分K次,每次K-1份訓(xùn)練集,1份測試集,每次訓(xùn)練都會對clf模型進(jìn)行fit, 所以clf不需要事先fit.
-
返回評分結(jié)果列表
scores=cross_val_score(clf,iris.data,iris.target,cv=5)
print(scores)
print(scores.mean())
簡單示例結(jié)果