Sistem rekomendasi sudah menjadi bagian penting dalam berbagai aplikasi modern, mulai dari e-commerce hingga platform streaming. Di artikel ini, kita akan belajar cara membuat sistem rekomendasi sederhana menggunakan machine learning yang cocok untuk pemula.
Prasyarat Tutorial
- Python 3.7 atau lebih tinggi
- Library: pandas, numpy, scikit-learn
- Pemahaman dasar Python
- Dataset contoh (akan disediakan)
1. Persiapan Awal
Pertama, kita perlu menginstal library yang diperlukan. Buka terminal atau command prompt dan jalankan perintah berikut:
pip install pandas numpy scikit-learn
2. Dataset yang Digunakan
Untuk tutorial ini, kita akan membuat dataset sederhana berisi rating film dari beberapa pengguna. Berikut contoh kodenya:
import pandas as pd
import numpy as np
# Membuat dataset sederhana
data = {
'user_id': [1, 1, 1, 2, 2, 3, 3, 3, 4, 4],
'movie_id': [1, 2, 3, 1, 2, 1, 2, 3, 1, 3],
'rating': [5, 3, 4, 3, 4, 2, 4, 5, 5, 2]
}
df = pd.DataFrame(data)
print(df)
3. Membuat Matrix Rating
Langkah selanjutnya adalah mengubah data menjadi matrix rating user-item:
# Membuat matrix rating
rating_matrix = df.pivot(
index='user_id',
columns='movie_id',
values='rating'
).fillna(0)
print("Matrix Rating:")
print(rating_matrix)
4. Implementasi Collaborative Filtering
Kita akan menggunakan metode Collaborative Filtering berbasis item menggunakan cosine similarity:
from sklearn.metrics.pairwise import cosine_similarity
# Menghitung similarity antar item
item_similarity = cosine_similarity(rating_matrix.T)
# Membuat DataFrame similarity
item_similarity_df = pd.DataFrame(
item_similarity,
index=rating_matrix.columns,
columns=rating_matrix.columns
)
print("\nItem Similarity Matrix:")
print(item_similarity_df)
5. Fungsi Rekomendasi
Sekarang kita buat fungsi untuk memberikan rekomendasi film berdasarkan film yang disukai pengguna:
def get_movie_recommendations(movie_id, n_recommendations=2):
similar_scores = item_similarity_df[movie_id]
similar_movies = similar_scores.sort_values(ascending=False)[1:n_recommendations+1]
return similar_movies
# Contoh penggunaan
movie_id = 1
recommendations = get_movie_recommendations(movie_id)
print(f"\nRekomendasi untuk film {movie_id}:")
print(recommendations)
Tips Pengembangan
Untuk meningkatkan akurasi sistem rekomendasi, Anda bisa:
- Menambahkan lebih banyak data
- Menggunakan metode normalisasi rating
- Menerapkan teknik filtering tambahan
- Menggunakan algoritma yang lebih kompleks
6. Evaluasi Sistem Rekomendasi
Untuk mengevaluasi sistem rekomendasi, kita bisa menggunakan beberapa metrik:
from sklearn.metrics import mean_squared_error
import numpy as np
def calculate_rmse(y_true, y_pred):
mse = mean_squared_error(y_true, y_pred)
rmse = np.sqrt(mse)
return rmse
# Contoh evaluasi sederhana
actual_ratings = df['rating'].values
predicted_ratings = # hasil prediksi dari model
rmse = calculate_rmse(actual_ratings, predicted_ratings)
print(f"\nRoot Mean Square Error: {rmse:.2f}")
7. Pengembangan Lebih Lanjut
Beberapa cara untuk mengembangkan sistem rekomendasi ini:
- Implementasi Content-Based Filtering
- Penambahan fitur demographic filtering
- Penggunaan deep learning untuk rekomendasi
- Optimasi performa dengan caching
Catatan Penting
Dalam pengembangan sistem rekomendasi:
- Perhatikan skalabilitas sistem
- Pertimbangkan cold-start problem
- Lakukan A/B testing sebelum implementasi
- Monitor performa sistem secara berkala
Kesimpulan
Membuat sistem rekomendasi menggunakan machine learning tidak serumit yang dibayangkan. Dengan pemahaman dasar Python dan beberapa library machine learning, Anda sudah bisa membuat sistem rekomendasi sederhana yang bisa dikembangkan lebih lanjut sesuai kebutuhan.
Seperti halnya sistem rekomendasi yang membantu pengguna menemukan konten yang relevan, memiliki domain yang tepat juga penting untuk kesuksesan website Anda. Untuk informasi lengkap tentang monitoring domain expired, list domain expired, dan marketplace domain terpercaya, kunjungi Back.co.id.