Sentiment_Analysis / README.md
DineshKumar1329's picture
Update README.md
e4bef3e verified
metadata
license: mit
language:
  - en
metrics:
  - accuracy
library_name: sklearn
pipeline_tag: text-classification
tags:
  - code

Sentiment Analysis Model

Overview

This repository contains a sentiment analysis model trained using scikit-learn for predicting sentiment from text inputs. The model leverages TF-IDF vectorization for text representation and a machine learning classifier for sentiment classification.

Model Details

  • Model Name: Sentiment Analysis Model
  • Framework: scikit-learn
  • Model Type: TF-IDF Vectorization + Machine Learning Classifier
  • Architecture: Linear SVM Classifier
  • Input: Text
  • Output: Sentiment Label (Positive/Negative)
  • Performance: Achieves 93% accuracy on test dataset

Download the Vectorizer model first and load the model :

Usage :

from huggingface_hub import hf_hub_download
import joblib
from sklearn.preprocessing import LabelEncoder

# Download and load the sentiment analysis model from Hugging Face Model Hub
model = joblib.load(hf_hub_download("DineshKumar1329/Sentiment_Analysis", "sklearn_model.joblib"))

# Load the TF-IDF vectorizer
tfidf_vectorizer = joblib.load(hf_hub_download("DineshKumar1329/Sentiment_Analysis", "vectorizer_model.joblib"))

def clean_text(text):
    return text.lower()

def predict_sentiment(user_input):
    """Predicts sentiment for a given user input."""
    cleaned_text = clean_text(user_input)
    input_matrix = tfidf_vectorizer.transform([cleaned_text])
    prediction = model.predict(input_matrix)[0]

    if isinstance(model.classes_, LabelEncoder):
        prediction = model.classes_.inverse_transform([prediction])[0]

    return prediction

# Get user input
user_input = input("Enter a sentence: ")

# Predict sentiment
predicted_sentiment = predict_sentiment(user_input)

# Output the prediction
print(f"Predicted Sentiment: {predicted_sentiment}")