ML / 01 · Classification

EasyVisa Approval Prediction

Predicting whether a US work-visa application is likely to be certified, so case officers can prioritize review capacity toward the applications most likely to need it.

XGBoostRandom ForestAdaBoostGradient BoostingSMOTE / class balancingscikit-learn
25K+applications
86.7%test recall
78.7%test precision
82.5%test F1

The problem

The Office of Foreign Labor Certification processes tens of thousands of visa applications every year with a limited review team. Manually reviewing every case is slow, and a wrong denial or a wrong approval both carry real cost — so the model is deliberately optimized to catch likely denials before they consume review time, rather than to maximize plain accuracy.

Approach

The dataset (25,000+ historical applications) was cleaned and feature-engineered from applicant education, job experience, prevailing wage, employer region, and full-time status. Because approvals substantially outnumber denials in the raw data, the model comparison specifically tracked recall on the denied class as the optimization target, not just overall accuracy — missing a likely denial is more expensive than double-checking a likely approval.

Four ensemble classifiers were tuned with grid search and 5-fold cross-validation, each under both oversampled and undersampled variants:

Model comparison (validation set)

ModelRecallPrecisionF1
AdaBoost (oversampled)93.0%71.5%80.8%
Random Forest (undersampled)72.2%81.7%76.7%
Gradient Boosting (oversampled) — selected80.5%78.7%79.6%
XGBoost (oversampled)84.5%78.0%81.1%

Gradient Boosting (oversampled) is the model the notebook carries forward. It does not win every validation metric: AdaBoost has the highest recall (93.0%) but lower precision (71.5%), and XGBoost has a slightly higher F1 (81.1%). The choice reflects a recall-versus-precision trade-off. On the held-out test set, Gradient Boosting scored: 75.4% accuracy, 86.7% recall, 78.7% precision, 82.5% F1.

Key insight

A pure-accuracy model would have looked better on paper but would have quietly let more denials slip through unreviewed. Optimizing for recall on the minority (denied) class, even at a moderate precision cost, is what actually reduces reviewer workload downstream.

View source notebook ↗ Back to all projects