1
분산 플롯에 3 개의 "k 평균"점을 표시하려고합니다. 다음과 같은 오류가 나왔고 이후 위의 코드와 함께가는 뭐가 문제k 계산 및 산점도 플롯
from pylab import plot,show
from numpy import array
from scipy.cluster.vq import kmeans,vq
data = array([1,1,1,1,1,1,3,3,3,3,3,3,7,7,7,7,7,7])
plot(data,marker='*',linewidth=0)
centroids,x = kmeans(data,3)
idx,x = vq(data,centroids)
plot(data[idx==0,0],data[idx==0,1],'yellow',
data[idx==1,0],data[idx==1,1],'yellow',
data[idx==2,0],data[idx==2,1],'yellow')
plot(centroids[:,0],centroids[:,1],'red',markersize=8)
show()
:
plot(data[idx==0,0],data[idx==0,1],'yellow',
IndexError: too many indices for array
'데이터 [IDX의 == 0,0]'당신이 무엇을하려고 그것을 달성하기 위해? 그것은 python valide 문법이 아닙니다. – Oz123
@ Oz123 -'data [idx == 0, 0]'은 완벽하게 유효한 파이썬 문법입니다. numpy에서는 매우 일반적인 관용구입니다 (다른 곳에서도 사용되었지만). –
@JoeKington, 나는 감히 말하고있다 : 실제 사례를 보여줄 수 있습니까? 새로운 것을 배우고 싶습니다! – Oz123