请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

knn算法代码问题

您好,我的knn算法遇到点问题,就是我只有一个x_predict但是出来的结果是两个,麻烦帮我看一下问题在哪,感谢!
图片描述图片描述

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2025-03-03 02:34:08

传入 predict 的需要是一个二维矩阵,行代表样本数,列代表特征数。即使只有一个样本,也需要传入一个 [1 * 特征数] 的矩阵。你传入的是一个一维数组。


课程中的程序大写表示矩阵,小写表示向量。大小写这样区别开,就是因为特别容易犯这种错误。课程代码中添加的 assert,也是为了防止这种情况的发生。强烈建议将课程代码中的 assert 添加上。https://git.imooc.com/coding-169/coding-169/src/master/04-kNN/02-kNN-in-scikit-learn/kNN/kNN.py


另外,你的训练数据的特征数是 2(X_train 是 10 * 2 的),但是为什么x_predict 是一个包含有 4 个元素的向量?4 是怎么来的?请在整理一下自己的思路。


继续加油!:)



0 回复 有任何疑惑可以回复我~
  • 提问者 紫梦沁香 #1
    十分感谢!
    回复 有任何疑惑可以回复我~ 2025-03-03 10:04:45
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号