movie-sentiment-analyzer
Public
Created
Oct 20, 2025
Bu proje, IMDB film yorumlarını analiz ederek pozitif veya negatif duyguyu tahmin eder.
3
Stars
0
Forks
3
Watchers
0
Issues
Repository Details
Primary Language
Jupyter Notebook
Repository Size
41 MB
Default Branch
main
Created
October 20, 2025
Last Update
October 20, 2025
README.md
# 🎬 Movie Sentiment Analyzer
Bu proje, IMDB film yorumlarını analiz ederek pozitif veya negatif duyguyu tahmin eder.
## 🚀 Teknolojiler
- **Python 3.8+**
- **scikit-learn** - Makine öğrenmesi modeli
- **Streamlit** - Web arayüzü
- **NLTK** - Doğal dil işleme
- **Pandas & NumPy** - Veri işleme
- **Matplotlib & Seaborn** - Görselleştirme
## 📦 Kurulum
### 1. Repository'yi klonlayın
```bash
git clone https://github.com//movie-sentiment-analyzer.git
cd movie-sentiment-analyzer
```
### 2. Sanal ortam oluşturun ve aktif edin
```bash
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
```
### 3. Gerekli kütüphaneleri yükleyin
```bash
pip install -r requirements.txt
```
### 4. NLTK verilerini indirin
```bash
python -c "import nltk; nltk.download('stopwords'); nltk.download('punkt'); nltk.download('wordnet')"
```
## 📊 Veri
Proje IMDB Dataset of 50K Movie Reviews kullanmaktadır. Veri setini şuradan indirebilirsiniz:
- [Kaggle - IMDB Dataset](https://www.kaggle.com/datasets/lakshmi25npathi/imdb-dataset-of-50k-movie-reviews)
İndirdiğiniz `IMDB Dataset.csv` dosyasını `data/` klasörüne `imdb_reviews.csv` adıyla kaydedin.
## 🎯 Kullanım
### Model Eğitimi
```bash
python src/train_model.py
```
### Model Değerlendirme
```bash
python src/evaluate_model.py
```
### Tekil Tahmin
```bash
python src/predict.py "This movie was amazing, I loved it!"
```
### Streamlit Web Arayüzü
```bash
streamlit run app/streamlit_app.py
```
## 🧠 Örnek
```
Review: "This movie was amazing, I loved it!"
→ Prediction: Positive 😊
Review: "Terrible acting and boring plot."
→ Prediction: Negative 😞
```
## 📁 Proje Yapısı
```
movie-sentiment-analyzer/
├── data/
│ └── imdb_reviews.csv # IMDB veri seti
├── notebooks/
│ └── 01_data_preprocessing.ipynb # Veri analizi ve ön işleme
├── src/
│ ├── train_model.py # Model eğitimi
│ ├── evaluate_model.py # Model değerlendirme
│ └── predict.py # Tahmin scripti
├── app/
│ └── streamlit_app.py # Streamlit web uygulaması
├── requirements.txt # Python bağımlılıkları
├── README.md # Proje dokümantasyonu
└── .gitignore # Git ignore kuralları
```
## 🔬 Model Detayları
- **Algoritma**: Logistic Regression
- **Vektörizasyon**: TF-IDF (max_features=5000, ngram_range=(1,2))
- **Ön işleme**: Küçük harfe çevirme, noktalama temizleme, stopwords kaldırma
## 📈 Performans Metrikleri
Model performansı test veri seti üzerinde değerlendirilir:
- Accuracy (Doğruluk)
- Precision (Kesinlik)
- Recall (Duyarlılık)
- F1-Score
- Confusion Matrix
## 🤝 Katkıda Bulunma
1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/AmazingFeature`)
3. Değişikliklerinizi commit edin (`git commit -m 'Add some AmazingFeature'`)
4. Branch'inizi push edin (`git push origin feature/AmazingFeature`)
5. Pull Request oluşturun
## 📝 Lisans
Bu proje MIT lisansı altında lisanslanmıştır.
## 👨💻 Geliştirici
Proje sahibi: [@canuzlas](https://github.com/canuzlas)
## 🙏 Teşekkürler
- IMDB veri seti için Kaggle topluluğuna
- Scikit-learn ve Streamlit ekiplerine
# 🎬 Movie Sentiment Analyzer
Bu proje, IMDB film yorumlarını analiz ederek pozitif veya negatif duyguyu tahmin eder.
## 🚀 Teknolojiler
- **Python 3.8+**
- **scikit-learn** - Makine öğrenmesi modeli
- **Streamlit** - Web arayüzü
- **NLTK** - Doğal dil işleme
- **Pandas & NumPy** - Veri işleme
- **Matplotlib & Seaborn** - Görselleştirme
## 📦 Kurulum
### 1. Repository'yi klonlayın
```bash
git clone https://github.com/<username>/movie-sentiment-analyzer.git
cd movie-sentiment-analyzer
```
### 2. Sanal ortam oluşturun ve aktif edin
```bash
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
```
### 3. Gerekli kütüphaneleri yükleyin
```bash
pip install -r requirements.txt
```
### 4. NLTK verilerini indirin
```bash
python -c "import nltk; nltk.download('stopwords'); nltk.download('punkt'); nltk.download('wordnet')"
```
## 📊 Veri
Proje IMDB Dataset of 50K Movie Reviews kullanmaktadır. Veri setini şuradan indirebilirsiniz:
- [Kaggle - IMDB Dataset](https://www.kaggle.com/datasets/lakshmi25npathi/imdb-dataset-of-50k-movie-reviews)
İndirdiğiniz `IMDB Dataset.csv` dosyasını `data/` klasörüne `imdb_reviews.csv` adıyla kaydedin.
## 🎯 Kullanım
### Model Eğitimi
```bash
python src/train_model.py
```
### Model Değerlendirme
```bash
python src/evaluate_model.py
```
### Tekil Tahmin
```bash
python src/predict.py "This movie was amazing, I loved it!"
```
### Streamlit Web Arayüzü
```bash
streamlit run app/streamlit_app.py
```
## 🧠 Örnek
```
Review: "This movie was amazing, I loved it!"
→ Prediction: Positive 😊
Review: "Terrible acting and boring plot."
→ Prediction: Negative 😞
```
## 📁 Proje Yapısı
```
movie-sentiment-analyzer/
├── data/
│ └── imdb_reviews.csv # IMDB veri seti
├── notebooks/
│ └── 01_data_preprocessing.ipynb # Veri analizi ve ön işleme
├── src/
│ ├── train_model.py # Model eğitimi
│ ├── evaluate_model.py # Model değerlendirme
│ └── predict.py # Tahmin scripti
├── app/
│ └── streamlit_app.py # Streamlit web uygulaması
├── requirements.txt # Python bağımlılıkları
├── README.md # Proje dokümantasyonu
└── .gitignore # Git ignore kuralları
```
## 🔬 Model Detayları
- **Algoritma**: Logistic Regression
- **Vektörizasyon**: TF-IDF (max_features=5000, ngram_range=(1,2))
- **Ön işleme**: Küçük harfe çevirme, noktalama temizleme, stopwords kaldırma
## 📈 Performans Metrikleri
Model performansı test veri seti üzerinde değerlendirilir:
- Accuracy (Doğruluk)
- Precision (Kesinlik)
- Recall (Duyarlılık)
- F1-Score
- Confusion Matrix
## 🤝 Katkıda Bulunma
1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/AmazingFeature`)
3. Değişikliklerinizi commit edin (`git commit -m 'Add some AmazingFeature'`)
4. Branch'inizi push edin (`git push origin feature/AmazingFeature`)
5. Pull Request oluşturun
## 📝 Lisans
Bu proje MIT lisansı altında lisanslanmıştır.
## 👨💻 Geliştirici
Proje sahibi: [@canuzlas](https://github.com/canuzlas)
## 🙏 Teşekkürler
- IMDB veri seti için Kaggle topluluğuna
- Scikit-learn ve Streamlit ekiplerine
Quick Setup & Commands
Clone Repository
HTTPS
git clone https://github.com/canuzlas/movie-sentiment-analyzer.git
SSH
git clone git@github.com:canuzlas/movie-sentiment-analyzer.git
Essential Commands
Navigate to project
cd movie-sentiment-analyzer
Check status
git status