【发布时间】:2018-01-21 13:04:33
【问题描述】:
如何解决这个错误?为什么代码无法可视化情节?
TypeError: 'numpy.ndarray' object is not callable
输入
data_sillet = np.loadtxt('clustering_sillet.csv', delimiter=',')
data = data_sillet.astype(int)
data
输出
array([ 2, 3, 8, 29, 32, 15, 23, 0, 4, 16, 14, 15, 1, 5, 1, 8, 0,
30, 14, 0, 1, 4, 5, 2, 12, 1, 7, 2, 0, 3, 22, 7, 1, 5,
0, 6, 0, 15, 9, 24, 24, 5, 0, 0, 24, 11, 9, 0, 0, 1, 18,
11, 4, 8, 27, 1, 3, 4, 7, 17, 5, 0, 1, 16])
输入
data =data(n_samples=64,n_features=1,centers=3,cluster_std=0.5,random_state=101)
plt.scatter(data[0][:,0],data[0][:,1],c=data[1],cmap='rainbow')
输出
TypeError Traceback (most recent call last)
<ipython-input-89-0b73209258a0> in <module>()
----> 1 data =data(n_samples=64,n_features=1,centers=3,cluster_std=0.5,random_state=101)
2
3 plt.scatter(data[0][:,0],data[0][:,1],c=data[1],cmap='rainbow')
TypeError: 'numpy.ndarray' object is not callable
【问题讨论】:
-
您在这一行中似乎调用了“data”而不是“KMeans”:data =data(n_samples=64,n_features=1,centers=3,cluster_std=0.5,random_state=101)
-
代码失败,因为它试图调用(调用被后面的圆括号检测到)带有参数n_samples = 64等的'data'。因为numpy.ndarray不是可调用类型,这意味着没有为它定义 call 函数,此代码在调用 scatterplot 并可视化绘图之前引发“TypeError”。这就是为什么你看不到情节
-
哦..我明白了。谢谢。
-
我将此解释作为答案发布,否则此问题将被视为未回答,对任何人都无济于事
标签: python numpy cluster-analysis k-means silhouette