交叉验证
作用
避免因为数据分配不均匀造成一些标签验证不出效果。
建立网格模型,求最佳超参
步骤
超参调试—得到最优模型
# 网格模型
param_list = [{
"n_neighbors": list(range(3, 13)),
"weights": ['uniform', 'distance'],
"p": [i for i in range(1, 8)] #快速生成列表生成式
}]
# 创建算法
knn_model = KNeighborsClassifier()
# 网格 (每十条分组)
grid=GridSearchCV(knn_model,param_list, cv=10)
# 训练模型
grid.fit(x_train,y_train)
print("11----:",grid.best_estimator_)
print("22----:",grid.best_score_)
print("33----:",grid.best_params_)
2、【完整代码】将得到的最优超参代入进去求最优模型。
from sklearn