- 交叉验证更好的验证模型的好坏
普通:train数据和test数据随机划分一次 用train拟合出模型 用test去验证模型的score
交叉验证:多分几次train数据和test数据 分别这用模型验证这几次的score
1最基本用法
# 交叉验证
from sklearn.model_selection import cross_val_score
knn = KNeighborsClassifier(n_neighbors=5)
scores = cross_val_score(knn, X, y, cv=5, scoring='accuracy')#cv=5 5次验证
print(scores)
print(scores.mean())
2调参
利用knn分组 想看分成几组 模型score最好
k_range = range(1, 31)
k_scores = []
for k in k_range:
knn = KNeighborsClassifier(n_neighbors=k)
scores = cross_val_score(knn, X, y, cv=10