我通过网格搜索CV为我的KNN估算器找到了一组最好的超参数:
>>> knn_gridsearch_model.best_params_
{'algorithm': 'auto', 'metric': 'manhattan', 'n_neighbors': 3}
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.我想用这些新发现的参数训练我的最终估算器.有没有办法直接提供上面的超参数字典?我试过这个:
>>> new_knn_model = KNeighborsClassifier(knn_gridsearch_model.best_params_)
Run Code Online (Sandbox Code Playgroud)
但相反,希望的结果new_knn_model只是将整个字典作为模型的第一个参数,并将其余的作为默认值:
>>> knn_model
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=1,
n_neighbors={'n_neighbors': 3, 'metric': 'manhattan', 'algorithm': 'auto'},
p=2, weights='uniform')
Run Code Online (Sandbox Code Playgroud)
确实令人失望.
python machine-learning scikit-learn hyperparameters grid-search