본문 바로가기

분류 전체보기365

AI 7일차 (2023-05-16) 인공지능 기초 _머신러닝 - Bagging(배깅) Bagging(배깅) ㄴ Bootstrap Aggregation의 약자 ㄴ 배깅은 샘플을 여러 번 뽑아(Bootstrap) 각 모델을 학습시켜 결과물을 집계 (Aggregration) 하는 방법 ㄴ 데이터로부터 부트스트랩 한 데이터로 모델을 학습시키고 학습된모델의 결과를 집계하여 최종 결과값을 도출 from sklearn.ensemble import BaggingRegressor from xgboost import XGBRegressor model = BaggingRegressor(XGBRegressor(), n_estimators=100, n_jobs=-1, random_state=72 ) ml16_bagging_iris.py import numpy as np from sklearn.model_sele.. 2023. 5. 16.
AI 7일차 (2023-05-16) 인공지능 기초 _머신러닝 - 하이퍼파라미터 튜닝_GridSearchCV (그리드서치) GridSearchCV (그리드서치) ㄴ 하이퍼파라미터 튜닝 : 임의의 값들을 넣어 더 나은 결과를 찾는 방식 → 수정 및 재시도하는 단순 작업의 반복 ㄴ 그리드 서치 : 수백 가지 하이퍼파라미터값을 한번에 적용 가능 ㄴ 그리드 서치의 원리 : 입력할 하이퍼파라미터 후보들을 입력한 후, 각 조합에 대해 모두 모델링해보고 최적의 결과가 나오는 하이퍼파라미터 조합을 확인 ㄴ 예를들어 하이퍼파라미터로 max_depth와 learning_rate를 사용한다고 가정 ㄴ 다음과 같이 하이퍼파라미터 별로 다양한 값들을 지정해줌 = > 그리드 서치로 적용하면 다음과 같이 9가지 조합이 만들어짐 ㄴ 이렇게 9가지 조합을 각각 모델링 ㄴ 보통 그리드 서치에서는 교차검증의 횟수만큼 곱해진 횟수가 모델링됨 ㄴ 예를 들어 위의.. 2023. 5. 16.
AI 6일차 (2023-05-15) 인공지능 기초 _머신러닝 - Boosting 계열의 모델 부스팅 (Boosting ) ㄴ Boosting이란 약한 분류기를 결합하여 강한 분류기를 만드는 과정 ㄴ 각 0.3의 정확도를 가진 A, B, C를 결합하여 더 높은 정확도, 예를 들어 0.7 정도의 accuracy를 얻는 게 앙상블 알고리즘의 기본 원리 ㄴ Boosting은 이 과정을 순차적으로 실행 ㄴ A 분류기를 만든 후, 그 정보를 바탕으로 B 분류기를 만들고, 다시 그 정보를 바탕으로 C 분류기를 만듦 Adaptive Boosting (AdaBoost) ㄴ 다수결을 통한 정답 분류 및 오답에 가중치 부여 Gradient Boosting Model (GBM) ㄴ Loss Function의 gradient를 통해 오답에 가중치 부여 ㄴ LightGBM, CatBoost, XGBoost - Gradi.. 2023. 5. 16.
AI 6일차 (2023-05-15) 인공지능 기초 _머신러닝 - Feature Importances Feature Importances ㄴ 머신러닝 모델에서 각 특성(feature)이 예측 결과에 얼마나 중요한 역할을 하는지를 나타내는 지표 ㄴ 모델링 과정에서 특성 선택(feature selection)이나 특성 중요도 파악에 활용될 수 있음 = > 중요한 특성을 선택하거나 불필요한 특성을 제거할 수 있음 --> 모델의 복잡성을 줄이고 과적합을 방지 ㄴ 일반적으로 트리 기반 알고리즘인 Decision Tree, Random Forest, Gradient Boosting 등에서 Feature Importances를 계산할 수 있음 ㄴ 각 특성의 중요도는 해당 특성이 분기 결정에 얼마나 크게 기여하는지를 측정한 값임 ㄴ 일반적으로 Feature Importances 값은 0과 1 사이의 값으로 표현되며, .. 2023. 5. 15.
AI 6일차 (2023-05-15) 인공지능 기초 _머신러닝 - K-Fold 와 StratifiedKFold K-Fold ㄴ ML 모델에서 가장 보편적으로 사용되는 교차 검증 기법 ㄴ K개의 데이터 폴드 세트를 만들어서 K번만큼 각 폴드 세트에 학습과 검증 평가를 수행 KFold 와 StratifiedKFold ㄴ scikit-learn에서 제공하는 교차 검증(Cross-validation) 전략 ㄴ KFold ㄴ 데이터를 k개의 폴드(fold)로 나누어 각 폴드를 한 번씩 테스트 세트로 사용하고 나머지 폴드들을 훈련 세트로 사용하여 모델을 학습 및 평가 ㄴ 데이터를 무작위로 섞은 후에 나누기 때문에 일반적으로 데이터셋이 충분히 큰 경우에 사용됩니다. ㄴ StratifiedKFold ㄴ KFold와 유사하지만 클래스별 비율을 유지하는 데에 초점을 둔 교차 검증 전략 ㄴ 각 폴드에서 훈련 세트와 테스트 세트에 속.. 2023. 5. 15.
AI 6일차 (2023-05-15) 인공지능 기초 _머신러닝 - All_Estimator All_Estimator ㄴ scikit-learn에 구현된 모든 추정기(estimator) 객체의 리스트를 반환 ㄴ scikit-learn은 다양한 종류의 추정기를 제공 ㄴ 분류 모델을 위한 DecisionTreeClassifier, RandomForestClassifier, LogisticRegression 등이 있음 ㄴ 회귀 모델을 위한 LinearRegression, RandomForestRegressor, GradientBoostingRegressor 등이 있음 ㄴ 이러한 다양한 추정기를 사용하여 데이터 분석 및 예측 모델링을 수행할 수 있음 ml06_all_estimator01.py import numpy as np from sklearn.datasets import load_iris from.. 2023. 5. 15.