← Projects

FAA Wildlife Strike Damage Prediction

Built a machine learning pipeline to predict whether FAA-reported wildlife strikes would cause aircraft damage using historical aviation incident data. Focused on imbalanced classification, feature engineering, and improving balanced accuracy across damage classes.

Resume bullets

Copy-ready for a Projects section · Python, Machine Learning, Data Cleaning, Feature Engineering

  • Built an end-to-end Python ML pipeline to predict aircraft damage from FAA wildlife-strike data, focusing on imbalanced binary classification.
  • Cleaned noisy aviation fields and engineered features; trained and compared models with class-imbalance-aware evaluation (balanced accuracy).
  • Produced Kaggle-ready submissions (86% competition score) and documented the full workflow in Jupyter notebooks from EDA through evaluation.

Problem

Wildlife strikes are a persistent aviation safety issue, but predicting whether an incident will result in aircraft damage is difficult due to noisy, incomplete, and highly imbalanced FAA incident data. Our goal was to build a model that could classify damage vs. no-damage incidents while handling class imbalance effectively.

What I built

Developed an end-to-end machine learning workflow for preprocessing FAA wildlife strike data, engineering predictive features, training multiple classification models, and evaluating performance using balanced accuracy. The project included exploratory data analysis, model comparison, feature selection, and iterative tuning.

Architecture

The project followed a notebook-based machine learning workflow: exploratory data analysis first, then data cleaning, feature engineering, model training, evaluation, and Kaggle submission generation. The repository includes separate notebooks for EDA and the main modeling workflow, along with train/test data, an engineered parquet dataset, and submission files.

Technical challenges

The biggest challenge was building a model that performed well on a highly imbalanced classification problem, since most wildlife strikes do not cause damage. The raw data also included missing values, inconsistent categorical fields, high-cardinality aviation features, and noisy incident-report details, so the project required careful preprocessing and feature engineering before modeling.

Features

  • Exploratory data analysis of FAA wildlife strike records
  • Missing-value handling and data cleaning
  • Feature engineering from aviation incident fields
  • Classification models for damage prediction
  • Class-imbalance-aware evaluation
  • Kaggle-ready submission generation
  • Notebook-based documentation of the modeling process

Tech stack

Python, pandas, NumPy, scikit-learn, matplotlib, Jupyter Notebook

Results / metrics

The final model earned an 86% competition score. More importantly, the project was evaluated around the full modeling process: data cleaning, exploration, feature engineering, model comparison, code clarity, and the ability to explain the workflow during the project walkthrough.

What I learned

This project taught me how much real machine learning performance depends on the work before modeling: understanding the data, cleaning messy fields, choosing useful features, and picking metrics that match the problem. I also learned how to think beyond raw accuracy when classes are imbalanced, and how to explain an ML workflow clearly from initial exploration through final prediction.