|
25、使用交叉验证调参cross_val_score
训练数据用于模型训练
验证数据用于模型评判并调参
测试数据集不参与模型的创建与优化,对模型来说是完全新的数据,是未知情况
ipynb文件在附件,可提供下载!
- # 使用交叉验证来调参
- from sklearn.model_selection import cross_val_score
- knn_clf = KNeighborsClassifier()
- cross_val_score(knn_clf, X_train, y_train, cv=5)
- %%time
- best_score, best_k, best_p = 0, 0, 0
- for k in range(2, 11):
- for p in range(1, 6):
- knn_clf = KNeighborsClassifier(weights='distance', n_neighbors=k, p=p)
- scores = cross_val_score(knn_clf, X_train, y_train)
- score = np.mean(scores)
- if score > best_score:
- best_score = score
- best_k = k
- best_p = p
- print(best_score, best_k, best_p)
- best_knn_clf = KNeighborsClassifier(weights='distance', n_neighbors=2, p=2)
- best_knn_clf.fit(X_train, y_train)
- best_knn_clf.score(X_test, y_test)
- best_knn_clf = grid_search.best_estimator_
- best_knn_clf.score(X_test, y_test)
复制代码
视频教程请参考:http://www.ai111.vip/thread-349-1-1.html
东方老师微信:dfy_88888
|
|