请稍等 ...
×

采纳答案成功!

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

关于数据X-train 和y_train之间,他们之间有什么联系?

关于数据X-train 和y_train之间,X_train是一个数组,y_trian是一个向量,y_train和X_train是怎么建立对应关系的?我在用另一种方式来尽量表达清楚:计算机是怎么知道X_train里的数据中一行数据所对应的类别是y_train向量中的数据?

正在回答

1回答

liuyubobobo 2018-07-10 13:18:12

首先,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之间有联系。而是我们算法设计者将数据特意布置成这个样子,运用这种数据布置上关系,完成的算法:)

2 回复 有任何疑惑可以回复我~
  • 提问者 大门旁的桂花树 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-08-15 14:42:59
  • 老师   这一行 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轴的值
    回复 有任何疑惑可以回复我~ 2019-07-11 21:18:24
  • 看看这个问答能不能解决你的疑问?https://coding.imooc.com/learn/questiondetail/36343.html 加油!:)
    回复 有任何疑惑可以回复我~ 2019-07-12 00:57:47
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信