How to improve the result?
- Model hyperparameter tuning
- Ensembling different models
- Dataset balancing (you can also combine training and validation datasets)
- Feature engineering including:
- Clustering
- Tasseled cap transformation
- Spectral indices
- Using textural features (e.g. SAGA GIS)
- Reducing spatial resolution
- Additional features:
- Radar data from Sentinel 1
- Normalized digital surface model (nDSM)
- Panchromatic band (15 m)
- Satellite scene from another date(s)
- Post-processing:
- Modal filter
- Sieve filter
It is recommended to use a machine learning framework, e.g. tidymodels, mlr3 or scikit-learn.
Check out also programming language agnostic frameworks such as mlpack and H2O.