|
--- |
|
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 : |
|
|
|
```python |
|
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}") |
|
|