https://github.com/anikchand461/personality-predictor
A Streamlit web app that predicts whether a person is an introvert or extrovert based on behavioral data using a Random Forest classifier.
https://github.com/anikchand461/personality-predictor
classification introvert-extrovert machine-learning personality-prediction random-forest-classifier streamlit
Last synced: about 2 months ago
JSON representation
A Streamlit web app that predicts whether a person is an introvert or extrovert based on behavioral data using a Random Forest classifier.
- Host: GitHub
- URL: https://github.com/anikchand461/personality-predictor
- Owner: anikchand461
- Created: 2025-06-30T15:56:15.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-30T16:29:12.000Z (12 months ago)
- Last Synced: 2025-06-30T16:50:29.940Z (12 months ago)
- Topics: classification, introvert-extrovert, machine-learning, personality-prediction, random-forest-classifier, streamlit
- Language: Jupyter Notebook
- Homepage: https://personality-predictorr.streamlit.app
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ง Personality Predictor - Introvert vs Extrovert
A **Streamlit web app** that predicts whether a person is an **introvert or extrovert** based on behavioral traits using a **Random Forest Classifier**.
### ๐ Live Demo
๐ [Click to Try the App](https://personality-predictorr.streamlit.app)
---
## ๐ Features
* Takes in 4 simple inputs:
* Social event attendance
* Frequency of going outside
* Social media post frequency
* Friends circle size
* Predicts personality type: **Introvert ๐ชซ** or **Extrovert ๐**
* Built with:
* Python ๐
* Scikit-learn
* Streamlit
* Joblib
---
## ๐งช Dataset Info
* Source: [Kaggle Dataset](https://www.kaggle.com/datasets/rakeshkapilavai/extrovert-vs-introvert-behavior-data)
* 2900 rows ร 8 columns
* Preprocessing steps:
* Converted categorical variables to binary (Yes/No โ 1/0)
* Selected features with positive correlation to target
* Imputed missing values using `SimpleImputer`
* Used Random Forest for classification
---
## โ๏ธ How to Run Locally
### 1. Clone the Repository
```bash
git clone https://github.com/your-username/personality-predictor.git
cd personality-predictor
```
### 2. Install Requirements
```bash
pip install -r requirements.txt
```
### 3. Run Streamlit App
```bash
streamlit run app.py
```
---
## ๐ File Structure
```
โโโ app.py # Main Streamlit app
โโโ personality_model.pkl # Trained Random Forest model
โโโ requirements.txt # Python dependencies
โโโ README.md # Project documentation
```
---
## ๐ Model Performance
* โ
Accuracy: **90.3%**
* ๐ Rยฒ Score: **0.62**
* โ๏ธ Trained using `RandomForestClassifier` from Scikit-learn
---
## ๐ License
This project is licensed under the [MIT License](LICENSE).
---
## ๐โโ๏ธ Author
Developed by **Anik Chand**
๐ [LinkedIn](https://linkedin.com/in/anikchand) | [GitHub](https://github.com/your-username)