AI교육과정 - Python.17

단비·2023년 2월 23일
0

AI교육과정

목록 보기
69/69
  • Random Forest
    • Decision Tree 기반 Bagging 앙상블 모델
    • 굉장히 인기있는 모델
    • 사용성이 쉽고, 성능도 꽤 우수한 편

  • 앙상블(Ensemble) 모델
    • 머신러닝 앙상블이란 여러개의 머신러닝 모델을 이용해 최적의 답을 찾아내는 기법

  • 보팅(Voting): 모델에 대해 투표 결과를 도출
    • 다른 알고리즘 model을 조합해서 사용
    • 분류를 할 때 많이 사용(voting 하이퍼 파라미터를 사용)
      • hard: class를 0, 1로 분류 예측하는 이진 분류일 때 결과 값에 대한 다수 class를 사용
        • 예) 분류를 예측한 값이 1,0,0,1,1 이였다면 1이 3표, 0이 2표이므로 1이 최종값으로 예측 결과가 됨
      • soft: 각각의 확률의 평균값을 계산한 다음 가장 확률이 높은 값으로 확정
        • 예) class0이 나올 확률이 (0.4,0.9,0.9,0.4,0.4)이고, class1이 나올 확률이 (0.6,0.1,0.1,0.6,0.6)이라면 -> class0이 나올 최종 확률은 (0.4+0.9+0.9+0.4+0.4)/5 = 0.6이며 class1이 나올 최종 확률은 (0.6+0.1+0.1+0.6+0.6)/5 = 0.4가 되기 때문에 class0이 최종적으로 확률이 높은 것으로 판정

  • 배깅(Bagging): 샘플 중복 생성을 통해 결과를 도출
    • 같은 알고리즘 내에서 다른 sample 조합을 사용
    • Bagging은 Bootstrap Aggregating의 줄임말
    • Bootstrap은 여러개의 dataset을 중첩을 허용하여 샘플링하고 분할하는 방식을 뜻함
      • 예) 데이터셋의 구성이 [1,2,3,4,5]로 되어있다면
        1. group1 = [1,2,3]
        2. group2 = [1,3,4]
        3. group3 = [2,3,5]
      • 대표적인 Bagging 앙상블 모델은 Random Forest, Bagging 등

  • 부스팅(Boosting): 이전 오차를 보완해가면서 가중치를 부여
    • 장점: 성능이 매우 우수함
    • 단점: 잘못된 레이블이나 아웃라이어에 대해 필요 이상으로 민감. 다른 앙상블 대비 학습시간이 오래걸릴 수 있음
    • 대표적인 부스팅 모델은 lightGBM, XGBoost 등

  • 스태킹(Stacking): 여러 모델을 기반으로 예측된 결과를 통해 meta 모델이 다시 한 번 예측
    • 장점: 성능을 극으로 끌어올릴 때 활용
    • 단점: 과대적합을 유발할 수 있음(특히 데이터셋이 적은 경우)

  • ROC Curve
    • 이진 분류의 성능을 측정하는 도구
    • FPR(False Positive Rate): 특이도
      • 거짓 양성 비율(실제값은 음성이지만 양성으로 잘 못 분류)
      • FP/TN+FP
    • TPR(True Positive Rate): 민감도
      • 참인 양성 비율(실제로도 양성이괴 양성으로 잘 분류)
      • TP/FN+TP

  • AUC
    • Area Under the ROC Curve의 줄임말
    • ROC커브와 직성 사이의 면적을 의미
    • AUC 값의 범위는 0.5 ~ 1이며 값이 클수록 예측의 정확도가 높음

  • Feature Importances(피쳐 중요도)
    • 결정 트리에서 노드를 분기할 때, 해당 피쳐가 클래스를 나누는데 얼마나 영향을 미쳤는지 표기하는 척도
    • 0이면 클래스를 구분하는데 해당 피쳐가 선택되지 않았다는 것이며, 1이면 해당 피쳐가 클래스를 완벽하게 나누었다는 것을 의미

  • 스케일링
    • 데이터를 특정한 스케일로 통일하는 것
    • 데이터를 모델링하기 전에 스케일링 과정을 거치는 것이 좋음
    • 다차원의 값들을 비교 분석하기 쉽게 만들어주며 자료의 오버플로우나 언더플로우를 방지하여 최적화 과정에서의 안정성 및 수령 속도를 향상

  • 스케일링의 종류
    1. StandardScaler: 평균과 표준 편차를 사용. (X-평균/표준편차)
    2. MinMaxScaler: 최대/최소값이 각각 1과 0이 되도록 스케일링. (X-min/max-min)
    3. RoburtScaler: 중앙값과 IQR사용, 아웃라이어의 영향을 최소화. (X-Q2/Q3-Q1)
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글