TensorFlow-based binary classification pipeline optimized for Apple Silicon to predict crack cocaine usage from demographic and personality data.
- Feature Engineering: Automated creation of risk scores, personality clusters, and interaction features
- EDA Visualizations: 8 comprehensive plots exploring feature distributions and correlations
- Apple Silicon Optimization: Uses
tensorflow-metalfor GPU acceleration on M1/M2/M3 chips - Class Imbalance Handling: Automatic class weight calculation
- Feature Importance Analysis: Three methods (Permutation, SHAP, Integrated Gradients)
# Install dependencies
pip install -e .
# Or with uv
uv pip install -e .python main.pyThe pipeline generates:
models/best_model.keras- Trained model checkpoint
eda_target_distribution.png- Class imbalance visualizationeda_demographics.png- Age, Gender, Education, Country, Ethnicityeda_personality_dist.png- Big Five personality traitseda_behavioral_scores.png- Impulsive & Sensation Seekingeda_correlation_heatmap.png- Feature correlationseda_pairplot.png- Pairwise relationshipseda_boxplots.png- Features by crack usageeda_violins.png- Distribution shapes
training_history.png- Loss, accuracy, AUC curvesevaluation_metrics.png- ROC, PR curves, confusion matrixfi_permutation.png- Permutation importance bar chartfi_shap_summary.png- SHAP beeswarm plotfi_shap_bar.png- Mean absolute SHAP valuesfi_shap_dependence.png- Top feature dependence plotsfi_shap_force.png- SHAP force plots for individual predictionsfi_integrated_gradients_bar.png- Integrated gradients bar chartfi_integrated_gradients_heatmap.png- Per-sample attribution heatmapfi_method_comparison_bars.png- Rankings comparison (grouped bars)fi_method_comparison_heatmap.png- Rankings comparison (heatmap)fi_method_comparison_table.png- Summary table with average ranksfeature_importance_all_methods.csv- All methods combinedfeature_importance_permutation.csv- Permutation importance only
Uses Drug_Consumption.csv with demographic (Age, Gender, Education, Country, Ethnicity) and personality features (Big Five, Impulsivity, Sensation Seeking) to predict crack usage (binary: Never Used vs Used).
See PIPELINE_ARCHITECTURE.md and VISUALIZATION_PLAN.md for detailed documentation.