GunjanSingh's picture
Upload README.md with huggingface_hub
5291d1e verified
---
license: mit
language: en
tags:
- text-classification
- sentiment-analysis
- scikit-learn
pipeline_tag: text-classification
---
# Sentiment Analysis Model
A simple sentiment analysis model that classifies text as positive, negative, or neutral using TF-IDF vectorization and Multinomial Naive Bayes.
## Model Details
- **Model Type**: Sentiment Classifier
- **Algorithm**: TF-IDF + Multinomial Naive Bayes
- **Classes**: Positive, Negative, Neutral
- **Framework**: Scikit-learn
## Usage
### Using Hugging Face Inference API
```python
import requests
API_URL = "https://api-inference.huggingface.co/models/GunjanSingh/sentiment-analysis-model"
headers = {"Authorization": f"Bearer {YOUR_TOKEN}"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
output = query({
"inputs": "I love this product!"
})
```
### Using Transformers Pipeline
```python
from transformers import pipeline
classifier = pipeline("text-classification", model="GunjanSingh/sentiment-analysis-model")
result = classifier("I love this product!")
```
### Using Direct API Call
```bash
curl -X POST "https://api-inference.huggingface.co/models/GunjanSingh/sentiment-analysis-model" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputs": "I love this product!"}'
```
## Example Output
```json
{
"text": "I love this product!",
"prediction": "positive",
"confidence": 0.85,
"probabilities": {
"negative": 0.05,
"neutral": 0.10,
"positive": 0.85
}
}
```
## Training
This model is trained on sample data using:
- TF-IDF vectorization with 1000 features
- English stop words removal
- 1-2 gram combinations
- Multinomial Naive Bayes classifier
## Performance
- **Training Time**: < 1 second
- **Inference Time**: < 10ms per prediction
- **Memory Usage**: ~10MB
- **Accuracy**: ~85% on sample data
## Alternative: Custom Space API
For more advanced features, you can also use the custom Space API:
```python
import requests
# Custom Space API (with more features)
space_url = "https://GunjanSingh-sentiment-analysis-demo.hf.space"
response = requests.post(f"{space_url}/predict",
json={"text": "I love this product!"})
result = response.json()
```
## Model Files
- `model.pkl`: Trained scikit-learn model
- `config.json`: Model configuration
- `model.py`: Inference pipeline
- `requirements.txt`: Dependencies
## Testing
You can test the model locally:
```python
from model import pipeline
# Create pipeline
classifier = pipeline("text-classification")
# Test prediction
result = classifier("I love this product!")
print(result)
```
## License
MIT License - feel free to use this model for your projects!