fix: resolve ML filter dtype error and missing BTC/ETH correlation features

- Fix LightGBM predict_proba ValueError by filtering FEATURE_COLS and casting to float64
- Extract BTC/ETH correlation data from embedded parquet columns instead of missing separate files
- Disable ONNX priority in ML filter tests to use mocked LightGBM correctly
- Add NO_ML_FILTER=true to .env.example (ML adds no value with current signal thresholds)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
21in7
2026-03-07 00:08:23 +09:00
parent dbc900d478
commit 89f44c96af
4 changed files with 24 additions and 7 deletions

View File

@@ -141,7 +141,8 @@ class MLFilter:
X = features[FEATURE_COLS].values.astype(np.float32).reshape(1, -1)
proba = float(self._onnx_session.run(None, {input_name: X})[0][0])
else:
X = features.to_frame().T
available = [c for c in FEATURE_COLS if c in features.index]
X = pd.DataFrame([features[available].values.astype(np.float64)], columns=available)
proba = float(self._lgbm_model.predict_proba(X)[0][1])
logger.debug(
f"ML 필터 [{self.active_backend}] 확률: {proba:.3f} "