본문 바로가기
728x90
반응형
SMALL

Learning-driven Methodology/ML (Machine Learning)67

[Machine Learning] ExtraTree ExtraTree ExtraTrees는 기본적으로 의사결정나무를 기반으로 한 앙상블 학습 방법이다. RandomForest와 같은 ExtraTrees는 특정 결정과 데이터 하위 집합을 무작위로 지정하여 데이터의 과잉 학습과 과적합을 최소화한다. 트리 모델 비교 모델 분산 (Variance) 특징 Decision Tree 높음 단일 의사결정 트리는 일반적으로 하나의 의사결정 경로에서만 학습하기 때문에 학습 중인 데이터에 과적합된다. 단일 의사결정 트리를 통한 예측은 일반적으로 새 데이터에 대해 정확한 예측을 제공하지 않는다. Random Forest 중간 랜덤 포레스트 모델은 다음을 통해 무작위성을 도입하여 과적합 위험을 줄인다. 여러 트리 구축 (n_estimators) 교체를 통한 관찰 그리기(즉, 부.. 2024. 1. 3.
imbalanced-learn imbalanced-learn imbalanced-learn은 데이터의 불균형 문제를 해결하기 위한 다양한 샘플링 방법을 구현한 파이썬 패키지이다. pip install -U imbalanced-learn https://imbalanced-learn.org/stable/ imbalanced-learn documentation — Version 0.11.0 User guide The user guide provides in-depth information on the key concepts of imbalanced-learn with useful background information and explanation. imbalanced-learn.org 2023. 10. 4.
[Machine Learning] 클래스 가중치 (Class Weight) 클래스 가중치 (Class Weight) from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier # 분류기와 파라미터 그리드 정의 classifier = RandomForestClassifier() param_grid = { 'class_weight': ['balanced', None], 'max_depth': [3, 5, 10], 'n_estimators': [80, 100, 150] } # GridSearchCV를 사용하여 최적의 파라미터 찾기 grid_search = GridSearchCV(classifier, param_grid, cv=5) grid_search.fit(X_.. 2023. 9. 22.
CatBoost CatBoost CatBoost는 Yandex에서 개발한 오픈 소스 소프트웨어 라이브러리이다. 이는 다른 기능 중에서 클래식 알고리즘과 비교하여 순열 기반 대안을 사용하여 범주형 기능을 해결하려고 시도하는 그레디언트 부스팅 프레임워크를 제공한다. pip install catboost import numpy from catboost import CatBoostRegressor dataset = numpy.array([[1,4,5,6], [4,5,6,7], [30,40,50,60], [20,15,85,60]]) train_labels = [1.2, 3.4, 9.5, 24.5] model = CatBoostRegressor(learning_rate=1, depth=6, loss_function='RMSE') .. 2023. 7. 12.
[Machine Learning] Boosting Methods (3) LightBoost LGBM (Light Gradient Boosting Machine)은 2017년 마이크로소프트에서 처음 출시되었으며 사용자가 선호하는 또 다른 Gradient Boosting 방법이며 의사 결정 트리 기반이다. 다른 방법과의 핵심적인 차이점은 잎을 기준으로 트리를 분할한다는 것이다. 즉, 포인트 촬영에 필요한 단위를 감지하고 중지할 수 있다 (다른 것은 깊이 기반 또는 레벨 기반임). LGBM은 잎 기반이므로 오차를 줄여 정확도와 속도를 높이는 측면에서 매우 효과적인 방법이다. 특수 알고리즘을 사용하여 범주형 데이터를 분할할 수 있지만 열의 문자열 이름 대신 인덱스와 같은 정수 값을 입력해야 한다. import numpy as np from time import time from l.. 2023. 7. 11.
[Machine Learning] Boosting Methods (2) XGBoost XGBoost (Extreme Gradient Boost)는 2014년 Tianqi Chen에 의해 처음 개발되었으며 그레디언트 부스트보다 훨씬 빠르기 때문에 선호되는 부스팅 방법이다. XGBoost는 확장 가능하고 매우 정확한 그레디언트 부스팅 구현으로 트리 알고리듬을 강화하기 위한 컴퓨팅 성능의 한계를 푸시하며 주로 기계 학습 모델 성능 및 계산 속도를 활성화하기 위해 구축된다. XGBoost를 사용하면 GBDT와 같이 순차적으로 트리가 아닌 병렬로 구축된다. 그것은 그레디언트 값을 스캔하고 이러한 부분 합계를 사용하여 훈련 세트에서 가능한 모든 분할에서 분할의 품질을 평가하는 level-wise (수준별) 전략을 따른다. 포함된 하이퍼파라미터 덕분에 정규화 하이퍼파라미터가 과적합을 방.. 2023. 7. 11.
[Machine Learning] Boosting Methods (1) Boosting Methods 앙상블 학습에서는 여러 학습 알고리즘으로 모델을 가장 성공적으로 훈련시키는 것을 목표로 한다. 앙상블 학습 중 하나인 배깅 방법에서는 동일한 데이터 세트의 서로 다른 하위 샘플에 두 개 이상의 모델을 병렬로 적용했다. 또한, 다른 방법이며 실제로 자주 사용되는 부스팅은 병렬 대신 순차적으로 구축되며 모델 훈련뿐만 아니라 알고리즘 훈련을 목표로 한다. 약한 알고리즘은 모델을 훈련시킨 다음 훈련 결과에 따라 재구성되고 학습하기 쉬워진다. 이 수정된 모델은 다음 알고리즘으로 전송되고 두 번째 알고리즘은 첫 번째 알고리즘보다 쉽게 학습된다. AdaBoost Adaptive Boost (Adaboost)는 의사 결정 나무에 기반한 분계점이 할당되고 분계점에 따라 예측이 이루어진다. .. 2023. 7. 11.
[Machine Learning] 무작위 탐색 (RandomizedSearchCV) 무작위 탐색 (RandomizedSearchCV) Random Search는 Grid Search의 단점들을 조금 보완하고자 나온 방법이다. 말 그대도 파라미터의 범위를 선정하고 값을 랜덤으로 설정하여 파라미터를 조합하고 평가하는 방식이다. Grid Search와 방식 자체는 유사하나 Grid Search보다 근사 최적값을 빨리 찾을 수 있다. 또한, 격자 형식의 Grid Search와 다르게 그 사이값들도 랜덤으로 탐색할 수 있기 때문에 그 안에서 더 좋은 값을 찾을 수 있다는 장점도 있다. 즉, 몇 번 학습과 평가를 반복할 것인지 시도의 수를 직접 설정할 수 있기 때문에 비교적 시간이 적게 걸린다. RandomizedSearchCV 가 사용하는 인자들은 GridSearchCV와 거의 동일하지만, n_.. 2023. 7. 10.
[Machine Learning] 그리드 탐색 (GridSearchCV) 그리드 탐색 (GridSearchCV) 머신 러닝에서 하이퍼파라미터란 간단하게 말해 사용자의 입력값 또는 설정 가능한 입력값이라고 이해할 수 있다. 사용할 데이터에 따라 가장 적합한 모델과 모델의 하이퍼파라미터값이 다르다. sklearn의 모듈 GridSearchCV는 머신 러닝 알고리즘에 사용되는 하이퍼 파라미터를 입력해 학습하고 검증하면서 가장 좋은 파라미터를 알려준다. 따라서, 학습하려는 하이퍼파라미터와 값 범위를 지정하기만 하면 GridSearchCV는 교차 검증을 사용하여 하이퍼파라미터 값의 가능한 모든 조합을 수행한다. 매개 변수 estimator 모델 객체 지정 param_grid 하이퍼파라미터 목록을 dictionary로 전달 scoring 평가 지표 cv 교차 검증시 fold 개수 n_j.. 2023. 7. 10.
[Machine Learning] Histogram-Based Gradient Boosting Ensembles Gradient Boosting Ensembles 부스팅은 트리 모델을 순차적으로 앙상블에 추가하는 앙상블 학습 알고리즘의 클래스를 말한다. 앙상블에 추가된 각 트리 모델은 앙상블에 이미 존재하는 트리 모델에 의해 발생한 예측 오류를 수정하려고 시도한다. 그레이디언트 부스팅은 AdaBoost와 같은 부스팅 알고리즘을 통계 프레임워크로 일반화하는 것으로, 훈련 과정을 가법 모델로 처리하고 임의 손실 함수를 사용할 수 있게 하여 기술의 능력을 크게 향상시킨다. 이와 같이 그레이디언트 부스팅 앙상블은 대부분의 구조화된 (ex: 표 형식 데이터) 예측 모델링 작업에 사용되는 기술이다. 그레이디언트 부스팅이 실제로 매우 잘 수행되지만 모델의 교육 속도가 느릴 수 있다. 이는 여러 CPU 코어를 활용하여 앙상블 멤.. 2023. 7. 7.
728x90
반응형
LIST