Molybdenum의 개발기록

[Python] MachineLearning 본문

Python

[Python] MachineLearning

Molybdenum_j 2023. 3. 27. 10:19

▶ 머신러닝 비지도 학습 고객 군집화

  • 분류(classification) : 개체가 속한 범주 식별
  • 회귀(Regression) : 개체와 연결된 연속 값 속성을 예측
  • 군집화(clustering) : 유사한 개체를 세트로 자동 그룹화
  • 차원축소(Dimensionality reduction) : 고려할 확률 변수의 수를 줄임
  • 모델 선택 및 평가(Model selection and evaluation) : 매개변수와 모델을 비교, 검증 및 선택
  • 전처리(Preprocessing) : 특징 추출 및 정교화

 

머신러닝 알고리즘 유형

  • 범주형 : 분류(지도학습), 군집화(비지도학습)
  • 수치형 : 회귀(지도학습), 차원축소(비지도학습)

 

Cluster analysis(군집화 분석)

: 대표적인 비지도 학습 방법으로 군집화 분석이란 주어진 데이터들의 특성을 고려해 데이터 집단(cluster)를 정의하고 데이터 집단의 대표할 수 있는 대표점을 찾는 것으로 데이터 마이닝의 한 방법이다.

=> 클러스터 분석을 통해 수백만의 데이터를 직접 확인하지 않고 각각 클러스터의 대표값만 확인해 전체 데이터의 특성을 파악할 수 있다.

 

 

scikit-learn의 클러스터링 알고리즘 비교

  • K-means : 데이터를 k개의 클러스터로 묶는 알고리즘으로 각 클러스터와 거리차이의 분산을 최소화하는 방식으로 동작한다. 이 알고리즘은 자율 학습의 일종으로 레이블이 달려있지 않은 입력 데이터에 레이블을 달아주는 역할을 수행한다. 
    • 입력값 - k : 클러스터 수 , D : n개의 데이터 오브젝트를 포함하는 집합
    • 출력값 : k개의 클러스터
  • DBSCAN : 노이즈가 있는 응용 프로그램의 밀도 기반 공간 클러스터링으로 고밀도의 핵심 샘플을 찾아 클러스터를 확장한다. 밀도가 유사한 클러스터를 포함하는 데이터에 적합하다.

 

 

변수 스케일링(Feature Scalling)

  • Normalization-Standardization(Z-score scalling) : 평균을 제거하고 데이터를 단위 분산에 맞게 조정한다.

- 공식 : z = (X-Xmean) / std

- 장점 : 표준편차가 1이고 0을 중심으로 하는 표준 정규분포를 갖도록 조정된다.

- 단점 : 변수가 왜곡되거나 이상치가 있으면 좁은 범위의 관측치를 압축하여 예측력을 손상시킨다.

 

  • Min-Max scalling : Feature를 지정된 범위로 확장하여 기능을 변환한다. 기본값은 [0, 1]이다.

- 공식 : X_scaled = (X-Xmin) / (X_max - X_min)

- 단점 : 변수가 왜곡되거나 이상치가 있으면 좁은 범위의 관측치를 압축하여 에측력을 손상시킨다.

 

  • Robust scalling : 중앙값을 제거하고 분위수 범위(기본값 IQR)에 따라 데이터 크기를 조정한다.

- 공식 : X_scaled = (X-Xmedian) / IQR

- 장점 : 편향된 변수에 대한 변환 후 변수의 분산을 더 잘 보존한다. 이상치 제거에 효과적이다.

 

 

▶ 머신러닝 지도학습

feature_names 학습(훈련), 예측에 사용할 컬럼을 리스트 형태로 만들어 변수에 담아준다.
label_name 정답값
X_train feature_names에 해당되는 컬럼만 train에서 가져온다
ex) 시험의 기출문데
y_train ex) 기출문제의 정답
X_test feature_names에 해당되는 컬럼만 test에서 가져온다.
ex) 실전시험문제
model 학습, 에측에 사용할 머신러닝 알고리즘
model.fit(X_train, y_train) 학습(훈련), 기출문제와 정답을 가지고 학습(훈련)하는 과정과 유사하다.
model.predict(X_test) 예측, 실제 시험을 보는 과정과 유사하다 => 문제를 풀어서 정답을 구한다.
score 시험을 봤다면 몇 문제를 맞고 틀렸는지 채점해 본다.
metric 점수를 채점하는 공식이다.

 

'Python' 카테고리의 다른 글

[Python] MachineLearning_Ensemble  (0) 2023.03.27
[Python] MachineLearning_Tree  (0) 2023.03.27
[Python] Online_Retail  (0) 2023.03.27
[Python] Python_Data_visualization  (0) 2023.03.27
[Python] Pandas  (0) 2023.03.27
Comments