XGBoost와 표준화(standardization)를 하나의 파이프라인으로 생성하여 학습을 진행하면 나중에 파이프라인으로 추론시 표준화까지 처리됩니다. 포스트에서 사용하고 있는 스케일러인 StandardScaler 외에 RobustScaler, MinMaxScaler, Normalizer, QuantileTransformer, PowerTransformer 도 테스트를 통해 사용해보세요. 데이터셋에 따라 잘 동작하는 스케일러가 다릅니다. 테스트를 통해 스케일러를 적용 전후 또는 서로다른 스케일러 적용시 Optuna의 최적 파라미터값이 같을 수 있다는 것을 확인했습니다. 하지만 모델 추론시 차이가 발견되었습니다. 주의할 점은 데이터에 따라서는 이마저도 별차이가 없는 경우도 있습니다.2024. 7. 4..
Optuna를 사용하여 XGBoost의 최적 하이퍼 파라미터 구하는 예제코드입니다.2022. 03. 12 최초작성2024. 5. 292024. 7. 4import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scorefrom xgboost import XGBClassifierimport optunafrom sklearn.datasets import load_irisRANDOM_SEED = 42# Iris 데이터셋 로드iris = load_iris()df = pd.DataFrame(data=iris.data, columns=iris.feature_names)df['la..
XGBoost에서 GPU(cuda)를 사용하기 위해 테스트한 과정을 기록해놓았습니다. 선택적으로 필요한 부분만 확인하여 활용하세요.글 작성에 사용한 XGBoost 버전은 2.0.3입니다. 최초작성 2024. 6. 13결론부터 적어보면 큰 데이터를 학습/추론할때에는 GPU를 사용시 성능이 개선되었지만 작은 데이터를 학습/추론시에는 GPU를 사용해서 성능이 개선되기는 겨녕 오히려 CPU를 사용할때보다 안좋은 성능을 보였습니다. 우분투의 경우엔 XGBoost에서 GPU 사용 테스트시 문제가 없었지만 윈도우에서는 XGBoost에서 GPU를 제대로 사용못하는 현상이 있었습니다. CUDA가 설치되어 있는 우분투와 윈도우에서 테스트를 진행했습니다. CUDA 설치 과정은 다음 포스트를 참고하세요. 포스트에선 CUD..
RandomizedSearchCV를 사용하여 XGBoost의 최적 하이퍼 파라미터 구하는 예제코드입니다.최초작성 2024. 5. 30 import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split, RandomizedSearchCVfrom sklearn.metrics import accuracy_scorefrom xgboost import XGBClassifierfrom sklearn.datasets import load_irisRANDOM_SEED=42# Iris 데이터셋 로드iris = load_iris()df = pd.DataFrame(data=iris.data, columns=iris.feature..
XGBoost 관련 개념을 정리한 문서입니다. 논문을 보고 진행했어야 했는데 인터넷 자료를 바탕으로 작성하게 되었네요. 수식은 이해안되는 부분이 아직은 많아서 제외시켰습니다. 추후 논문을 확인해볼 생각입니다. 2022. 2. 22 최초작성 앙상블(Ensemble) 앙상블(Ensemble)은 여러 개의 모델을 사용해서 각각의 예측 결과를 만들고 그 예측 결과를 기반으로 최종 예측결과를 결정하는 방법입니다. 대표적인 예로 배깅(Bagging)과 부스팅(Boosting)이 있습니다. 베깅(Bagging) Bagging은 분할정복(divide and conquer and combine)과 같은 것입니다. 먼저 전체 훈련 데이터 세트를 여러개의 작은 샘플 훈련 데이터 세트로 나눕니다. 각각의 샘플 훈련데이터셋 별..
다음 두가지 XGBoost Warning을 해결하는 방법을 다룹니다. 2022. 4. 14 최초작성 WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.3.0/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior. eval_metric='mlogloss'를 추가하여 해결됩니다. UserWar..
Macbook m1에서 xgboost 코드 실행시 발생한 segmentation fault를 해결한 방법을 소개하고 있습니다. 전 5번까지 진행해야 segmentation fault 없이 xgboost 코드가 실행되었습니다. 최초작성 2022. 3. 9 출처 - https://pareekshithkatti.medium.com/setting-up-python-for-data-science-on-m1-mac-ced8a0d05911 1. pycaret를 설치합니다. pip install --no-dependencies pycaret 2. 다음 목록을 pycaret_requirements.txt 파일 이름으로 저장후 다음 명령으로 설치를 진행합니다. cat pycaret_requirements.txt | xar..