Gil EskayoAI Engineer · Security · Research

Resume Selector

Resume Selector using Naive Bayes

The story
Coursera Guided Project:

Built and trained a

01

Naive Bayes classifier

to automatically classify resumes as

flagged

or

not flagged

. The project applied

02

natural language processing (NLP)

techniques to preprocess resume text, vectorize features, and evaluate model performance.

Stack: Python, scikit-learn, NLTK, Gensim, pandas, Matplotlib, Seaborn.

03

Key Contributions

  • Data preprocessing: Cleaned raw resume text, removed stopwords, lemmatized/stemmed tokens, and applied custom preprocessing with gensim and nltk.
  • Exploratory Data Analysis: Examined class imbalance (92 not-flagged vs. 33 flagged resumes), visualized distributions, and generated word clouds for each category.
  • Feature engineering: Converted resume text into numerical features using CountVectorizer (bag-of-words).
  • Model training: Trained a Multinomial Naive Bayes classifier on 125 labeled resumes.
  • Evaluation: Achieved near-perfect results with:
    • Precision, Recall, F1-score = 1.00 (20% test split)
    • Accuracy = 97% (30% test split)
    • Visualized confusion matrices with seaborn heatmaps.
04

Skills Demonstrated

  • Machine Learning (Naive Bayes classification)
  • Natural Language Processing (text preprocessing, tokenization, stopword removal)
  • Feature extraction (bag-of-words, CountVectorizer)
  • Model evaluation (classification reports, confusion matrices)
  • Python ML stack: scikit-learn, nltk, gensim, pandas, matplotlib, seaborn
05
06

Generated Wordclouds

07

Project Certificate

← More AI & Machine Learning   All projects →