Skip to main content

Project 5: Machine Learning Classification for Educational Outcomes

This project aimed to predict educational outcomes, specifically whether students would drop out, enroll, or graduate, based on various features. The dataset encompassed diverse information, including application modes, numerical features, and binary indicators.

Methodology: The project employed a range of machine learning models, employing various algorithms to find the most suitable for the classification task. Models included K-Nearest Neighbors, Gradient Boosting, Decision Trees, Random Forests, Support Vector Machines, Gaussian Naive Bayes, Neural Networks, Linear Discriminant Analysis, and Quadratic Discriminant Analysis.

Exploratory Data Analysis (EDA): Explored distribution of application modes, numerical features, and target variable. Utilized visualizations like pie charts, histograms, and correlation matrices for insights.

Data Preprocessing: Transformed the target variable into binary classes for simplification. Split the dataset into training and testing sets. Standardized numerical features using Z-score scaling. 

Modeling: Conducted Grid Search for optimal K value in K-Nearest Neighbors. Evaluated performance metrics for each model, including accuracy, confusion matrices, and classification reports. 

Results: The Random Forest Classifier emerged as the most effective model, achieving an accuracy of 84%. Other notable performers include the Decision Tree Classifier (80%) and the Support Vector Machine Classifier (83%). 

Challenges and Future Work: While the project yielded promising results, challenges such as class imbalance and suboptimal neural network performance were encountered. Future work could involve further hyperparameter tuning, feature engineering, and exploring ensemble techniques for enhanced predictive accuracy. 

Technologies Used: Python, scikit-learn, TensorFlow, seaborn, matplotlib 

The complete python code for the project can be accessed at: Github Repository 

This project reflects my proficiency in machine learning, data analysis, and model evaluation. It highlights my ability to tackle real-world challenges, optimize model performance, and communicate findings effectively. You can also checkout my Instagram, YouTube and Twitter pages.

Comments

Popular posts from this blog

Project 4: Insights from 'Olympics History' Data

 This report presents an analysis of the Olympics History dataset using Python and the Pandas library. The dataset contains information about athletes who participated in various Olympic events, including details such as age, height, weight, medals won, and more. The analysis aims to explore and visualize different aspects of the data to gain insights into athlete demographics, sports participation, and medal achievements. Data Loading and Overview The analysis begins with loading the dataset into a Pandas DataFrame named 'olympics.' The dataset contains information about Olympic athletes, including their personal details and performance records. After loading the data, we checked for basic information about the DataFrame using the info() method. This provided an overview of the columns, data types, and the presence of missing values. Missing Value Analysis Next, we conducted a missing value analysis by using the isna().sum() method to count the number of missing values in eac...

Project 3: Criminal Cases Against Indian Politicians

 The Indian Lok Sabha elections of 2019 saw intense political competition among various political parties and their candidates. However, it is also essential to evaluate the possibility of criminal charges against the candidates. In this regard, the data for criminal cases registered against Lok Sabha MPs, who contested in the 2019 elections, has been extracted from myneta.info. This data has been analyzed using Python libraries like pandas, NumPy, and other machine learning algorithms to predict criminal cases against the candidates. The Python script starts by scraping data from a specific URL using the requests library and parses the data using BeautifulSoup. The script then imports various libraries such as re, sqlite3, pandas, and numpy, and creates two tables (candidates and winners) using SQL queries in an SQLite database. It then inserts data into these tables using the executemany() method of the cursor object and saves the changes to the database using the commit() method...