머신러닝의 한 종류로 훈련 데이터에 타깃이 없다. 타깃이 없기 때문에 외부의 도움 없이 스스로 유용한 무언가를 학습해야 한다. 대표적인 비지도 학습 작업은 군집, 차원 축소 등이다.
구간별로 값이 발생한 빈도를 그래프로 표시한 것이다. 보통 x축이 값의 구간(계급)이고 y축은 발생 빈도(도수)이다.
axis =0
로 하면 행을 따라서 평균을 내어 10000 개의 값이 나온다.axis =1
로 하면 열을 따라서 평균을 내어 100개의 평균 값이 나온다.axis=1
로 지정axis=0
으로 지정비슷한 샘플끼리 하나의 그룹으로 모으는 대표적인 비지도 학습 작업이다. 군집 알고리즘(클러스터링 알고리즘)으로 모은 샘플 그룹을 클러스터라고 부른다.
k-평균 알고리즘은 처음에 랜덤하게 클러스터 중심을 정하고 클러스터를 만든다.
그다음 클러스터의 중심을 이동하고 다시 클러스터를 만드는 식으로 반복해서 최적의 클러스터를 구성하는 알고리즘이다.
🎉 기본 미션
k-평균 알고리즘 작동 방식 설명하기!
- 무작위로 k개의 클러스터 중심을 정한다.
- 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정한다.
- 클러스터에 속한 샘플의 평균값으로 클러스터 중심을 변경한다. (클러스터 재구성)
- 클러스터 중심에 변화가 없을 때까지 3번으로 돌아가 반복한다.
즉, 처음에는 랜덤하게 클러스터 중심을 선택하고 점차 가장 가까운 샘플의 중심으로 이동하는 알고리즘이다.
fruits_2d
를 통째로 전달한다.np.unique
함수를 통해 결과 확인해보기return_counts=True
로 지정하면 0,1,2로 된 값이 몇개 있는지 수를 세준다.클러스터 중심은 k-평균 알고리즘이 만든 클러스터에 속한 샘플의 특성 평균값이다.
센트로이드(centroid)
라고도 부른다.
가장 가까운 클러스터 중심을 샘플의 또 다른 특성으로 사용하거나 새로운 샘플에 대한 예측으로 활용할 수 있다.
센트로이드(centroid)
가 clustercenters 속성에 들어가 있다.최적의 클러스터 개수를 정하는 방법 중 하나.
이너셔
는 클러스터 중심과 샘플 사이 거리의 제곱 합이다.
클러스터 개수에 따라 이너셔 감소가 꺾이는 지점이 적절한 클러스터 개수 k가 될 수 있다. 이 그래프의 모양을 따서 엘보우 방법이라고 부른다.
k-평균 알고리즘을 통해 구한 클러스터 중심과 클러스터에 속한 샘플 사이의 거리
의 제곱 합
원본 데이터의 특성을 적은 수의 새로운 특성으로 변환하는 비지도 학습의 한 종류. 차원 축소는 저장 공간을 줄ㄹ이고 시각화하기 쉽다. 또한 다른 알고리즘의 성능을 높일 수도 있다.
차원 축소 알고리즘의 하나로 데이터에서 가장 분산이 큰 방향을 찾는 방법이다. 이런 방향을 주성분이라고 부른다. 원본 ㅔ이터를 주성분에 투영하여 새로운 특성을 만들 수 있다. 일반적으로 주성분은 원본 데이터에 있는 특성 개수보다 작다.
주성분 분석에서 주성분이 얼마나 원본 데이터의 분산을 잘 나타내는지 기록한 것이다. 사이킷런의 PCA 클래스는 주성분 개수나 설명된 분산의 비율을 지정하여 주성분 분성을 수행할 수 있다.
🎉 선택 미션
Ch.06(06-3) 확인 문제 풀고, 풀이 과정 정리하기
1. 특성이 20개인 대량의 데이터셋이 있습니다. 이 데이터셋에서 찾을 수 있는 주성분 개수는 몇 개 일까요?
10, 20, 50, 100
2. 샘플 개수가 1,000개이고 특성 개수는 100개인 데이터셋이 있습니다. 즉 이 데이터셋의 크기는 (1000, 100)입니다. 이 데이터를 사이킷런의 PCA 클래스를 사용해 10개의 주성분을 찾아 변환했습니다. 변환된 데이터셋의 크기는 얼마일까요?
(1000,10) (10,1000) (10, 10) (1000, 1000)
3. 2번 문제에서 설명된 분산이 가장 큰 주성분은 몇 번째인가요?
첫 번째 주성분 다섯 번째 주성분 열 번째 주성분 알 수 없음