采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我记得老师讲的挑选行y0的时候,是当0这个值是X矩阵中的某一列,但是这里y这个target是单独的属于另外一个向量,那么计算机在调用X[y0,0]的时候,它怎么知道y这个向量和X中的数据有对应关系,在我的理解里面,它肯定是要知道X每一个样本和y有对应关系,才能设置y==0这样的条件来调用,但是我不知道计算机怎么知道X和y之间有对应关系。或者我哪里理解错了,请老师指点一下!!谢谢
这叫 fancy indexing,课程中有介绍,但是如果不做这种实践,确实很容易忽略。
可以参考这个问答,看是否能够理解?https://coding.imooc.com/learn/questiondetail/5Ggzqw6jJa86DxW0.html
核心:y == 0 返回的是一个布尔向量(而不是一个值)。如果对此有疑问,也请再复习一下 fancy indexing 对应的小节内容:https://coding.imooc.com/lesson/169.html#mid=9836
继续加油!:)
我觉得这个疑问的难点在于:iris.data的特征矩阵与target向量存在内部对应好理解,可是此处X = iris.data[:,:2],X矩阵只是截取了iris.data的前两列,那么新的X矩阵与target为何还有对应关系,难理解。。。
因为列没有影响行。比如 X[i] 是第 i 个学生的成绩,有语文数学英语物理化学五门学科的成绩;target[i] 是这个学生的大学。那么我只取出每个学生的语文和数学成绩,得到 X',X'[i] 是这个学生的语文和数学成绩,target[i] 依然是这个学生对应的大学。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.6k 19
3.5k 17
3.0k 15
1.7k 15
1.5k 14