Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- count()
- Machine Learning
- nan
- 최솟값
- insert()
- matplotlib
- elbow method
- DataFrame
- sklearn
- pandas
- dendrogram
- data
- 반복문
- hierarchical_clustering
- 최댓값
- analizer
- string
- 덴드로그램
- len()
- Dictionary
- del
- Python
- 분류 결과표
- IN
- numpy
- DataAccess
- wcss
- function
- list
- append()
Archives
- Today
- Total
개발공부
Hierachical Clustering과 Dendrogram 본문
Hierachical Clustering 계층적 군집화
-계층적 트리 모형을 이용해 개별 개체들을 순차적,
계층적으로 유사한 개체 내지 그룹과 통합하여 군집화를 수행하는 알고리즘
- K-means Clustering과 달리 군집 수를 사전에 정하지 않아도 학습을 수행할 수 있다.
- Dendrogram 이용
Dendrogram 덴드로그램
- 개체들이 결합되는 순서를 나타내는 트리형태의 구조
- 적절한 수준에서 트리를 자르면 전체 데이터를 몇개 군집으로 나눌 수 있게 된다.
예제
덴드로그램은 scipy 라이브러리를 이용해 그릴 수 있다.
import scipy.cluster.hierarchy as sch
plt.figure(figsize=(20,12))
# 전처리된 데이터 X에 대해 덴드로그램을 그리기
sch.dendrogram(sch.linkage(X, method= 'ward'))
plt.title('Dendrogram')
plt.xlabel('Customers')
plt.ylabel('Eculidean Distances')
plt.show()

위와 같은 덴드로그램을 보고 사용자가 원하는 군집으로 나누어 사용이 가능하다.

여기서는 위와같이 5개의 군집으로 진행하도록 하겠다.
Hierarchical Clustering model를 트레이닝 하는 방법은 아래와 같다.
sklearn라이브러리를 이용한다.
from sklearn.cluster import AgglomerativeClustering
# 군집수 5
hc = AgglomerativeClustering(n_clusters= 5)
# X에 대해 학습시키고, 그에 대한 결과예상 값을 리턴한다.
hc.fit_predict(X)
'Python > Machine Learning' 카테고리의 다른 글
| 문자열 데이터의 구두점과 Stopwords(불용어) 제거하기 (0) | 2022.05.11 |
|---|---|
| Grid Search란 ? sklearn 라이브러리의 GridSearchCV 사용법 (0) | 2022.05.11 |
| sklearn라이브러리를 이용한 K-Means의 WCSS와 Elbow Method (0) | 2022.05.10 |
| 스케일러나 인코더의 fit(), transform(), fit_transform() 함수 사용법 (0) | 2022.05.10 |
| [Machine Learning] 신규 데이터 예측하는 순서 (0) | 2022.05.09 |