군침이 싹 도는 코딩
Hierarchical clustering 본문
계층적 군집 ( Hierarchical clustering ) 은 K-means 와 마찬가지로
unsupervised 에 사용되는 머신러닝 기법이다
따라서 y값이 존재하지않아 따로 검증하지않는다

이 데이터 프레임으로 계층적 군집을 만들어보겠다
1. X 값을 지정해준다
X = df.loc[:,'Annual Income (k$)':]
X
2. 최적의 클러스터 갯수를 찾기
import scipy.cluster.hierarchy as sch
sch.dendrogram( sch.linkage(X,method='ward'))
plt.title('Dendrogram')
plt.xlabel('Customers')
plt.ylabel('Euclidean Distances')
plt.show()

# 세로선이 길어질수록 먼거리를 그루핑한것이다
그루핑의 거리가 멀어질수록 그룹간의 특색이 사라지므로 적절한 지점에서 끊어준다
필자는 검은선으로 그은곳에서 끊어주었다 따라서 클러스터의 갯수는 5개이다
어디서 끊어주는가는 본인의 선택이다
3. 모델링 및 학습을 시키고 값을 데이터 프레임에 넣는다
from sklearn.cluster import AgglomerativeClustering
hc = AgglomerativeClustering(n_clusters=5)
y_pred = hc.fit_predict(X)
df['Group'] = y_pred
df

# 모델링 후 학습한 데이터를 그룹이라는 컬럼으로 추가하였다
'Python > Machine Learning' 카테고리의 다른 글
K-Means clustering (0) | 2022.12.02 |
---|---|
Decision Tree / Random Forest (0) | 2022.12.02 |
Grid Search (0) | 2022.12.02 |
Support Vector Machine (0) | 2022.12.02 |
K-NN (0) | 2022.12.02 |