Codes

Here you will find the MATLAB and Python scripts, ML models, and datasets I created for various projects at different stages of my academic career. Since I continuously work on my professional skills, you will find that the code is of various levels of visual and mathematical perfection and elegance. I did my best to comment each script clearly and concisely, and to ensure everything works as expected. That said, I apologize for any errors, inconsistencies, or unclear parts in these materials. I am happy to share them and hope they will serve you well and help you get better results faster. 

Python codes 

MATLAB codes 

General Aircraft Design 

Get propeller mass from diam, material, number of blades - ML model and the Propeller dataset 

In the archive, you will find:
1) a code Run_prop_mass_prediction_model.ipynb  predicting propeller weight (in grams) based on diameter, material, and  blade count using two machine learning models trained on 114 propellers from  APC, Mejzlik, Xoar, and T-Motor;
2) both ML models (combined_general_5_60.pkl and combined_carbon_10_40.pkl);
3) dataset with 114 propeller data (from various sources on the Internet);
4) a README.txt file with the usage guidelines. and ML model description.

INPUT PARAMETERS
- Diameter (inches): 5-60 inches recommended range
- Material: Composite, Carbon, Beechwood, or Aluminium
- Blades: 2, 3, or 4

OUTPUT
- Estimated weight in grams (1 decimal place)
- Model used for prediction
- Expected accuracy range
- Warnings if outside training range

MODELS USED
- General Model: Gradient Boosting (5-60" diameter, 15% typical error)
- Carbon Model: Random Forest (10-40" diameter, 6-8% typical error)
- Fallback: Power law formulas (all sizes, 20-25% typical error)

ACCURACY NOTES
- Best accuracy: Carbon props 10-40 inches (6-8% error)
- Good accuracy: All props 5-60 inches (15% error)
- Acceptable accuracy: Outside ranges using formulas (20-25% error)

DEPENDENCIES
- Python 3.8+
- numpy, pandas, scikit-learn, joblib

FILES REQUIRED
- Run_prop_mass_prediction_model.ipynb (main script)
- combined_general_5_60.pkl (general ML model)
- combined_carbon_10_40.pkl (carbon ML model)

METHODOLOGY
The models were trained on  propeller data using:
- Feature engineering (diameter^2, diameter^3, log transformations)
- Gradient Boosting for general propellers
- Random Forest for carbon propellers
- Cross-validation to prevent overfitting
- Material factors derived from density ratios
Made on
Tilda