Classification models output not just a class label but a probability for each class. A binary classifier returns numbers like [0.62, 0.38] — "62% confidence in class 0, 38% in class 1." Most EAs that use a classifier ignore the probability and just take the argmax. That's leaving information on the table. The probability is itself a signal — high-confidence predictions are more reliable than low-confidence ones.
The pattern
Instead of: "trade when the model says buy," use: "trade only when the model says buy with at least X% confidence." Sweep X from 0.50 (no filter) up to ~0.75 and pick the threshold that maximizes Sharpe in walk-forward testing.
Sizing by confidence (advanced)
Calibration caveat
The output probability is only meaningful if the model is well-calibrated — meaning that predictions with 70% confidence are correct about 70% of the time. Tree-based models and neural nets are not calibrated by default; they tend to be overconfident. Practical fixes:
- Platt scaling / isotonic regression in Python.
- Don't trust the absolute numbers, only the ranking. Pick the threshold empirically by sweeping in backtest.