분류 전체보기
-
데이콘 관련 FAQ & Tip머신러닝/FAQ 2022. 8. 25. 08:46
제출파일을 만들 때 , index = False 꼭 잊지 말기 submission.to_csv("submission_횟수_방법.csv" , index = False) subplot 플로팅하기 (histogram) import matplotlib.pyplot as plt import seaborn as sns plt.figure(figsize = (40,40)) ## 해당 셀에서 실행될 fig size 설정 cols = train.columns for i in range(len(cols)): plt.subplot(8 , 3 , i +1) ### cols가 24개보다 크면 8:행 , 3:열 값 키워줘야함 plt.title(cols[i] , fontsize = 25) plt.hist(train[cols[i]]..
-
Optuna를 활용한 하이퍼파라미터 튜닝(오류 수정)머신러닝/Optuna 활용 Hyperparameter 튜닝 2022. 8. 25. 08:07
하이퍼파라미터를 튜닝하는 방식은 대표적으로 gridsearch와 같은 격자 방식의 파라미터 조합으로 튜닝하는 방식이 있으며 연속성 있는 파라미터를 선정하는 Optuna와 같은 방식이 있다. 비교적 간편하고 직관적인 gridsearchCV보다 까다롭지만 결과는 통상 더 성능이 상대적으로 뛰어난 Optuna를 활용해서 튜닝하는것을 설명해보고자 한다. 우선 Optuna 설치가 되지 않았다면 , pip install optuna 를 통해서 설치를 진행한다. 설치가 끝난 후 optuna 패키지를 import 합니다. import optuna from optuna.samplers import TPESampler objective func을 만들어야하는데 이때 trial.suggest_int (정수형 파라미터) , ..
-
Cross Validation (교차검증)머신러닝/Cross Validation(k-fold) 2022. 8. 25. 07:47
모델의 성능이 개선되었는지 , 셀프 검증이 필요할 때 교차검증을 통해 확인할 수 있다. 가장 심플하게 검증할 수 있는 방법을 제공하고자 한다. 한번에 여러개의 모델에 대한 교차검증을 통해 결과를 확인 가능하다. from sklearn.model_selection import KFold kfold = KFold(n_splits= 10) ### 10개로 fold를 나눈다. score_list_cat_reg = [] score_list_xgb_reg = [] ### 10개의 fold에서의 각 모델의 score값을 담는 list def rmse(real , pred): score = np.sqrt(np.mean(np.square(real - pred))) return score ### 평가 메트릭 선언(커스터마..
-
ML Algorithm 대표적인 Hyper parameter머신러닝/ML Hyperparameter 2022. 8. 25. 07:31
가장 많이 쓰이는 대표적인 알고리즘 4가지 (catboost , lgbm , xgboost , random forest)에 대해 하이퍼 파라미터에 대한 간략한 소개 및 세팅을 다뤄보고자 한다. 1) Catboost 하이퍼파라미터가 이미 최적화되어 있어서(default setting) 추가적으로 더 많이 하는것이 큰 의미는 없으나 굳이 한다면 iterations , learning _rate , random_strength , L2_regulariser 정도로 보면 좋다고 한다. iterations : 모델 몇번 돌릴것인가 , 500 ~ 10000(데이터가 가볍다면) learning_rate : 학습률 , 0.01 ~ 0.3 random_strength : 모델 과적합 방지 0~100 (정수형) 2) Li..
-
Pycaret을 활용한 fastest한 예측 결과 도출하기(회귀 내용 일부 추가)머신러닝/Pycaret 활용 2022. 8. 25. 06:37
pycaret은 AutoML 패키지중의 하나로 , 내장된 모든 머신러닝에 대해 학습 및 결과를 도출하여 튜닝 / 블렌딩 등의 다양한 편의성을 제공해주는 좋은 Tool이다. 일반적인 컴페티션에 참여할 때, 빠르게 전체적인 EDA 후에 꽤나 성능이 괜찮은 예측결과를 낼 수 있으나, 후반부로 갈수록 Customizing된 정교한 알고리즘(튜닝 및 기타 등등)에 의해 밀릴 수 있으므로 결과를 참조하는 정도의 기능으로만 활용하는것을 추천한다.(초반에는 빠르게 제출 가능) 우선 pycaret을 활용하기 위해서는 python 3.8 이하 버젼을 사용해야한다. 이미 3.9가 설치된 경우 , 가상환경에서 python을 3.8.x 버전으로 새로 설치해서 하는것을 권장한다. pycaret은 크게 setup(전처리) - co..