Loan Eligibility Predictor
Project Overview
Deployed Site: https://loan-eligibility-predictor-frontend.onrender.com
GitHub Repo: https://github.com/gitRasheed/loan-eligibility-predictor
I developed a loan eligibility prediction system consisting of two main components: a machine learning model built with Python and scikit-learn, and a user-friendly web application created with React utilising that ML model with a Flask API. This project demonstrates my skills in data science, machine learning, and full-stack web development.
Part 1: Machine Learning Model Development
Data Exploration and Preprocessing
Utilized pandas and numpy for data manipulation and analysis.
Performed exploratory data analysis (EDA) to understand the dataset's characteristics.
Engineered new features such as loan-to-income ratio, EMI, and loan-to-assets ratio.
Applied log transformations to handle skewed numerical columns.
Model Selection and Optimization
Experimented with multiple algorithms including Logistic Regression, Random Forest, and XGBoost.
Utilized Optuna for hyperparameter tuning and model optimization.
Implemented feature selection techniques to improve model performance.
Evaluated models using cross-validation and metrics such as accuracy and classification report.
Final Model: Random Forest Classifier
Selected Random Forest as the final model due to its superior performance.
Fine-tuned hyperparameters including n_estimators, max_depth, min_samples_split, and min_samples_leaf.
Achieved high accuracy in predicting loan eligibility.
Used joblib to save the trained model and scaler for deployment.
Part 2: React Web Application
Frontend Development
Built a responsive single-page application using React and Next.js.
Implemented a user-friendly form for loan application input using React hooks (useState, useCallback, useMemo).
Created custom components such as CurrencyInput and Tooltip for enhanced user experience.
Utilized Framer Motion for smooth animations and transitions.
Backend Integration
Developed a serverless API route using Next.js API Routes.
Implemented a POST endpoint to handle loan eligibility checks.
Used child_process to execute the Python script for predictions.
Key Features
Interactive loan term selection and credit score slider.
Real-time input validation and error handling.
Animated eligibility result display.
Tooltips for providing additional information to users.
Styling and UI/UX
Employed Tailwind CSS for styling.
Used Framer Motion for smooth animations, enhancing user engagement.
Deployment and Performance
Deployed the application using Render.com
Optimized component rendering using React's useMemo and useCallback hooks.
Technologies Used
Python (pandas, numpy, scikit-learn, joblib)
React and Next.js
TypeScript
Tailwind CSS
This project showcases my ability to develop end-to-end machine learning solutions, from data analysis and model development to creating intuitive user interfaces.