Proyek ini dibuat untuk memahami dasar Data Science dan Machine Learning melalui studi kasus analisis sentimen komentar siswa SMK.
project/
├── data/
│ ├── raw/
│ │ └── Survey Kepuasan SMK_Train.csv
│ └── processed/
│ └── train_clean.csv
│
├── pages/
│ ├── Preprocessing.py
│ └── Train_Sentiment.py
│
├── reports/
│ ├── evaluation_report.txt
│ └── sample_prediction.csv
│
├── src/
│ ├── controller/
│ │ ├── preprocessing.py
│ │ ├── train_model.py
│ │ ├── evaluate_model.py
│ │ └── predict.py
│ │
│ └── model/
│ ├── sentiment_model.joblib
│ └── tfidf_vectorizer.joblib
│
├── app.py
├── requirements.txt
├── LICENSE.md
└── README.md
-
src/controller/preprocessing.py
Membersihkan teks dari data mentah agar siap digunakan untuk pelatihan. -
src/controller/train_model.py
Melakukan proses TF-IDF dan melatih model untuk mengenali sentimen. -
src/controller/evaluate_model.py
Menguji performa model menggunakan data uji untuk melihat tingkat akurasi. -
src/controller/predict.py
Menggunakan model yang sudah dilatih untuk memprediksi sentimen dari kalimat baru. -
app.py
Menjalankan aplikasi interaktif berbasis Streamlit untuk melakukan analisis sentimen secara visual.
| Library | Fungsi Utama |
|---|---|
pandas |
Membaca dan mengolah data CSV |
scikit-learn |
TF-IDF, Logistic Regression, evaluasi model |
Sastrawi |
Stemming Bahasa Indonesia |
joblib |
Menyimpan dan memuat model |
streamlit |
Membuat aplikasi web sederhana untuk prediksi |
File: Survey Kepuasan SMK_Train.csv
Fungsi: Training Data
Deskripsi: Digunakan untuk melatih model agar dapat mempelajari pola kata dan menentukan sentimen (positif atau negatif).
# 1. Instal dependensi
pip install -r requirements.txt
# 2. Jalankan aplikasi Streamlit
streamlit run app.py kalo gabisa pake python -m streamlit run app.pyMIT License 2025 smk-sentiment-analyzer