chore: update .gitignore, CLAUDE.md, training_log.json, and ml_filter.py

- Added .worktrees/ to .gitignore to prevent tracking of worktree files.
- Marked `optuna-precision-objective-plan` as completed in CLAUDE.md.
- Added new training log entry for a LightGBM model with updated parameters and performance metrics in training_log.json.
- Updated error handling in ml_filter.py to return False on prediction errors instead of True, improving the robustness of the ML filter.
This commit is contained in:
21in7
2026-03-05 20:04:15 +09:00
parent 2b92fd0dce
commit c555afbddc
4 changed files with 31 additions and 4 deletions

2
.gitignore vendored
View File

@@ -13,3 +13,5 @@ data/*.parquet
.worktrees/
.DS_Store
.cursor/
.worktrees/

View File

@@ -115,6 +115,6 @@ All design documents and implementation plans are stored in `docs/plans/` with t
| 2026-03-02 | `hold-negative-sampling` (design + plan) | Completed |
| 2026-03-03 | `position-monitor-logging` | Completed |
| 2026-03-03 | `adx-ml-feature-migration` (design + plan) | Completed |
| 2026-03-03 | `optuna-precision-objective-plan` | Pending |
| 2026-03-03 | `optuna-precision-objective-plan` | Completed |
| 2026-03-03 | `demo-1m-125x` (design + plan) | In Progress |
| 2026-03-04 | `oi-derived-features` (design + plan) | Completed |

View File

@@ -476,5 +476,30 @@
"reg_lambda": 0.082872
},
"weight_scale": 1.431662
},
{
"date": "2026-03-05T02:00:24.489871",
"backend": "lgbm",
"auc": 0.9448,
"best_threshold": 0.3075,
"best_precision": 0.452,
"best_recall": 0.463,
"samples": 3246,
"features": 26,
"time_weight_decay": 2.0,
"model_path": "models/lgbm_filter.pkl",
"tuned_params_path": null,
"lgbm_params": {
"n_estimators": 221,
"learning_rate": 0.031072,
"max_depth": 5,
"num_leaves": 20,
"min_child_samples": 39,
"subsample": 0.83244,
"colsample_bytree": 0.526349,
"reg_alpha": 0.062177,
"reg_lambda": 0.082872
},
"weight_scale": 1.431662
}
]

View File

@@ -149,8 +149,8 @@ class MLFilter:
)
return bool(proba >= self._threshold)
except Exception as e:
logger.warning(f"ML 필터 예측 오류 (폴백 허용): {e}")
return True
logger.warning(f"ML 필터 예측 오류 (진입 차단): {e}")
return False
def reload_model(self):
"""외부에서 강제 리로드할 때 사용 (하위 호환)."""