① 파일을 배열로 불러오는 방법은 다음과 같습니다.
• np.load(): np.save()로 저장된 data.npy 파일을 배열로 불러옵니다.
• np.save(): 배열 한 개를 넘파이 형식의 바이너리 파일로 저장합니다.
즉, data.npy는 배열 한 개가 넘파이 형식으로 저장된 것이며, 이 파일을 배열로 불러오겠다는 의미입니다.
클러스터링은 비지도 학습으로, 입력은 정답(레이블)이 없는 2D(2차원) 형식을 갖습니다. 사이킷런의 GaussianMixture 클래스를 사용하여 가우시안 분포 두 개가 겹쳐 보이도록 구성합니다. 사이킷런의 GaussianMixture 클래스를 사용하면 코드 몇 줄로도 쉽게 GMM을 생성할 수 있습니다.
코드 11-15 GMM 생성
gmm = GaussianMixture(n_components=2) ------ n_components는 가우시안 개수를 의미하므로, 가우시안 두 개가 겹쳐 보이게 구성
gmm.fit(X_train)
print(gmm.means_)
print('\n')
print(gmm.covariances_)
X, Y = np.meshgrid(np.linspace(-1,6), np.linspace(-1,6))
XX = np.array([X.ravel(), Y.ravel()]).T
Z = gmm.score_samples(XX)
Z = Z.reshape((50,50))
plt.contour(X, Y, Z)
plt.scatter(X_train[:,0], X_train[:,1])
plt.show()