|
Fake Profile Detection |
|
# π¨ Fake Instagram Profile Detection using Machine Learning |
|
|
|
This project is a real-time Instagram profile analyzer that predicts whether a given profile is **fake** or **real** using machine learning. It uses profile metrics like follower count, following count, post count, and verification status to make predictions. |
|
|
|
--- |
|
|
|
## π How It Works |
|
|
|
- You enter an Instagram **username**. |
|
- The application uses the **Apify API** to fetch public profile data. |
|
- It extracts key features such as: |
|
- Number of followers |
|
- Number of followings |
|
- Number of posts |
|
- Is the account private? |
|
- Is the account verified? |
|
- These features are passed into a pre-trained **machine learning model** (`classifier.pkl`) to predict whether the profile is real or fake. |
|
|
|
--- |
|
|
|
## π Technologies Used |
|
|
|
- **Python** |
|
- **Streamlit** β for building the web app |
|
- **Joblib** β for loading the ML model |
|
- **Apify API** β to scrape Instagram data |
|
- **Scikit-learn** β for training the ML model |
|
- **Pandas, NumPy** β for data manipulation |
|
|
|
--- |
|
|
|
## π§ ML Model |
|
|
|
The model is trained using a labeled dataset containing Instagram profile attributes. The classification is binary: |
|
- `0` β Likely Fake |
|
- `1` β Likely Real |
|
|
|
The training includes feature normalization and multiple algorithm trials like Logistic Regression, Decision Trees, and Random Forests. The final deployed model is chosen based on accuracy and generalization. |
|
|
|
--- |
|
|
|
## π₯οΈ Project UI |
|
|
|
- The app is built with **Streamlit** for a clean and interactive interface. |
|
- Users simply input a **username** and click **Predict**. |
|
- Output shows the profileβs stats and the prediction result with appropriate messaging (Success/Error). |
|
|
|
--- |
|
|