강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

박종성님의 프로필 이미지
박종성

작성한 질문수

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

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

사이킷런을 이용한 GMM 군집화 실습 강의 중 질문입니다.

작성

·

45

0

안녕하세요
사이킷런을 이용한 GMM 군집화 실습 강의 중 질문입니다.


9:15 에서
transformation = [[0.60834549,-0.63667341],[-0.40887717,0.85253229]]

로 설정하면 된다고 하셨는데
이 값들은 어디서 도출된 값인가요?
이 부분은 자세한 설명 없이
바로 다음 부분으로 넘어가시는데요,
이 값들이 어떻게 도출된 값들인지
자세한 설명 부탁드립니다

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

해당 부분은 군집화에 대한 부분이 아니고, 샘플 데이터를 만들기 위한 작업의 한 부분입니다.

# make_blobs() 로 300개의 데이터 셋, 3개의 cluster 셋, cluster_std=0.5 을 만듬.

X, y = make_blobs(n_samples=300, n_features=2, centers=3, cluster_std=0.5, random_state=0)

위와 같이 make_blobs()로 샘플 데이터를 만들지만, 이걸 아래쪽으로 길게 늘어나는 타원형 형태의 데이터 세트로 그냥 만들 수 없습니다. 그래서 일정의 선형 변환을 하는데, 선형 변환을 하기 위해서 적용되는 값이 transformation = [[0.60834549,-0.63667341],[-0.40887717,0.85253229]] 입니다. 이건 회전 및 늘어나는 데이터 변환을 위해 원본 데이터에 적용하는 필터성 데이터라고 생각해 주시면 됩니다.

이걸 원본 X 데이터에 np.dot()을 transformation값을 적용하게 되면 transformation 값에 따라 회전 및 늘어나는 데이터 변환을 수행하게 됩니다.

X_aniso = np.dot(X, transformation)

 

감사합니다.

박종성님의 프로필 이미지
박종성

작성한 질문수

질문하기