Fake Job Posting Detection is a Machine Learning-based application that identifies whether a job posting is genuine or fraudulent using Natural Language Processing (NLP). The system analyzes job descriptions, preprocesses the text, converts it into numerical features using TF-IDF, and classifies the posting using multiple machine learning algorithms.
- Exploratory Data Analysis (EDA)
- Data Cleaning and Preprocessing
- Text Preprocessing using NLTK
- TF-IDF Feature Extraction
- Logistic Regression Model
- Naive Bayes Model
- Random Forest Model
- Model Performance Comparison
- Interactive Streamlit Web Application
- Real-time Job Prediction
Fake_Job_Detection/
│
├── data/
├── eda/
├── model/
├── prediction/
├── preprocessing/
├── processed_data/
├── saved_model/
├── images/
├── app.py
├── main.py
├── README.md
├── requirements.txt
└── .gitignore
- Python
- Pandas
- Scikit-learn
- NLTK
- Imbalanced-learn (SMOTE)
- Joblib
- Streamlit
The following models were trained and evaluated:
| Model | Accuracy |
|---|---|
| Logistic Regression | 97.15% |
| Naive Bayes | 96.78% |
| Random Forest | 98.35% |
Best Performing Model: Random Forest
Dataset: Real or Fake Fake Job Posting Prediction
Source: https://www.kaggle.com/datasets/shivamb/real-or-fake-fake-jobposting-prediction
-
Clone the repository.
-
Install the required packages:
pip install -r requirements.txt- Run the Streamlit application:
streamlit run app.py-
Paste a job description into the text box.
-
Click Detect Job to classify the posting.
The application predicts whether a job posting is:
- ✅ Genuine Job
- 🚨 Fake Job
It also displays the prediction confidence score and the probability of each class.
Anna Rose Joshy


