我没有收到以下错误
TypeError:不可用类型:'numpy.ndarray'
我尝试了所有可能的解决方案,但我无法理解。
这是我的阵列:
instances=np.array([[0,10],
[1,3],
[3,4],
[3,5],
[5,5],
[5,6],
[6,-5],
[5,8]])
我在这里有一个循环:
for p in instances:
Pred=clf.predict([p])
print(p[0])
print(Pred)
plt.scatter(p[0], p[1], s=200, marker='*', c=self.colors[Pred])
return Pred
输出是这样的:
0
[0.]
答案 0 :(得分:1)
Pred
是一个numpy数组。它不能用作self.colors[Pred]
中的索引。您应该使用self.colors[int(Pred[0])]
。
答案 1 :(得分:0)
您没有发布错误的背景信息,但我假设它与this question中的内容相似。
然后改变:
plt.scatter(p[0], p[1], s=200, marker='*', c=self.colors[Pred])
为:
plt.scatter(p[0], p[1], s=200, marker='*', c=self.colors[Pred].ravel().tolist())
这会将数组y
展平为一维,然后将其转换为列表,to_rgba
很乐意将其消化为可以散列的内容。