머신러닝 인 액션
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