Skip to content

About

NLP-powered Resume Classification System using Machine Learning and Text Vectorization techniques.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Resume Classification using Naive Bayes

A simple NLP project that classifies resumes into job categories using a Bag of Words representation and a Multinomial Naive Bayes model.

Project Overview

This notebook cleans resume text, extracts features with CountVectorizer, trains a MultinomialNB classifier, evaluates the model, and saves the trained pipeline with Joblib.

Dataset

The dataset contains:

  • 13,389 resume samples
  • 2 columns: Category and Text
  • 43 classes in total

Workflow

  1. Load the dataset
  2. Explore category distribution
  3. Clean resume text
  4. Convert text to features with Bag of Words
  5. Train a Naive Bayes classifier
  6. Evaluate using accuracy, classification report, confusion matrix, and cross-validation
  7. Save the model as a .pkl file

Results

  • Test Accuracy: 71.32%
  • Cross-Validation Mean Accuracy: 68.35%

Category Distribution

Category Distribution

Confusion Matrix

Confusion Matrix

Sample Predictions

The trained model was tested with example resumes such as:

  • Data Scientist resume → predicted as Data Science
  • Frontend Developer resume → predicted as React Developer

Files in this project

  • Resume Classification using Naive Bayes.ipynb — main notebook
  • resume_classifier.pkl — saved trained model
  • requirements.txt — Python dependencies
  • images/ — result plots for GitHub README

How to Run

# 1. Install dependencies
pip install -r requirements.txt

# 2. Open the notebook
jupyter notebook

If you are running in Google Colab, upload the dataset and then run the notebook cells.

Requirements

This project uses:

  • pandas
  • numpy
  • scikit-learn
  • matplotlib
  • seaborn
  • joblib

Notes

This is a strong baseline NLP classification project, but it is not perfect yet. A few things can still be improved:

  • Google Colab-specific code (from google.colab import files) should be removed or replaced for GitHub/local use.
  • The dataset path is hardcoded as Dataset.csv, so make sure the file name matches in the repo.
  • Some classes have weaker recall, so future improvement could include TF-IDF, better preprocessing, or a tuned linear model.

Future Improvements

  • Replace Bag of Words with TF-IDF
  • Try Logistic Regression or Linear SVM
  • Tune hyperparameters with GridSearchCV
  • Add a simple web app or Streamlit demo

License

Add a license here if you plan to open-source the repository.

About

NLP-powered Resume Classification System using Machine Learning and Text Vectorization techniques.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages