본문 바로가기

머신러닝/개념익히기36

머신러닝 앙상블 학습, 보팅 배깅 부스팅 - 앙상블 학습을 통한 분류는 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법 ▶ 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것. - 대부분 정형 데이터 분류 할 때 더 뛰어난 성능을 나타내고 있음. - 랜덤포레스트, 그래디언트 부스팅 알고리즘이 많이 애용되면서 XGBoost, LightGBM 등 다양한 알고리즘이 인기 * 보팅 Voting : 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정, 일반적으로 서로 다른 알고리즘을 가진 분류기를 결합 * 배깅 Bagging : 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정222, 각각의 분류기가 모두 같은 유형의 알고리즘 기반, 데이터 샘.. 2023. 8. 30.
머신러닝 교차검증을 보다 간편하게 해주는, cross_val_score() 1. 폴드 세트를 설정하고 2. for 루프에서 반복으로 학습/테스트 데이터의 인덱스를 추출하고 3. 반복적으로 학습/예측을 수행하고 예측 성능을 반환했음. ▶ 이를 간단하게 한꺼번에 해주는 API https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html#sklearn.model_selection.cross_val_score corss_val_score(estimator = Classifier/classifier냐 알고리즘 뭐냐, X=피쳐, Y=레이블 , scoring=예측 성능 평가 지표, cv= 교차검증폴드 수) ▷ classifier는 Stratified KFold 방식으로 되고, Reg.. 2023. 8. 22.
머신러닝 Stratified K 폴드 - 불균형한(imbalanced) 분포도를 가진 레이블(결정 클래스) 데이터 집합을 위한 K 폴드 방식 - 불균형한 분포도 : 특정 레이블 값이 특이하게 많거나 매우 적어서 분포가 한쪽으로 치우치는 것 ex. 대출사기데이터가 있음. 데이터 세트는 1억 건이고, 수십 개의 피처와 사기여부 O/X인 종속변수가 있음. > 이런 경우에는 당연히 대출 사기가 아주아주 적겠지? > 예를 들어 대출 사기건수가 1억 개중에 약 1000건이 있다고 한다면 0.0001%임. > 그래서 이걸로 K 폴드로 랜덤하게 학습 및 테스트 세트를 나눈다면 비율이 제대로 나눠지지 않는 경우가 생김 >> 즉, 사기 O 가 한쪽에 쏠릴 수도 있고, 아예 없을 수도 있음 > 하지만 대출 사기를 예측하기 위한 거니까 매우매우매우 중요한 세트라.. 2023. 8. 22.
머신러닝 교차검증, K-Fold Cross Validation 모델이 학습 데이터에만 과도하게 최적화되어 예측을 다른 데이터로 수행하면 성능이 과도하게 떨어지는 것 - 고정된 학습데이터와 테스트 데이터로만 하다보면 평향되게 모델을 유도할 수 있음. : 그래서 고정된 테스트데이터를 쓰면 괜찮은데 다른 값의 테스트 데이터 셋이 들어가면 성능이 떨어질 수 있음. ▶ 그래서 이럴때 하는 것이 교차검증 - 데이터 편중을 막기 위한 것 - 별도의 여러 세트로 구성된 학습 데이터 세트 / 검증 데이터 세트에서 학습과 평가를 수행 하는 것 ▶ 그래서 각 세트에서 수행한 평가 결과에 따라 하이퍼 파라미터 튜닝을 통해 최적화를 더욱 손쉽게 ▷ 학습 / 검증 / 테스트 데이터 세트로 나눠서 모델을 다양하게 평가하는데 사용할 수 있음. - K개의 데이터 폴드(Fold) 세트를 만들어서 .. 2023. 8. 6.