使用Scikit-Learn的K-Nearest Neighbor处理鸢尾花数据集问题咨询
问题解决说明
问题1:KNeighborsClassifier实例仅显示部分参数
该现象是Scikit-Learn 0.23及以上版本的默认显示规则:打印评估器实例时默认仅展示和默认值不同的参数,你仅修改了n_neighbors,所以输出只有这一个参数。
要展示全部参数,在导入sklearn后新增配置即可:
import sklearn sklearn.set_config(print_changed_only=False) # 新增这行配置
之后再打印knn实例就能看到你预期的全部参数输出。
问题2:predict后print无输出
按你的代码逻辑正常运行应该输出[1 1 0]对应三个新样本的预测分类,无输出可按以下顺序排查:
- 先确认前序代码没有报错中断执行,可在拟合完模型后加
print("模型拟合完成")验证执行流程是否走到预测步骤 - 检查运行环境是否存在输出折叠/过滤规则,比如Jupyter Notebook的输出区折叠、IDE的日志过滤功能
- 单独打印
X_new验证数组生成正常,确认没有变量名拼写错误 - 可以直接输出模型预测结果验证:
print(knn.predict(X_new))
内容的提问来源于stack exchange,提问作者TNM
相关产品推荐
相关产品推荐

