请稍等 ...
×

采纳答案成功!

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

为什么是x.shape[0]而不是x.shape[1]

波波老师,这里的X_train.shape[1]我能想明白是指X_train中的列,也就是特征。请问为什么右边是x.shape[0]而不是x.shape[1]呢,不是也应该取x的列的数量吗?
请问是不是我对shape的含义有什么误解?
图片描述

12970
收起

正在回答

1回答

小的 x 是一个向量。这个向量中包含有多少元素,就是这个向量的 shape[0]。实际上,由于 x 是向量,所以是一维的,跟没有 shape[1]。


这句话的意思就是,大的 X (大写字母是矩阵) 的列数,应该和小的 x(小写字母是向量)的元素个数相同。


课程中大小写字母都是严格使用这种定义规定的。通过看变量名称,就能区分出一个变量到底表示的是一个二维矩阵,还是一维向量:)


继续加油!:)

3 回复 有任何疑惑可以回复我~
  • 提问者 慕斯卡6436947 #1
    非常感谢!老师讲的非常清楚!
    回复 有任何疑惑可以回复我~ 2019-10-28 16:55:24
  • 我们在这里传入的其实是没有reshape过得一维向量对吗?  在notebook中我们已经reshape过了所以他变成了(1, 2) 的矩阵
    回复 有任何疑惑可以回复我~ 2020-06-24 14:57:18
  • liuyubobobo 回复 DorianXU #3
    在这个代码中传的是小 x。reshape 以后传给的是 sklearn 的 KNeighborsClassifier。
    回复 有任何疑惑可以回复我~ 2020-06-24 15:45:43
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

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

帮助反馈 APP下载

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

公众号

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