0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan4 halaman

Machine Learning - Kharisma Sda - 8020210009

Dokumen ini membahas langkah-langkah pengembangan model klasifikasi sentimen teks menggunakan machine learning, termasuk eksplorasi data, preprocessing, pembagian dataset, pemilihan algoritma, pelatihan model, evaluasi, dan validasi model.

Diunggah oleh

Kharisma Sda
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan4 halaman

Machine Learning - Kharisma Sda - 8020210009

Dokumen ini membahas langkah-langkah pengembangan model klasifikasi sentimen teks menggunakan machine learning, termasuk eksplorasi data, preprocessing, pembagian dataset, pemilihan algoritma, pelatihan model, evaluasi, dan validasi model.

Diunggah oleh

Kharisma Sda
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 4

Nama:charisma sulistia dwi

amanatun
Nim:8020210009
Kelas:01PT6
Mata Kuliah:Machine
Learning II

1. Silahkan Jawab di sini

1. Eksplorasi Data

 Memahami struktur dataset, termasuk jumlah baris dan kolom, serta jenis label sentimen yang tersedia (positif,
negatif, atau netral).
 Melakukan analisis statistik deskriptif untuk memahami distribusi kelas sentimen.

2. Preprocessing Teks

 Tokenisasi: Memisahkan teks menjadi token atau kata-kata individual.


 Pembersihan Teks: Menghapus karakter khusus, tanda baca, dan tautan.
 Normalisasi: Mengubah teks menjadi huruf kecil semua, menghilangkan kata-kata yang tidak relevan
(stopwords), dan melakukan stemming atau lemmatization untuk mengubah kata-kata menjadi bentuk
dasarnya.
 Vectorization: Mengubah teks menjadi representasi numerik menggunakan teknik seperti TF-IDF (Term
Frequency-Inverse Document Frequency) atau Word Embeddings (misalnya, Word2Vec, GloVe).

3. Pembagian Dataset

 Membagi dataset menjadi subset pelatihan dan pengujian untuk menghindari overfitting dan memvalidasi
kinerja model.

4. Pemilihan Algoritma Klasifikasi

 Memilih algoritma klasifikasi yang sesuai untuk tugas sentimen analysis, seperti:
 Naive Bayes
 Support Vector Machines (SVM)
 Logistic Regression
 Decision Trees
 Random Forest
 Neural Networks (misalnya, LSTM, CNN untuk teks)

5. Pelatihan dan Penyetelan Model

 Melatih model menggunakan subset pelatihan.


 Melakukan penyetelan hyperparameter menggunakan teknik seperti Grid Search atau Random Search untuk
meningkatkan kinerja model.
 Menerapkan teknik seperti cross-validation untuk memastikan keandalan hasil.

6. Evaluasi Model

 Menggunakan metrik evaluasi yang relevan seperti:


 Akurasi: Proporsi prediksi yang benar secara keseluruhan.
 Presisi, Recall, dan F1-Score: Untuk masing-masing kelas sentimen.
 Confusion Matrix: Untuk mengevaluasi kinerja model secara lebih rinci.
 ROC-AUC: Untuk masalah klasifikasi biner jika relevan.
 Metrik khusus lainnya tergantung pada kebutuhan bisnis.

7. Validasi dan Penyempurnaan Model

 Menggunakan subset pengujian untuk menguji kinerja model yang dihasilkan.


 Menilai apakah model sudah cukup baik atau memerlukan peningkatan lebih lanjut.
 Jika diperlukan, kembali ke langkah 4 dan 5 untuk memperbaiki model.

8. Penyimpanan Model

 Menyimpan model yang telah dilatih untuk penggunaan di masa depan.

9. Penerapan dan Monitoring

 Menerapkan model pada data baru untuk memprediksi sentimen ulasan produk secara real-time.
 Memantau kinerja model secara berkala dan melakukan penyesuaian jika diperlukan.

Dengan mengikuti langkah-langkah ini dan memperhatikan teknik preprocessing teks yang tepat, pemilihan algoritma
klasifikasi yang sesuai, serta evaluasi model yang cermat, Anda dapat membangun model yang efektif untuk memprediksi
sentimen dari teks ulasan produk.

2. Silahkan Jawab di sini

Code Python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score,
confusion_matrix
import matplotlib.pyplot as plt

#membuat dataset All menggunakan pandas


All_df = pd.read_csv('/content/All.csv', sep=';')
# Pembagian dataset menjadi fitur (X) dan target (y)
y = All_df.iloc[:-1:]
X = All_df.iloc[:0:80]

# Create and train the model with one-vs-rest (OvR) strategy


#model = RandomForestClassifier()
model = KNeighborsClassifier(n_neighbors=3)

model.fit(X, y)

# Make predictions
predictions = model.predict(X_test)

# Calculate evaluation metrics


accuracy = accuracy_score(y_test, predictions)
precision = precision_score(y_test, predictions, average='weighted')
recall = recall_score(y_test, predictions, average='weighted')
f1 = f1_score(y_test, predictions, average='weighted')

print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)

# Create confusion matrix


cm = confusion_matrix(y_test, predictions)
print("Confusion Matrix:")
print(cm)

# Plot confusion matrix


plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)
plt.title('Confusion Matrix')
plt.colorbar()
All_names = []
tick_marks = np.arange(len(All_names))
plt.xticks(tick_marks, All_names, rotation=45)
plt.yticks(tick_marks, All_names)
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.tight_layout()
plt.show()

# Plot evaluation metrics


labels = ['Accuracy', 'Precision', 'Recall', 'F1 Score']
values = [accuracy, precision, recall, f1]
plt.bar(labels, values, color=['blue', 'green', 'orange', 'red'])
plt.xlabel('Metrics')
plt.ylabel('Value')
plt.title('Model Evaluation Metrics')
plt.ylim(0, 1)
plt.show()

Hasil Runing Code Python (Akurasi, Presisi, Recall, F-score)


Accuracy: 0.8927444794952681
Precision: 0.890977398160584
Recall: 0.8927444794952681
F1 Score: 0.8873830124764429

Analisis Hasil
Accuracy: Akurasi model adalah sekitar 89.27%. Akurasi mengukur seberapa sering model memberikan prediksi yang
benar secara keseluruhan dari semua prediksi yang dilakukan.
Precision: Presisi model adalah sekitar 89.10%. Presisi mengukur seberapa banyak dari prediksi positif yang sebenarnya
benar. Ini berarti sekitar 89.10% dari kelas yang diprediksi sebagai positif oleh model benar-benar positif.
Recall: Recall atau recall rate adalah sekitar 89.27%. Recall mengukur seberapa banyak dari kelas positif yang sebenarnya
telah diidentifikasi dengan benar oleh model. Dalam konteks ini, sekitar 89.27% dari kelas positif yang sebenarnya telah
diidentifikasi dengan benar oleh model.
F1 Score: F1 score adalah sekitar 88.74%. F1 score adalah harmonic mean dari precision dan recall. Ini memberikan
indikasi keseluruhan kinerja model, terutama ketika ada kelas yang tidak seimbang. Semakin tinggi F1 score, semakin baik
keseimbangan antara presisi dan recall.

*Apabila ada jawaban yang sama dengan yang lain maka dapat 50%

Anda mungkin juga menyukai