BOBO老师,执行同样的语句,报错

来源:3-12 数据加载和简单的数据探索

qq_流光长河_0

2018-11-11

plt.scatter(X[y0,0],X[y0:,1],color=“red”)
plt.scatter(X[y1,0],X[y1:,1],color=“green”)
plt.scatter(X[y2,0],X[y2:,1],color=“blue”)


TypeError Traceback (most recent call last)
in ()
----> 1 plt.scatter(X[y0,0],X[y0:,1],color=“red”)
2 plt.scatter(X[y1,0],X[y1:,1],color=“green”)
3 plt.scatter(X[y2,0],X[y2:,1],color=“blue”)

TypeError: only integer scalar arrays can be converted to a scalar index

y==0
array([ True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True,
True, True, True, True, True, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False])
是不是因为类型问题?数组的内容不是int数据,应该怎么转换呢?

解决了:我多了个冒号,X[y0:,1]

写回答

1回答

liuyubobobo

2018-11-11

你的代码和课程中不一样。课程中的写法是:

plt.scatter(X[y==0,0], X[y==0,1], color="red")
plt.scatter(X[y==1,0], X[y==1,1], color="blue")
plt.scatter(X[y==2,0], X[y==2,1], color="green")
plt.show()


为什么使用 y == 0 这样的方式,可以参考这个问答:

https://coding.imooc.com/learn/questiondetail/36343.html


加油!:)

0
4
liuyubobobo
回复
qq_流光长河_0
不一样。y == 0 得到的结果是作为fancy index传给X的。关于Fancy Index,可以再好好理解一下3-10的内容:)
2018-11-11
共4条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程