본문 바로가기

전체 글

(14)
# K-means 군집화 알고리즘 (sklearn.cluster) k-means 군집화 알고리즘은 데이터셋의 유클리드 거리를 고려하여 군집을 나누는 비지도학습 알고리즘입니다. (군집 중심 찾기 -> 군집 나누기)를 반복하여 데이터셋의 군집을 구합니다. 1. 군집 중심 랜덤 초기화 2. Expectation : 모든 개체들을 가장 가까운 군집 중심의 군집으로 할당 3. Maximization : 해당 군집의 평균 지점으로 군집의 중심을 이동 4. 다시 군집화(모든 개체들을 가장 가까운 군집의 중심으로 군집 할당) 5. Expectation과 Maximization를 반복 사이킷런에서는 군집화 알고리즘을 학습하고, 군집을 계산하는 함수(KMeans)를 제공합니다. KMeans객체를 생성할 때 n_clusters로 군집의 수를 조절합니다.
# scikit - learn과 머신러닝 (1) 사이킷런의 설계 철학 scikit-learn은 머신러닝을 도와주는 매우 유용한 라이브러리입니다. 오늘은 scikit learn(이하 사이킷런)이 어떤 설계 철학을 가지고 머신러닝을 도와주는지 알아보겠습니다. (사이킷런의 설계 철학은 다음의 논문에서 자세히 다루고 있습니다. https://arxiv.org/pdf/1309.0238v1.pdf) # 머신러닝 먼저 머신러닝의 과정에 대하여 간략하게 소개하겠습니다. : 전처리 단계 : model을 학습하기 전에 data의 통계적 특성을 계산하여(1), data 속 Nan값을 채우(2)거나, scale을 조정(2)하는 등의 전처리 과정을 거칩니다. : 학습 단계 : (지도 학습에서는) data를 이용하여 model을 학습(1)시킵니다. : 평가 단계 : 모델 학습 결과를 평가(3)합니..
# 비슷한 correlation을 갖는 feature 제거하기 by df.triu(), df.where() 모델을 훈련시키기 전에 data 속 features의 correlation이 매우 큰 feature들이 존재할 수 있습니다. 이렇게 비슷한 feature들을 사용하여 모델을 훈련시키는 것은 비효율적입니다. 따라서 features의 correlation을 계산하여 비슷한 feature를 하나만 남기고 나머지 feature들을 제거하는 작업이 필요합니다. 여기서는 kaggle의 한 노트북( A Complete Introduction and Walkthroughm)에서 소개한 feature 선택 방법에 대하여 알아보겠습니다. 1: 우선 DataFrame에서 corr()을 실행하여 각 feature들사이의 correlation를 계산하고 corr_matrix에 저장합니다. 2: corr_matrix에서 대각행렬..