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

anchornandary님의 프로필 이미지
anchornandary

작성한 질문수

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

사이킷런을 이용한 K-Means 군집화 실습 - 01

fit_transform(X)의 역할

작성

·

251

0

kmeans.fit_transform(irisDF)를 하면 나오는 결과는

150가지의 피처값들(총 4가지 피처)과 각각의 피처에 대응하는 클러스터의 센트로이드 사이의 거리를 4차원에서 3차원으로 줄여서 표현한 것 맞나요?

답변 1

0

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

안녕하십니까,

fit_transform(irisDF) 결과가 각각의 피처에 대응하는 클러스터의 센트로이드 사이의 거리는 아닙니다.

4개의 피처를 가지는 개별 레코드와 클러스터간의 거리값을 Centroid별로 가지고 있는 것입니다.

클러스터 3개를 A, B, C라고 하고 fit_transform(irisDF)를 하게 되면 irisDF는 4개의 피처를 150개의 레코드로 가지고 있습니다. 이 개별 레코드 1개가 클러스터 A에 대한 거리, 클러스터 B에 대한 거리, 클러스터 C에 대한 거리를 가지므로 총 3개값이 만들어 집니다. 이걸 150개의 레코드에 대해서 변환하므로 150 X 3 개의 결과가 fit_transform(irisDF)로 반환 되게 됩니다.

감사합니다.

anchornandary님의 프로필 이미지
anchornandary
질문자

image그럼 만약 클러스터의 개수가 3개가 아니라 5개라면 위 코드에 대한 결과는 150행 x 5열로 반환되는 것 맞으실까요?

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

네, 맞습니다.

anchornandary님의 프로필 이미지
anchornandary

작성한 질문수

질문하기