A machine learning project implementing a Decision Tree Classifier to predict university admission chances based on standardized test scores.
This project was developed for UNIR (Rioja International University - Colombia) by Nicolas Zapata Alzate. It demonstrates the application of classification trees in predicting admission outcomes using student performance metrics.
The project uses the Admission_Predict.csv dataset containing the following features:
| Feature | Description |
|---|---|
| Serial No. | Unique identifier |
| GRE Score | Graduate Record Examination score (0-340) |
| TOEFL Score | Test of English as a Foreign Language score (0-120) |
| University Rating | University quality rating (1-5) |
| SOP | Statement of Purpose strength (1-5) |
| LOR | Letter of Recommendation strength (1-5) |
| CGPA | Cumulative Grade Point Average (0-10) |
| Research | Research experience (0 or 1) |
| Chance of Admit | Admission probability (0-1) |
- Model: Decision Tree Classifier
- Criterion: Gini Impurity
- Maximum Depth: 5
- Random State: 123 (for reproducibility)
- Missing value handling with
dropna(how='all') - Feature scaling using
StandardScaler - Train-test split: 75% training, 25% testing
- GRE Score (column index 0)
- TOEFL Score (column index 1)
- Target: Chance of Admit (column index 2, converted to categorical)
pandas
numpy
scikit-learn
matplotlib
statsmodels
Install dependencies:
pip install pandas numpy scikit-learn matplotlib statsmodelsRun the main script:
python main.pyThe script generates:
- Console output with the decision tree structure in text format
- A visual plot (
myplot.png) showing the decision tree diagram - Console output with accuracy metrics and model information
Classification_Tree_UNIR/
├── README.md
├── main.py
└── src/
├── Admission_Predict.csv
├── myplot.png
├── 1.png
└── 2.png
Nicolas Zapata Alzate - UNIR - Rioja International University, Colombia
This project is for educational purposes as part of the UNIR curriculum.