fix(ml): complete ML pipeline fixes and setup

- Fix CCI indicator to use HLC prices instead of close only
- Parse datetime column when loading enriched CSV
- Strip timezone from annotation timestamps
- Fix TA-Lib pattern names (CDL3WHITESOLDIERS, CDL3BLACKCROWS)
- Exclude programmatic label columns from training features
- Fix classification report to handle missing classes
- Update MLflow tracking to use localhost:5000
- Grant PostgreSQL permissions to ml_user

Pipeline now runs successfully end-to-end:
- Feature engineering: 2543 rows, 31 columns
- Annotation ingestion: 286 samples
- Training: 89.47% test accuracy with Random Forest
This commit is contained in:
Marko Djordjevic 2026-02-15 21:29:54 +01:00
parent ceb4103ec4
commit aa81d4f3d0
348 changed files with 1327 additions and 11 deletions

View file

@ -0,0 +1,23 @@
artifact_path: file:///home/homoludens/projekti/bitcon/candle_annotator/services/ml/mlruns/358560345319124639/models/m-045042d4be424487a3c0ff303d90466d/artifacts
flavors:
python_function:
env:
conda: conda.yaml
virtualenv: python_env.yaml
loader_module: mlflow.sklearn
model_path: model.pkl
predict_fn: predict
python_version: 3.13.5
sklearn:
code: null
pickled_model: model.pkl
serialization_format: cloudpickle
sklearn_version: 1.8.0
skops_trusted_types: null
mlflow_version: 3.9.0
model_id: m-045042d4be424487a3c0ff303d90466d
model_size_bytes: 793682
model_uuid: m-045042d4be424487a3c0ff303d90466d
prompts: null
run_id: f1a0c7b223484d019564929940766c10
utc_time_created: '2026-02-15 20:29:38.262687'

View file

@ -0,0 +1,15 @@
channels:
- conda-forge
dependencies:
- python=3.13.5
- pip
- pip:
- mlflow==3.9.0
- cloudpickle==3.1.2
- numpy==2.4.2
- pandas==2.3.3
- psutil==7.2.2
- pyarrow==22.0.0
- scikit-learn==1.8.0
- scipy==1.17.0
name: mlflow-env

View file

@ -0,0 +1,7 @@
python: 3.13.5
build_dependencies:
- pip
- setuptools==82.0.0
- wheel
dependencies:
- -r requirements.txt

View file

@ -0,0 +1,8 @@
mlflow==3.9.0
cloudpickle==3.1.2
numpy==2.4.2
pandas==2.3.3
psutil==7.2.2
pyarrow==22.0.0
scikit-learn==1.8.0
scipy==1.17.0