데이터 분석에서 계층적 클러스터링의 개념 이해: 기능, 유형 및 단계
게시 됨: 2023-04-08클러스터링은 데이터 분석에서 유사한 데이터를 그룹 또는 클러스터로 그룹화하는 것을 말합니다. 이러한 클러스터는 데이터 분석가가 유사한 데이터 요소를 하나의 그룹으로 구성하는 동시에 유사하지 않은 다른 데이터와 구별하는 데 도움이 됩니다.
데이터의 계층적 클러스터링은 데이터를 클러스터 트리로 그룹화하는 데 사용되는 방법 중 하나입니다. 데이터 그룹화에 대한 가장 인기 있고 유용한 접근 방식 중 하나입니다. 성장하는 데이터 과학 및 데이터 분석 분야 의 일원이 되려면 계층적 클러스터링을 배워야 합니다.
이 문서는 계층적 클러스터링의 특성, 기능, 유형 및 장점을 이해하는 데 도움이 됩니다.
목차
계층적 클러스터링이란 무엇입니까?
이름에서 알 수 있듯이 계층적 클러스터링은 서로 다른 데이터를 계층적 또는 트리 형식의 클러스터로 그룹화합니다. 이 방법에서는 모든 데이터 포인트가 별도의 클러스터로 취급됩니다. 계층적 클러스터 분석은 데이터를 분석하기 쉬운 관리 가능한 클러스터 계층으로 요약하기 때문에 데이터 과학자와 데이터 분석가 사이에서 매우 인기가 있습니다.
계층적 클러스터링 알고리즘 은 서로 다른 여러 데이터 포인트를 사용하고 둘 중 가장 가까운 데이터 포인트를 사용하여 클러스터를 만듭니다. 모든 데이터 포인트가 하나의 클러스터로 바뀔 때까지 이러한 단계를 반복합니다. 이 프로세스는 하나의 병합된 클러스터를 서로 다른 작은 클러스터로 나누고 궁극적으로 데이터 포인트로 나누기 위해 반전될 수도 있습니다.
클러스터링의 계층적 방법은 나무와 같은 다이어그램인 덴드로그램으로 시각적으로 나타낼 수 있습니다. 덴드로그램은 원하는 수의 클러스터가 만들어지면 클러스터링 프로세스 중 어느 시점에서든 잘라낼 수 있습니다. 이것은 또한 데이터 분석 프로세스를 더 쉽게 만듭니다.
계층적 클러스터링은 어떻게 작동합니까?
계층적 클러스터링 프로세스는 이해하기 매우 간단합니다. 계층적 클러스터링 알고리즘은 사용 가능한 모든 데이터 세트를 다른 클러스터로 취급합니다. 그런 다음 가장 유사한 두 데이터 세트를 식별하고 클러스터로 병합합니다. 그런 다음 시스템은 모든 데이터 포인트가 하나의 큰 클러스터로 병합될 때까지 이러한 단계를 계속 반복합니다. 필요한 수의 클러스터를 분석에 사용할 수 있게 되면 프로세스를 중지할 수도 있습니다.
계층적 군집화 프로세스의 진행률과 결과는 서로 다른 군집 간의 관계와 본질적으로 얼마나 유사하거나 다른지를 식별하는 데 도움이 되는 덴드로그램으로 시각화할 수 있습니다.
계층적 클러스터링의 유형
계층적 클러스터링 알고리즘은 두 가지 방법으로 사용할 수 있습니다. 다음은 사용할 수 있는 두 가지 유형의 계층적 클러스터링 특성입니다.
1. 응집 계층적 클러스터링
집계 방법은 데이터를 계층적으로 클러스터링하는 데 더 많이 사용되는 방법입니다. 이 방법에서 알고리즘은 서로 다른 여러 데이터 세트로 표시되며 각 데이터 세트는 자체 클러스터로 취급됩니다. 그런 다음 알고리즘은 서로 얼마나 유사한지에 따라 둘의 클러스터로 결합하기 시작합니다. 필요한 클러스터 수에 도달할 때까지 이러한 단계를 반복합니다. 이 방법은 계층적 군집 분석 에서 더 많이 사용됩니다 .
2. 분할 계층적 클러스터링
계층적 클러스터링의 분할 방법은 응집 방법의 반대입니다. 이 방법에서 알고리즘은 시차에 따라 단계적으로 차별화되는 수많은 데이터 포인트의 단일 대형 클러스터로 표시됩니다. 이로 인해 속성이 다른 여러 데이터 세트가 생성됩니다. 분할 방법은 실제로 자주 사용되지 않습니다.
세계 최고의 대학에서 온라인으로 데이터 과학 과정을 배우십시오 . PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 취득하여 경력을 빠르게 쌓으십시오.
계층적 클러스터링의 단계
앞에서 언급했듯이 데이터의 계층적 클러스터링에는 세 가지 주요 단계가 있습니다.
- 서로 다른 두 데이터 포인트 간의 유사성 식별.
- 하나의 클러스터로 병합합니다.
- 모든 데이터 요소가 하나의 큰 데이터 클러스터로 병합될 때까지 이러한 단계를 반복합니다.
그러나 계층적 클러스터링에서 유사한 지점을 식별하는 방법을 기억하는 것도 매우 중요합니다. 알고리즘으로 생성된 덴드로그램을 연구하면 각 클러스터의 중심점을 쉽게 식별할 수 있습니다. 덴드로그램에서 서로 거리가 가장 짧은 클러스터가 가장 유사합니다. 이것이 거리 기반 알고리즘이라고도 하는 이유입니다. 덴드로그램에서 하나의 클러스터와 다른 모든 클러스터 간의 유사성을 근접 행렬이라고 합니다.
또한 계층적 클러스터링을 사용하는 동안 올바른 거리 측정을 선택해야 합니다. 예를 들어 거리 측정을 성별 또는 교육 배경으로 선택했는지 여부에 따라 동일한 사람에 대한 정보가 포함된 데이터 세트는 다른 덴드로그램을 생성합니다.
인기 있는 데이터 과학 기사 읽기
데이터 과학 진로: 포괄적인 진로 가이드 | 데이터 과학 경력 성장: 일의 미래가 여기에 있습니다 | 데이터 과학이 중요한 이유는 무엇입니까? 데이터 과학이 비즈니스에 가치를 부여하는 8가지 방법 |
관리자를 위한 데이터 과학의 관련성 | 모든 데이터 과학자가 갖추어야 할 궁극의 데이터 과학 치트 시트 | 데이터 과학자가 되어야 하는 6가지 이유 |
데이터 과학자의 하루: 그들은 무엇을 합니까? | 잘못된 통념: 데이터 과학에는 코딩이 필요하지 않습니다 | 비즈니스 인텔리전스와 데이터 과학: 차이점은 무엇입니까? |
계층적 클러스터링 Python
이제 계층적 클러스터링에 대해 명확하게 이해했으므로 계층적 클러스터링 Python을 수행하는 방법을 살펴보겠습니다 . 다음은 Python의'scikit-learn' 라이브러리를 사용하여 계층적 클러스터링을 수행하는 모습입니다 .
6개의 관찰이 있는 데이터 세트에 두 개의 변수( x 및 y) 가 있다고 가정해 보겠습니다 .
관찰 | 엑스 | 와이 |
1 | 1 | 1 |
2 | 2 | 1 |
삼 | 4 | 삼 |
4 | 5 | 4 |
5 | 6 | 5 |
6 | 7 | 5 |
산점도로 다음과 같이 관찰 결과를 시각화할 수 있습니다.
파이썬
numpy를 다음으로 가져오기
np
matplotlib.pyplot을 plt로 가져오기
# 데이터 세트 정의
X = np.array([[ 1,1], [2,1], [4,3], [5,4], [6,5], [7,5]])
# 데이터를 플롯
plt.scatter(X[:, 0], X[:,1])
plt.show()
이 플롯에는 두 개의 관찰 클러스터가 있습니다. 하나는 x 및 y의 낮은 값을 포함 하고 다른 하나는x및y의 높은 값을 포함합니다 .
'scikit learn'을 사용하여 이 데이터 세트에서 계층적 클러스터링을 수행할 수 있습니다.
플롯의 두 관측치 군집은 서로 다른 값을 가집니다. 하나는 더 높은 x 및 y값으로 구성되고 다른 하나는 더 낮은 값으로 구성됩니다.
무료 데이터 과학 과정을확인하여 경쟁에서 우위를 차지하세요.
앞에서 논의한 계층적 클러스터링의 두 가지 주요 방법 중 '와드 ' 연결 방법과 함께 응집 클러스터링 방법을 사용합니다.'와드' 방법은 함께 병합되는 클러스터의 변형을 최소화하므로 크기와 모양이 유사한 클러스터를 생성합니다.
인기 있는 데이터 과학 과정 살펴보기
IIITB의 데이터 사이언스 총괄 포스트 대학원 프로그램 | 비즈니스 의사 결정을 위한 데이터 과학 전문 인증 프로그램 | 애리조나 대학교 데이터 과학 석사 |
IIITB의 데이터 과학 고급 인증 프로그램 | 메릴랜드 대학교의 데이터 과학 및 비즈니스 분석 전문 인증 프로그램 | 데이터 과학 과정 |
파이썬
sklearn.cluster 에서가져오기AgglomerativeClustering
# 계층적 클러스터링 수행
클러스터링 AgglomerativeClustering (n_clusters= 2, linkage='ward').fit(X)
여기서는 'n-clusters ' 매개변수를 사용하여 두 개의 클러스터를 원한다고 지정했습니다.
클러스터를 그릴 때 각 클러스터에 다른 색상을 사용할 수 있습니다.
파이썬
# 클러스터를 플로팅합니다.
색상= np.array([' r', 'b'])
plt.scatter (X[:, 0], X[:,1], c=색상[clustering.labels_])
plt.show()
데이터의 두 클러스터는 클러스터링 알고리즘에 의해 올바르게 식별되었습니다. 클러스터링 알고리즘이 각 관찰에 할당한 레이블을 사용할 수도 있습니다.
파이썬
인쇄 (clustering.labels_)
csharp
[ 0 0 1 1 1 1]
마지막 4개의 관측치는 군집 1에 할당되었고 처음 두 개는 군집 0에 할당되었습니다.
이러한 클러스터의 계층 구조를 시각화하려면 덴드로그램을 생성하여 그렇게 할 수 있습니다.
파이썬
from scipy.cluster.hierarchy가져오기덴드로그램, 연결
# 연결 행렬을 계산합니다.
Z = linkage(X, ' 와드')
# 덴드로그램을 플로팅합니다.
덴드로그램(Z)
plt.show()
덴드로그램은 병합된 클러스터의 계층 구조를 시각화하는 데 도움이 될 수 있습니다.
배워야 할 최고의 데이터 과학 기술
배워야 할 최고의 데이터 과학 기술 | ||
1 | 데이터 분석 코스 | 추론 통계 강좌 |
2 | 가설 테스트 프로그램 | 로지스틱 회귀 강좌 |
삼 | 선형 회귀 과정 | 분석을 위한 선형 대수학 |
결론
데이터 클러스터링은 데이터 과학 및 데이터 분석에서 매우 중요한 부분입니다. 다른 클러스터링 방법을 배우고 싶다면 upGrad가 학습 여정을 시작하는 데 도움이 될 수 있습니다! 마스터 클래스, 산업 세션, 멘토십 세션, Python 프로그래밍 부트캠프 및 라이브 학습 세션의 도움으로 upGrad의 데이터 과학 석사 과정 은 전문가가 경쟁자보다 우위를 점할 수 있도록 설계된 과정입니다.
University of Arizona의 지도하에 제공되는 이 과정은 최첨단 커리큘럼, 업계 전문가와의 몰입형 학습 경험 및 취업 기회를 통해 데이터 과학 경력을 향상시킵니다.
Q. 데이터 과학에서 계층적 클러스터링을 수행하는 이유는 무엇입니까?
계층적 클러스터링은 다양한 유사한 속성을 기반으로 데이터를 그룹화하는 데 사용됩니다. 시각적으로 이해할 수 있는 그룹으로 데이터 측면을 분산하면 덴드로그램을 쉽게 볼 수 있으므로 실제 구현이 간소화됩니다.
Q. 계층적 클러스터링은 무엇에 사용되나요?
계층적 클러스터링은 소셜 네트워킹 사이트를 통해 생성된 데이터를 그룹화하는 데 널리 사용되는 형태입니다. 분석가는 이 데이터를 사용하여 비즈니스 프로세스를 개선하고 수익을 창출하는 데 관련된 귀중한 통찰력을 얻을 수 있습니다.
Q. 계층적 클러스터링의 한계는 무엇입니까?
계층적 클러스터링은 혼합 유형 또는 누락된 데이터에 적합하지 않습니다. 계층적 클러스터링의 또 다른 제한 사항은 광범위하게 큰 데이터 집합에서 잘 수행되지 않는다는 것입니다.