3. AI Rekomendasi – Mirip dengan algoritma rekomendasi YouTube atau Netflix.

Tutorial: Membuat AI Rekomendasi Konten Seperti YouTube atau Netflix

AI rekomendasi adalah sistem yang dapat memberikan saran konten berdasarkan preferensi pengguna. Contohnya seperti:
Netflix → Merekomendasikan film/sinetron berdasarkan yang sudah ditonton.
YouTube → Menampilkan video yang sesuai dengan minat pengguna.
Spotify → Memberikan rekomendasi lagu berdasarkan yang sering diputar.


1. Konsep Dasar AI Rekomendasi

Algoritma rekomendasi bekerja dengan tiga pendekatan utama :

1️⃣ Content-Based Filtering (Berbasis Konten)

  • Menyarankan item berdasarkan deskripsi atau kategori yang mirip.
  • Contoh: Jika kamu suka film action, AI akan merekomendasikan film action lainnya.

2️⃣ Collaborative Filtering (Berbasis Kolaborasi)

  • Menyarankan item berdasarkan kesamaan pola pengguna lain.
  • Contoh: Jika orang lain dengan selera yang mirip menonton film X, kamu juga akan direkomendasikan film X.

3️⃣ Hybrid Filtering (Gabungan)

  • Menggabungkan Content-Based + Collaborative Filtering untuk hasil lebih akurat.

2. Instalasi & Persiapan

Kita akan menggunakan Python dan pustaka berikut:

pesta
pip install pandas numpy scikit-learn flask streamlit

🔹 panda, numpy → Untuk mengolah data.
🔹 scikit-learn → Untuk membuat model rekomendasi.
🔹 flask, streamlit → Untuk membuat API & UI sederhana.


3. Membuat Sistem Rekomendasi Berbasis Konten

Kita akan membuat sistem rekomendasi film berdasarkan kemiripan deskripsi .

Langkah 1: Siapkan Dataset Film

Buat file movies.csv dengan data seperti ini:

ID_Film Judul Genre Keterangan
1 Lahirnya Fiksi Ilmiah, Aksi Sebuah film tentang mimpi di dalam mimpi.
2 Raksasa Romantis, Drama Kisah cinta tragis di kapal Titanic.
3 Antar bintang Fiksi Ilmiah, Drama Petualangan luar angkasa mencari planet baru.

Langkah 2: Koding Sistem Rekomendasi

Buat file recommend.py dan tulis kode berikut:

ular piton
import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity # 1. Load dataset movies = pd.read_csv("movies.csv") # 2. Buat vektor dari deskripsi film vectorizer = TfidfVectorizer(stop_words="english") tfidf_matrix = vectorizer.fit_transform(movies["Description"]) # 3. Hitung kesamaan antar film cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix) # 4. Fungsi untuk rekomendasi film berdasarkan judul def recommend_movie(title, top_n=5): if title not in movies["Title"].values: return "Film tidak ditemukan!" idx = movies[movies["Title"] == title].index[0] scores = list(enumerate(cosine_sim[idx])) scores = sorted(scores, key=lambda x: x[1], reverse=True) recommended_indices = [i[0] for i in scores[1:top_n+1]] return movies.iloc[recommended_indices][["Title", "Genre"]] # 5. Uji coba rekomendasi film_input = input("Masukkan judul film: ") print("\nRekomendasi film lain:\n", recommend_movie(film_input))

✅ Jalankan kode ini, lalu masukkan judul film yang ada di dataset. AI akan merekomendasikan film lain yang mirip!


4. Membuat API Rekomendasi dengan Flask

Agar bisa diakses oleh aplikasi lain, kita buat API sederhana.

Langkah 1: Buat file app.py

ular piton
from flask import Flask, request, jsonify import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity app = Flask(__name__) # Load dataset movies = pd.read_csv("movies.csv") vectorizer = TfidfVectorizer(stop_words="english") tfidf_matrix = vectorizer.fit_transform(movies["Description"]) cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix) # Fungsi rekomendasi def recommend_movie(title, top_n=5): if title not in movies["Title"].values: return [] idx = movies[movies["Title"] == title].index[0] scores = list(enumerate(cosine_sim[idx])) scores = sorted(scores, key=lambda x: x[1], reverse=True) recommended_indices = [i[0] for i in scores[1:top_n+1]] return movies.iloc[recommended_indices][["Title", "Genre"]].to_dict(orient="records") # Endpoint API @app.route("/recommend", methods=["POST"]) def recommend(): data = request.json title = data.get("title", "") recommendations = recommend_movie(title) return jsonify({"recommendations": recommendations}) if __name__ == "__main__": app.run(debug=True)

✅ Jalankan Flask:

pesta
python app.py

API akan berjalan di http://127.0.0.1:5000/recommend dan bisa digunakan dengan mengirim request JSON seperti:

Bahasa Indonesia: json
{ "title": "Inception" }

5. Menampilkan Rekomendasi di Antarmuka Web (Streamlit UI)

Sekarang, mari kita buat UI yang lebih menarik!

Langkah 1: Buat File ui.py

ular piton
import streamlit as st import requests st.title("AI Rekomendasi Film") movie_title = st.text_input("Masukkan judul film yang kamu suka:") if st.button("Cari Rekomendasi"): response = requests.post("http://127.0.0.1:5000/recommend", json={"title": movie_title}) recommendations = response.json()["recommendations"] if recommendations: for rec in recommendations: st.write(f"🎬 {rec['Title']} - {rec['Genre']}") else: st.write("Film tidak ditemukan dalam database.")

✅ Jalankan UI dengan:

pesta
streamlit run ui.py

Sekarang, kamu bisa mencari rekomendasi film lewat antarmuka web !


6. Implementasi Collaborative Filtering (Opsional)

Jika kamu ingin menggunakan data pengguna untuk rekomendasi seperti Netflix, gunakan Collaborative Filtering.

🔹 Menggunakan data interaksi pengguna (rating, like, dll).
🔹 Menggunakan algoritma seperti SVD atau Matrix Factorization.

ular piton
from surprise import SVD from surprise import Dataset from surprise.model_selection import cross_validate # Load dataset user-item data = Dataset.load_builtin("ml-100k") algo = SVD() # Melatih model cross_validate(algo, data, cv=5)

🚀 Dengan metode ini, AI bisa merekomendasikan film berdasarkan kebiasaan pengguna lain!


Kesimpulan

✅ Kita telah membangun AI Rekomendasi Film seperti Netflix atau YouTube.
✅ Menggunakan Content-Based Filtering untuk mencocokkan deskripsi film.
✅ Membuat API dengan Flask agar bisa diakses secara luas.
✅ Membuat antarmuka web dengan Streamlit untuk tampilan yang menarik.
✅ Bisa dikembangkan lebih lanjut dengan Collaborative Filtering.

🔥 Mau dikembangkan ke rekomendasi apa lagi?

  • Rekomendasi lagu seperti Spotify?
  • Rekomendasi produk untuk e-commerce?

Beri tahu saya, yuk! 😃

17 Mar 2025

0 komentar:

Posting Komentar

silahkan komentar

:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.

Luncurkan toko Anda hanya dalam 4 detik dengan 
 
Top