머신러닝 특강 01 - 분류 분석

Data_Student·2024년 11월 26일
0

머신러닝

목록 보기
8/10

01. 머신러닝 특강 - 분류 분석

  • 분류 문제에 사용하는 성능 지표 확인
  • 분류 문제 해결에 적합한 머신 러닝 모델 확인
  • 실제 코드를 통해 머신 러닝으로 분류 문제를 해결

1. 분류모델

  • 문제와 정답을 함께 주고 학습하는 지도 학습의 경우 크게 분류와 예측 두 가지로 나눌 수 있음
  • 정답에 해당하는 타겟 변수가 범주형 변수인 경우 분류 모델
    • 문제 정의 및 퍼포먼스에 따라 타겟 변수가 연속형 변수더라도 범주형으로 변환하여 수행 가능

1) 성능 지표

  • 혼동행렬(Confusion Matrix) ★★

    • 모델이 예측한 결과와 실제 결과를 비교하여 만들어진 행렬(테이블)
    • 모델의 분류 성능을 한 눈에 알 수 있어서 편리
  • 구분

    • 실제 - 모델 순
    • TP (True Positive) : 실제 양성을 양성으로 분류
    • FP (False Positive) : 실제 음성을 양성으로 분류
    • TN (True Negative) : 실제 양성을 음성으로 분류
    • FN (False Negative) : 실제 음성을 음성으로 분류
  • 분류 모델의 성능 지표

    • 정확도(Accuracy) : 전체 데이터 셋에서 실제 값을 제대로 맞춘 비율
    • 정밀도(Precision) : 모델이 양성으로 분류한 값 중에 실제 양성의 비율
    • 민감도(Sensitivity) : 실제 값이 양성인 데이터 중에서 양성으로 분류한 비율 ( = 재현율(Recall) )
    • F1 Score : 정밀도와 재현율의 조화 평균
  • 분류 모형

  • 자주 사용되는 모형

    • 로지스틱 회귀(Logistic Regression)
    • KNN(K-Nearest)
    • 나이브 베이즈(Naive Bayes)
    • 서포트 벡터 머신(SVM, Support Vector Machine)
    • 랜덤 포레스트(Random Forest)
    • 다중 퍼셉트론(Multi-Layer Perceptron)

2. 로지스틱 회귀 분석 (Logistic Regreesion)

  • 독립 변수의 선형 결합을 이용해서 사건의 발생 가능성(확률)을 예측하는데 사용되는 모델

  • 타켓 변수가 주로 두 개의 범주(Yes/No)인 경우레 주로 사용

  • 이름에서 나타내는 것 처럼 Log를 활용한 계산

  • 모델 설명

    • 오즈(Odds)

      • 도박사들이 주로 쓰는 표기이며 성공 확률이 실패 확률에 비해 몇 배 더 높은지를 나타냄
      • 실패확률 대비 성공확률
    • 로짓(Logit)

      • 오즈에 자연로그를 취한 값
      • 확률 p에 대해 (-∞, +∞) 범위로 출력값을 조절
    • 로지스틱 함수

      • 선형 회귀식의 결과를 0과 1 사이의 확률값으로 변환하는 함수
        • 선형 회귀식의 결과는 연속성으로 0과 1 사이 범위를 초과할 수 있는데 이를 로짓 변화를 통해 변환
        • 로지스틱 회귀식 변형에 대해서는 내용 다시 참고하기! ★
  • 다중 클래스 분류

  • 로지스틱 회귀 분석은 이진 분류에 주로 사용되지만, 클래스가 3개 이상인 다중 클래스 분류에서 활용 가능

  • 방법
    1) One-Hot encoding 을 통해 N개의 클래스를 N차원의 벡터로 변환
    2) 각 차원에 대해서 로지스틱 회귀 분석을 수행
    3) 이때 각 차원의 예측값은 해당 클래스에 분류될 확률에 해당
    4) 확률이 가장 높게 나온 클래스로 해당 데이터를 분류 ( 이를 Hard Clustering 이라고 함 )


3. 랜덤 포레스트

  • 여러 개의 의사결정나무(Decision Tree)를 학습시켜 성능을 높이는 앙상블 학습 방법

1) 의사결정나무(Decision Tree)

  • 한 번에 하나의 기준으로 데이터를 두 그룹으로 분류
  • 데이터를 분류할 때는 불순도가 낮아지는 방향으로 분류
    • 불순도 :
      • 한 집단에 각기 다른 클래스의 비중이 비슷하게 있다면 불순도가 높은 상태
      • 불순도가 낮은 방향 → 두 그룹으로 나눴을 때 각각의 그룹은 비슷한 클래스끼리 그룹화

2) 앙상블 (Ensemble)

  • 하나의 모델을 사용하는 것이 아닌, 여러 개의 모델을 결합하여 모델의 성능을 높이는 방식
  • 예 ) 배깅(Bagging), 부스팅(Boosting)

3) 랜덤 포레스트(Random Forest)

  • 여러 개의 의사결정나무를 결합하여 분류 및 예측 모델에 활용하는 모델로 대표적인 앙상블 모델 중 하나

  • 각각의 트리를 학습할 때마다 Feature의 일부만을 랜덤하게 선택하여 사용

  • 분류 모델의 경우, 여러 의사결정나무에서 분류한 결과에서 투표를 통해 최종 결과를 선택

  • Feature Importance

    • 각각의 의사결정나무를 학습할 때 어떤 Feature가 많이 사용되었는지에 따라서 모델 생성에 중요하게 동작한 Feature를 선정 가능

0개의 댓글