采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
关于数据X-train 和y_train之间,X_train是一个数组,y_trian是一个向量,y_train和X_train是怎么建立对应关系的?我在用另一种方式来尽量表达清楚:计算机是怎么知道X_train里的数据中一行数据所对应的类别是y_train向量中的数据?
首先,X_train更准确的说是二维数组。行数代表有多少数据,列数代表数据的特征数量。y_train是一个向量。y_train中的元素个数和X_train的行数一样,y_train中第i个元素表示X_train中第i行的数据所对应的output。
以上的这些逻辑,就是 X_train 和 y_train的所有关联。计算机不知道X_train 和 y_train 有这样的联系。是我们算法设计者知道。所以我们在设计算法的时候会使用这些联系。我们的算法完全可以在纸上推导出来。如果你愿意,完全可以使用纸笔计算。计算机只是帮助我们快速计算而已。
再仔细理解一下这一小节我们设计的算法,以及最后完成的代码。之所以我们的代码要这样实现,正是因为X_train和y_train满足这样的关系:)
这里举一个例子。有些同学不理解为什么以下的代码可以将 y == 0 和 y == 1 的两类数据点以不同颜色分别绘制出来:
plt.scatter(X_train[y_train==0,0], X_train[y_train==0,1], color='g') plt.scatter(X_train[y_train==1,0], X_train[y_train==1,1], color='r') plt.show()
事实上,我们正是因为知道X_train和y_train之间的联系,特意设计程序,才让它能够绘制出来。具体可以参考这个问答:https://coding.imooc.com/learn/questiondetail/36343.html
请再体会一下:不是计算机知道X_train和y_train之间有联系。而是我们算法设计者将数据特意布置成这个样子,运用这种数据布置上关系,完成的算法:)
非常感谢!
老师 这一行 plt.scatter(X_train[y_train==0,0], X_train[y_train==0,1], color='g') 这个的意思是 嘛?X_train[y_train==0,0],第一个0表示y_train等于0,第二个0表示取第0个数,也就是y_train(i)这个点的x轴的值
看看这个问答能不能解决你的疑问?https://coding.imooc.com/learn/questiondetail/36343.html 加油!:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14