88 lines
1.9 KiB
YAML
88 lines
1.9 KiB
YAML
# Machine Learning Model Configuration
|
|
|
|
pattern_graders:
|
|
# Individual pattern grading models
|
|
base_model_type: "RandomForestClassifier" # RandomForestClassifier, XGBoostClassifier
|
|
|
|
random_forest:
|
|
n_estimators: 100
|
|
max_depth: 10
|
|
min_samples_split: 5
|
|
min_samples_leaf: 2
|
|
max_features: "sqrt"
|
|
random_state: 42
|
|
n_jobs: -1
|
|
|
|
xgboost:
|
|
n_estimators: 100
|
|
max_depth: 6
|
|
learning_rate: 0.1
|
|
subsample: 0.8
|
|
colsample_bytree: 0.8
|
|
random_state: 42
|
|
|
|
# Feature selection
|
|
feature_selection:
|
|
enabled: true
|
|
method: "mutual_info" # mutual_info, f_test, chi2
|
|
top_k_features: 50
|
|
|
|
# Training configuration
|
|
training:
|
|
cv_folds: 5
|
|
scoring_metric: "f1_weighted"
|
|
early_stopping: true
|
|
patience: 10
|
|
|
|
setup_classifier:
|
|
# Meta-model for complete setup classification
|
|
model_type: "RandomForestClassifier"
|
|
|
|
# Strategy types
|
|
strategies:
|
|
continuation:
|
|
time_window_start: "03:00"
|
|
time_window_end: "03:15"
|
|
min_pattern_count: 2
|
|
required_patterns: ["fvg", "order_block"]
|
|
|
|
reversal:
|
|
time_window_start: "03:30"
|
|
time_window_end: "03:50"
|
|
min_pattern_count: 2
|
|
required_patterns: ["fvg", "liquidity"]
|
|
|
|
# Model evaluation
|
|
evaluation:
|
|
metrics:
|
|
- "accuracy"
|
|
- "precision"
|
|
- "recall"
|
|
- "f1_score"
|
|
- "roc_auc"
|
|
|
|
min_accuracy_threshold: 0.75
|
|
min_precision_threshold: 0.70
|
|
min_recall_threshold: 0.65
|
|
|
|
# Hyperparameter tuning
|
|
tuning:
|
|
enabled: false
|
|
method: "grid_search" # grid_search, random_search, optuna
|
|
n_iter: 50
|
|
cv_folds: 5
|
|
|
|
grid_search:
|
|
param_grids:
|
|
random_forest:
|
|
n_estimators: [50, 100, 200]
|
|
max_depth: [5, 10, 15]
|
|
min_samples_split: [2, 5, 10]
|
|
|
|
# Model registry
|
|
registry:
|
|
track_versions: true
|
|
auto_promote: false # Auto-promote best model to "latest"
|
|
min_improvement: 0.02 # Minimum improvement to promote (2%)
|
|
|