inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

사이킷런을 이용한 GMM 군집화 실습

GMM에서 최적의 n_component 도출 방법 문의

649

Abraham

작성한 질문수 20

0

안녕하세요. 강사님.

K-means에서는 최적의 클러스터 개수를 구하기 위해 elbow method나 강의에서 소개해주신 실루엣 계수를 사용하는데(물론 이 방법들로 최적의 클러스터 개수를 반드시 도출한다는 보장은 없지만), 

GMM에서는 최적의 클러스터 개수를(n_component) 구하기 위해 어떻게 해야하나요?

python 통계 머신러닝 배워볼래요?

답변 1

0

권 철민

안녕하십니까,

일반적으로 GMM은 N_COMPONENT 최적화는

1. 실루엣 스코어도 GMM에서 사용할 수 있습니다.

2. Bayesian information criterion 을 사용합니다.(GMM이 확률 생성 모델이다 보니, BIC 방식을 적용할 수 있습니다)

사이킷런에 BIC가 내재 되어 있습니다. 아래코드로 수행해 보십시요. (https://jakevdp.github.io/PythonDataScienceHandbook/05.12-gaussian-mixtures.html 를 참조했습니다)

from sklearn.datasets import make_moons
Xmoon, ymoon = make_moons(200, noise=.05, random_state=0) plt.scatter(Xmoon[:, 0], Xmoon[:, 1]);
n_components = np.arange(1, 21)
models = [GMM(n, covariance_type='full', random_state=0).fit(Xmoon)
          for n in n_components]

plt.plot(n_components, [m.bic(Xmoon) for m in models], label='BIC')
#plt.plot(n_components, [m.aic(Xmoon) for m in models], label='AIC')
plt.legend(loc='best')
plt.xlabel('n_components');

안녕하세요 열심히 수강중인 학생입니다

0

59

2

정수 인덱싱

0

67

2

넘파이 오류

0

83

2

11강 numpy의 axis 축 질문 드립니다.

0

84

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

76

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

68

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

74

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

62

2

5강 강의 오류가 있어요.

0

82

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

71

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

68

3

파이썬 다운그레이 후 사이킷런 재설치

0

115

2

좋은 강의 감사합니다.

0

71

2

scoring 함수 음수값

0

66

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

98

2

분류 평가 정확도 예측

0

75

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

97

1

카카오톡 채널 있나요

0

105

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

187

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

170

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

145

2

실루엣 스코어..

0

83

2

float64 null 값 처리 방법

0

101

2