반응형
1. 군집
<비지도 학습>
- 머신러닝의 한 종류로 훈련 데이터에 타깃이 따로 없다.
- 그러므로 스스로 유용한 무언가를 찾아 학습해야 한다.
- 군집, 차원 축소등이 이에 해당한다.
<군집>
- 비슷한 샘플끼리 그룹으로 묶는 작업
- 대표적인 비지도 학습 방법 중 하나이다.
- 군집 알고리즘에서 만든 그룹을 클러스터(Cluster)라고 부른다.
2. k-평균
- 처음에 랜덤하게 클러스터 중심을 정하고 클러스터를 만든다. 그 다음 클러스터의 중심을 이동하고, 다시 클러스터를 만드는 식으로 반복해서 최적의 클러스터를 구성하는 알고리즘
- 클러스터 중심 : k-평균 알고리즘이 만든 클러스터에 속한 샘플의 특성 평균값. 센트로이드라고도 부른다.
[실습 코드]
from sklearn.cluster import KMeans
#모델 생성 및 훈련
km = KMeans(n_clusters=3, random_state=42)
km.fit(fruits_2d)
#예측값 확인
print(km.labels_)
>> [0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1]
# 파악한 군집들 개수 파악
print(np.unique(km.labels_, return_counts=True))
>> (array([0, 1, 2], dtype=int32), array([ 91, 98, 111]))
<엘보우 방법>
- 최적의 클러스터 개수를 정하는 방법 중 하나
- 이너셔 : 클러스터 중심과 샘플 사이 거리의 제곱 합
- 클러스터 개수에 따라 이너셔 감소가 꺾이는 지점이 적절한 클러스터의 개수 k가 될수 있다.
[실습 코드]
inertia = []
for k in range(2, 7):
km = KMeans(n_clusters=k, random_state=42)
km.fit(fruits_2d)
inertia.append(km.inertia_)
plt.plot(range(2, 7), inertia)
plt.xlabel('k')
plt.ylabel('inertia')
plt.show()
- LightGBM의 경우에는 최대 손실값을 가지는 노드를 중심으로 계속해서 분할하는 '리프 중심 트리 분할(leaf-wise)' 방식을 사용한다.
- 따라서 트리가 깊어지기위해 소요되는 시간과 메모리를 많이 절약할 수 있다.
- 다만 적은 데이터에 대한 과적합(overfitting)이 발생하기 쉽다
<전체 소스 코드>
1) 군집 : http://bit.ly/hg-06-1
2) k-평균 : http://bit.ly/hg-06-2
반응형
'혼공단 > 혼공단 5기' 카테고리의 다른 글
[혼공단 5기] 혼자 공부하는 머신러닝 + 딥러닝 5주차 후기 및 미션 인증 (0) | 2021.02.28 |
---|---|
혼자 공부하는 머신러닝 + 딥러닝 6장 - 주성분 분석 (0) | 2021.02.28 |
[혼공단 5기] 혼자 공부하는 머신러닝 + 딥러닝 4주차 후기 및 미션 인증 (0) | 2021.02.19 |
혼자 공부하는 머신러닝 + 딥러닝 5장 - 트리의 앙상블 (0) | 2021.02.19 |
혼자 공부하는 머신러닝 + 딥러닝 5장 - 교차 검증과 그리드 서치 (0) | 2021.02.18 |