머신러닝 인 액션 

2.2.2 분석 : 매스플롯라이브러리로 scatter 플롯 생성하기 예제

from numpy import array

ax.scatter(datingDataMat[:, 1], datingDataMat[:, 2], 15.0*array(datingLabels)15.0*array(datingLabels))


위의 예제를 실행하면 

TypeError: unsupported operand type(s) for *: 'float' and 'numpy.ndarray' 라는 에러가 뜬다


array(datingLabels)가 array(['3', '2', '1', ... '3', '3'], dtype='|S1')식의  array of str이라 연산을 할 수 없는것이다


astype() 메소드를 사용해 array of str에서 array of float으로 바꿔준다

array(datingLabels)  ->  array(datingLabels).astype(float) 



적용된 명령

from numpy import array

ax.scatter(datingDataMat[:, 1], datingDataMat[:, 2], 15.0*array(datingLabels).astype(float)15.0*array(datingLabels).astype(float))


plt.show() 결과


참조 : http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html 

Posted by null.
,