license: mit language: en tags: - sklearn - text-classification - psychology - mbti

MBTI Personality Predictor

This repository contains scikit-learn models for predicting MBTI personality types from text.

Model Details

This system consists of a TfidfVectorizer and four separate LogisticRegression models, one for each of the MBTI dimensions:

  • Mind: Introversion (I) vs. Extraversion (E)
  • Energy: Intuition (N) vs. Sensing (S)
  • Nature: Thinking (T) vs. Feeling (F)
  • Tactics: Judging (J) vs. Perceiving (P)

Intended Use

These models are intended for educational purposes and to demonstrate building an NLP classification system. They can be used to predict an MBTI type from a block of English text. This is not a clinical or diagnostic tool.

Training Data

The models were trained on the Myers-Briggs Personality Type Dataset from Kaggle, which contains over 8,600 entries of text from social media forums.

Training Procedure

Text was cleaned by removing URLs and punctuation, lemmatizing, and removing stopwords. The text was then vectorized using TF-IDF (max_features=5000, ngram_range=(1, 2)). Each LogisticRegression model was trained with class_weight='balanced' to counteract the natural imbalance in the dataset.

Evaluation Results

Average F1-Scores on the test set:

  • I/E Model: Macro F1-Score: ~0.79
  • N/S Model: Macro F1-Score: [Add Your Score]
  • F/T Model: Macro F1-Score: [Add Your Score]
  • J/P Model: Macro F1-Score: [Add Your Score]

How to Use

import joblib
from huggingface_hub import hf_hub_download

# Define the repo ID
repo_id = "YOUR_USERNAME/mbti-personality-predictor"

# Download all the model files
vectorizer = joblib.load(hf_hub_download(repo_id=repo_id, filename="mbti_vectorizer.joblib"))
model_ie = joblib.load(hf_hub_download(repo_id=repo_id, filename="mbti_model_ie.joblib"))
model_ns = joblib.load(hf_hub_download(repo_id=repo_id, filename="mbti_model_ns.joblib"))
model_ft = joblib.load(hf_hub_download(repo_id=repo_id, filename="mbti_model_ft.joblib"))
model_jp = joblib.load(hf_hub_download(repo_id=repo_id, filename="mbti_model_jp.joblib"))

# You can now use these objects for prediction...
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Space using Bur3hani/Personality4rmText 1