-
2024-02-18스파르타/WIL(Weekly I Learned) 2024. 2. 19. 09:26
프로젝트와 자격증으로 인해서 제대로 적지 못했음 자격증 시험 끝나고 적을듯?
더보기17일 중간 결과물
17차
하이퍼 파라미터를 좀더 넓은 범위와 많이 건드려보고 많은 시도해봄 매우 오래 걸렸음
- 점수와 파라미터Model: model_rf Best Parameters: {'n_estimators': 100, 'min_samples_split': 8, 'max_depth': 44, 'criterion': 'gini'} Best F1-macro Score: 0.9477164467194635 Best Accuracy Score: 0.9528149047208994 Best Score: 0.9477164467194635Model: model_xgb Best Parameters: {'tree_method': 'exact', 'subsample': 0.7, 'n_estimators': 700, 'min_child_weight': 2, 'max_depth': 67, 'learning_rate': 0.39999999999999997, 'colsample_bytree': 0.635593220338983} Best F1-macro Score: 0.9513273108669399 Best Accuracy Score: 0.9529403178656576 Best Score: 0.9513273108669399
- Model: model_et Best Parameters: {'n_estimators': 600, 'min_samples_split': 5, 'max_depth': 49, 'criterion': 'entropy'} Best F1-macro Score: 0.9446519490642105 Best Accuracy Score: 0.9518847912243487 Best Score: 0.9446519490642105
- Model: model_dt Best Parameters: {'max_depth': 18, 'criterion': 'entropy'} Best F1-macro Score: 0.9430135747867038 Best Accuracy Score: 0.9507456596424569 Best Score: 0.9430135747867038
18차
16차와 17차 파라미터의 파라미터들을 조합해서 서로 비교
- 점수와 파라미터Model: model_rf Best Parameters: {'max_depth': 44, 'min_samples_split': 8} Best F1-macro Score: 0.9477164467194635 Best Accuracy Score: 0.9528149047208994 Best Score: 0.9477164467194635Model: model_xgb Best Parameters: {'colsample_bytree': 0.635593220338983, 'learning_rate': 0.39999999999999997, 'min_child_weight': 2, 'n_estimators': 700, 'subsample': 0.7} Best F1-macro Score: 0.9513273108669399 Best Accuracy Score: 0.9529403178656576 Best Score: 0.9513273108669399
- Model: model_et Best Parameters: {'criterion': 'entropy', 'max_depth': 49} Best F1-macro Score: 0.9446519490642105 Best Accuracy Score: 0.9518847912243487 Best Score: 0.9446519490642105
- Model: model_dt Best Parameters: {'max_depth': 18} Best F1-macro Score: 0.9430135747867038 Best Accuracy Score: 0.9507456596424569 Best Score: 0.9430135747867038
위 의 결과들을 이용해서 stack해볼려 했는데 기본적으로 해보는 횟수 안에 로지스틱회귀의 학습이 다 안끝나서 하지 못하였다(학습 횟수를 늘려도 되지만 그러지 않는 편이 의도에 맞게 제대로 될듯하여 일단 하지 않고 마무리 지었다)
def stacking_clf(data_train:pd.DataFrame, x_var_list:list): # 모델들과 하이퍼파라미터 그리드 정의 dt = DecisionTreeClassifier(random_state=42, max_depth=16, criterion='entropy') rf = RandomForestClassifier(random_state=42, min_samples_leaf=1, n_estimators=100, min_samples_split=5, max_depth=59, criterion='gini') et = ExtraTreesClassifier(random_state=42, min_samples_leaf = 1, n_estimators=600, min_samples_split=5, max_depth=59, criterion='gini') xgb = XGBClassifier(random_state=42, reg_lambda = 0.046, reg_alpha = 0.88, tree_method='exact', subsample=1.0, n_estimators=50, min_child_weight=3, max_depth=67, learning_rate=0.3, colsample_bytree=0.6779661016949152) base_estimators =[('model_dt',dt),('model_rf',rf),('model_et',et),('model_xgb',xgb)] stacking_model = StackingClassifier(estimators=base_estimators, final_estimator=LogisticRegression(), verbose=4) stacking_model.fit(data_train[x_var_list], data_train[target].replace(target_dict)) return stacking_model
그리고 17 stacking은 16차의 결과의 파라미터를 가지고 했고 18일날 추가로 18차의 결과 파라미터를 가지고 해주었지만 동일하게
- 결과창Increase the number of iterations (max_iter) or scale the data as shown in: https://scikit-learn.org/stable/modules/preprocessing.html Please also refer to the documentation for alternative solver options: https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression n_iter_i = _check_optimize_result(
- c:\Users\kssg1\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\linear_model\_logistic.py:460: ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
이런 식으로 떠서 어떻게 더 조절해줘야 할지 가늠이 안되서 자격증 공부를 마저하기 위해 마무리 지었다
추가적으로 이날 변수를 더 축약해서 4개중 가장 높던 2개, 그리고 그다음 높던 3개로 해봤었는데 오히려 점수가 낮아졌다고 판단되어 확인만하고 넘어가게 되었다
'스파르타 > WIL(Weekly I Learned)' 카테고리의 다른 글
2024-03-03 (0) 2024.03.03 2024-02-25(수정필요) (0) 2024.02.25 2024-02-11 (0) 2024.02.11 2024-02-04 (0) 2024.02.04 2024-01-28 (0) 2024.01.28