请稍等 ...
×

采纳答案成功!

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

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

1回答

liuyubobobo 2018-09-06 03:47:40

我们实际上绘制了10个散点图(for循环),将这10个散点图叠加在了一起,最后一起显示出来(plt.show())。


对于这十个散点图,每个图绘制的是一个数字对应的分类。即所有y==0的点绘制一次,y==1的点绘制一次,y==2的点绘制一次,以此类推,每次绘制是调用一次scatter。每次绘制数字k所对应的所有的数据点,从X_reduction中取出y==k所对应的所有数据的横纵坐标。即X_reduction[y==k, 0]和X_reduction[y==k, 1]。


对于这个绘制过程,其实和我们在第三章12小节绘制iris数据集的方法是一样的。回忆一下以下代码:)

https://img1.sycdn.imooc.com//szimg/5b90327600014ba504970360.jpg


区别只在于:

1)我们使用循环,而非罗列十行scatter:)

2)我们没有指定颜色,因为指定十个颜色太麻烦了,每次scatter,matplotlib会自动为我们换一个颜色:)


如果对这个绘制还有疑问,可以参考这个问答:https://coding.imooc.com/learn/questiondetail/36343.html


加油!:)

0 回复 有任何疑惑可以回复我~
  • 谢谢老师!我也是看到这里不太懂,不过看了老师的回复就懂了!实际上是y==0,1,2,3...9的布尔值组成的索引,使用fancy_index的方式取出X中对应特征的行。而两个X_reduction对应的是降维后二维平面的x和y轴,这样做就相当于把64个特征(这里取前10个特征)的数据映射到二维坐标系中,达到了可视化的效果!
    回复 有任何疑惑可以回复我~ 2019-09-30 10:27:25
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

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

帮助反馈 APP下载

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

公众号

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