Skip to content
INOVATIF, PROFESIONAL, DAN BERKEPRIBADIAN
facebook
youtube
instagram
Pusat Pengelolaan Digitalisasi Penjaminan Mutu Universitas Medan Area
Call Support 0823-6994-9970
Email Support [email protected]
Location Jl. Kolam No. 1 Medan Estate
  • BERANDA
  • TENTANG
    • PROFIL
    • VISI DAN MISI
    • STRUKTUR ORGANISASI
  • BERITA KEGIATAN
  • KERJASAMA
  • LAYANAN & INFORMASI
    • APLIKASI
      • PERPUSTAKAAN UMA
      • ACADEMIC ONLINE CAMPUS (AOC)
      • REPOSITORI UMA
      • TRACER STUDY (ALUMNI)
      • JURNAL
      • E-LEARNING UMA
      • DIREKTORI MAHASISWA
    • ARSIP
      • PERUBAHAN DATA MAHASISWA DI PDDIKTI
      • Buku Pedoman Universitas Medan Area
      • KURIKULUM
        • Kurikulum Teknik
        • Kurikulum Pertanian
        • Kurikulum Ekonomi dan Bisnis
        • Kurikulum Hukum
        • Kurikulum Isipol
        • Kurikulum Psikologi
        • Kurikulum Saintek
        • Kurikulum Agama Islam
      • Kalender Akademik Universitas Medan Area
      • Artikel
    • Helpdesk P2DPM
  • id
    • en
    • id

Yuk Kenali Matrix Factorization pada Rekomendasi Produk E-Commerce

Home > Artikel > Yuk Kenali Matrix Factorization pada Rekomendasi Produk E-Commerce

Yuk Kenali Matrix Factorization pada Rekomendasi Produk E-Commerce

Posted on 23 Desember 2025 by Anisa Rahma Nasution
0

Matrix Factorization adalah teknik dalam linear algebra dan machine learning yang bertujuan memecah (memfaktorkan) sebuah matriks besar menjadi beberapa matriks yang lebih kecil sehingga:

  • Struktur tersembunyi (latent structure) pada data dapat ditemukan

  • Data menjadi lebih mudah dianalisis dan diprediksi

  • Masalah sparsity (banyak nilai kosong) dapat diatasi

Dalam sistem rekomendasi, Matrix Factorization digunakan untuk menangkap preferensi tersembunyi pengguna dan karakteristik produk.

Intuisi Sederhana

Bayangkan:

  • Pengguna tidak secara langsung mengatakan “Saya suka laptop karena ringan dan baterai awet”

  • Namun dari pola pembelian, model belajar bahwa:

    • User A suka produk ringan

    • User B suka produk murah

    • User C suka produk premium

Faktor seperti ringan, murah, premium ini tidak terlihat langsung di data — inilah yang disebut latent factors.

Matrix Factorization bertugas menemukan faktor-faktor tersembunyi tersebut secara otomatis.

Bentuk Matematis Dasar

Misalkan kita punya:

  • RRR → matriks user–item (rating, klik, pembelian)

  • Ukuran:
    R∈Rm×nR \in \mathbb{R}^{m \times n}R∈Rm×n
    (m user, n item)

Matrix Factorization mencoba mendekati:

R≈P×QTR \approx P \times Q^TR≈P×QT

dengan:

  • P∈Rm×kP \in \mathbb{R}^{m \times k}P∈Rm×k → matriks user latent factors

  • Q∈Rn×kQ \in \mathbb{R}^{n \times k}Q∈Rn×k → matriks item latent factors

  • kkk → jumlah dimensi faktor laten (biasanya kecil: 10–100)

Makna Setiap Matriks

Matriks R (User–Item Matrix)

Berisi interaksi:

  • Rating (1–5)

  • Jumlah pembelian

  • Klik / view

Masalah utama:

  • Sangat sparse (banyak kosong)

  • Ukurannya sangat besar

Matriks P (User Factors)

Setiap baris merepresentasikan:

Preferensi tersembunyi seorang user

Contoh:

User A = [0.9, 0.1, 0.7]
User B = [0.2, 0.8, 0.3]

Matriks Q (Item Factors)

Setiap baris merepresentasikan:

Karakteristik tersembunyi sebuah item

Contoh:

Produk X = [0.8, 0.2, 0.6]
Produk Y = [0.1, 0.9, 0.2]

Cara Kerja Prediksi

Prediksi interaksi user uuu dengan item iii:

r^ui=Pu⋅Qi\hat{r}_{ui} = P_u \cdot Q_ir^ui​=Pu​⋅Qi​

(hasil dot product)

➡ Jika vektor user dan item “searah”, maka skor tinggi
➡ Jika tidak cocok, skor rendah

Fungsi Objektif (Loss Function)

Tujuan Matrix Factorization adalah meminimalkan error prediksi:

min⁡P,Q∑(u,i)∈R(rui−PuQiT)2+λ(∣∣P∣∣2+∣∣Q∣∣2)\min_{P,Q} \sum_{(u,i)\in R} (r_{ui} – P_u Q_i^T)^2 + \lambda (||P||^2 + ||Q||^2)P,Qmin​(u,i)∈R∑​(rui​−Pu​QiT​)2+λ(∣∣P∣∣2+∣∣Q∣∣2)

Penjelasan:

  • Bagian pertama → error prediksi

  • Bagian kedua → regularisasi (mencegah overfitting)

  • λ\lambdaλ → parameter regularisasi

Cara Melatih Model

1. Stochastic Gradient Descent (SGD)

  • Update P dan Q sedikit demi sedikit

  • Cepat dan fleksibel

2. Alternating Least Squares (ALS)

  • Update P, lalu Q secara bergantian

  • Cocok untuk big data & paralel

Jenis Matrix Factorization

Jenis Penjelasan
SVD MF paling populer
NMF Semua nilai ≥ 0
Probabilistic MF Pendekatan probabilistik
Implicit MF Untuk klik/pembelian
Neural MF MF + deep learning

Kelebihan Matrix Factorization

✅ Efektif untuk data besar & sparse
✅ Menangkap pola kompleks
✅ Skalabel
✅ Lebih akurat dibanding memory-based CF

Keterbatasan

❌ Cold start (user/item baru)
❌ Sulit diinterpretasikan
❌ Butuh tuning hyperparameter

Kasus: Rekomendasi Produk E-Commerce

Misalnya:

  • Setiap baris = 1 pengguna

  • Setiap kolom = 1 produk

  • Nilai = jumlah pembelian/rating/klik

Contoh matrix:

Prod A Prod B Prod C
User1 1 ? 0
User2 0 1 1
User3 1 0 ?

Tanda ? adalah yang ingin kita prediksi.

3. Langkah Umum

  1. Siapkan data

    • Data implicit: pembelian, klik, view time

    • Data explicit: rating

  2. Bentuk user-item matrix

  3. Normalisasi / scaling (opsional)

  4. Faktorisasi matrix

    • Latent features = jumlah dimensi tersembunyi (misal: 10).

  5. Optimisasi

    • SGD (Stochastic Gradient Descent) atau ALS (Alternating Least Squares)

  6. Prediksi & rekomendasi

    • Hitung score prediksi semua produk yang belum dibeli

    • Sortir dari skor tertinggi

4. Contoh Kode Python (dengan surprise library)

Instal dulu:

pip install scikit-surprise

Kemudian:

from surprise import Dataset, Reader, SVD
from surprise.model_selection import train_test_split
from surprise import accuracy

# 1) Load data
# Format: user, item, rating
ratings = [
(‘U1’, ‘P1’, 1),
(‘U1’, ‘P3’, 0),
(‘U2’, ‘P2’, 1),
(‘U2’, ‘P3’, 1),
(‘U3’, ‘P1’, 1),
(‘U3’, ‘P2’, 0),
]

reader = Reader(rating_scale=(0,1))
data = Dataset.load_from_df(pd.DataFrame(ratings, columns=[‘user’,’item’,’rating’]), reader)

# 2) Split train/test
train, test = train_test_split(data, test_size=0.25)

# 3) Train SVD (Matrix Factorization)
model = SVD(n_factors=10, lr_all=0.005, reg_all=0.02)
model.fit(train)

# 4) Evaluate
predictions = model.test(test)
print(“RMSE:”, accuracy.rmse(predictions))

# 5) Prediksi rating: user U1 untuk item P2
pred = model.predict(‘U1’, ‘P2’)
print(“Prediksi rating U1 ke P2:”, pred.est)

5. Rekomendasi Produk untuk Setiap User

Setelah model terlatih:

def rekomendasi(model, user_id, semua_produk, n=5):
scores = []
for item in semua_produk:
pred = model.predict(user_id, item).est
scores.append((item, pred))
scores.sort(key=lambda x: x[1], reverse=True)
return scores[:n]

produk = [‘P1′,’P2′,’P3′,’P4′,’P5’]
print(rekomendasi(model, ‘U1’, produk, n=3))

6. Variasi yang Sering Dipakai

Metode Kelebihan
SVD (Singular Value Decomposition) Paling populer, cepat
ALS (Alternating Least Squares) Bagus untuk data sparse besar
Implicit MF Mengakomodasi data implicit (klik/pembelian)
Neural Matrix Factorization Model lebih kompleks & powerful
Hybrid (content + MF) Menggabungkan fitur produk

7. Tips Praktis

✅ Normalisasi rating
✅ Perhatikan cold start (produk baru/user baru)
✅ Gunakan implicit feedback jika tidak ada rating eksplisit
✅ Gunakan regularisasi untuk menghindari overfitting

8. Tools / Libraries yang Bisa Dipakai

Library Keterangan
surprise Simple & efektif
implicit Fokus implicit feedback
LightFM Hybrid (content + collaborative)
TensorFlow/PyTorch Neural MF

Matrix Factorization merupakan metode yang sangat penting dalam pengembangan sistem rekomendasi modern, khususnya pada platform e-commerce. Dengan memecah matriks interaksi pengguna dan produk menjadi faktor-faktor laten, metode ini mampu menangkap pola preferensi tersembunyi yang tidak terlihat secara langsung dalam data. Hal ini memungkinkan sistem untuk memberikan rekomendasi yang lebih akurat dan personal kepada setiap pengguna.

Meskipun Matrix Factorization memiliki keterbatasan, seperti permasalahan cold start dan kebutuhan tuning parameter, keunggulannya dalam menangani data berskala besar dan bersifat sparse menjadikannya tetap relevan dan banyak digunakan hingga saat ini. Dengan pemilihan algoritma yang tepat serta kombinasi dengan metode lain, Matrix Factorization dapat menjadi fondasi yang kuat dalam membangun sistem rekomendasi yang efektif dan efisien.

Dengan demikian, pemahaman yang baik mengenai konsep dan penerapan Matrix Factorization sangat penting bagi pengembang dan peneliti yang ingin meningkatkan kualitas layanan rekomendasi berbasis data.

Post Views: 57

p2dpm_uma

Jalan Kolam Nomor 1 Medan Estate

Get @reshare_app • @umabestari #UTBKSNBT Semoga Su Get @reshare_app • @umabestari #UTBKSNBT
Semoga Sukses Peserta Seleksi UTBK - SNBT Ujian Masuk Perguruan Tinggi Negeri USU & Unimed Tahun Seleksi 2026 di Kampus I & II Universitas Medan Area.
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #PTSterbaik #UMAkampusJuara #KampusUnggul
#UMAFAIR2026 Wakil Rektor Bidang Kemahasiswaan, In #UMAFAIR2026 Wakil Rektor Bidang Kemahasiswaan, Inovasi dan Alumni Resmi Membuka Acara UMA FAIR 2026 . 

Informasi dan Pendaftaran Mahasiswa Baru : 

➖➖➖➖➖➖➖ 
https://pmb.uma.ac.id 
➖➖➖➖➖➖➖ 

Call Center UMA : 
☎️0811 6013 888 

#ptssehat #PTSterbaik #UMAkampusJuara #KampusUnggul
🌼 Selamat memperingati Hari Kartini 🌼 Jangan perna 🌼 Selamat memperingati Hari Kartini 🌼
Jangan pernah ragu untuk bersuara, menunjukkan kemampuan, dan memperjuangkan apa yg kamu yakini benar.
Get @reshare_app • @umabestari #PRESTASIUMA Alhamd Get @reshare_app • @umabestari #PRESTASIUMA
Alhamdulillan, Selamat dan Sukses Kepada Univeristas Medan Area Meraih Prestasi 9 Penghargaan Pada Anugerah Kementerian Pendidikan Tinggi, Sains dan Teknologi Lembaga Layanan Pendidikan Tinggi Wilayah I Tahun 2025.
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #ptsterbaik #UMAkampusJuara #KampusUnggul
#PMBUMA2026 Bingung Kuliah Dimana? Kuliah di UMA #PMBUMA2026 
Bingung Kuliah Dimana? Kuliah di UMA aja ! Banyak Fasilitas Beasiswanya loh! . 

Informasi dan Pendaftaran Mahasiswa Baru : 

➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖ 

Call Center UMA : 
☎️0811 6013 888 

#ptsfavorite #PTSterbaik #UMAkampusJuara #KampusUnggul
Get @reshare_app • @umabestari #PRESTASIMAHASISWA Get @reshare_app • @umabestari #PRESTASIMAHASISWA
Selamat & Sukses Kepada 
Juara 1 : Allisha Az Zahro 
Juara 2 : Rizky Abdillah
Juara 3: Desy Angelina
Pada Pemilihan Mahasiswa Berprestasi (PILMAPRES) Tingkat Universitas Medan Area Tahun 2025.
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #ptsterbaik #UMAkampusJuara #KampusUnggul
Get @reshare_app • @umabestari #KERJASAMA Universi Get @reshare_app • @umabestari #KERJASAMA
Universitas Medan Area melaksanakan Penanda Tanganan Kerjasama Dengan Pemerintah Kabupaten Deli Serdang 
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #ptsterbaik #UMAkampusJuara #KampusUnggul
Pengumuman Libur Hari Raya Idul Fitri 1447 H Pengumuman Libur Hari Raya Idul Fitri 1447 H
Follow on Instagram

Lokasi P2DPM

url url url url url url url url url url url url

Kategori

  • Berita Terbaru
  • Pengumuman
  • Berita Kegiatan
  • Artikel

POSTINGAN TERPOPULER

  • Cara Melihat IP Address di Semua Jenis Perangkat dan Jenis-Jenisnya
  • Memahami Perbedaan Waktu: AM/PM, Zona Waktu, dan Sistem Jam
  • Dasar-Dasar Desain Grafis: Prinsip yang Harus Diketahui Pemula
  • Manfaat Pengelolaan Sumber Daya Alam Berkelanjutan Untuk Kehidupan
  • Pengertian Gelombang Longitudinal dan Contohnya dalam Kehidupan Sehari-Hari
KAMPUS 1
Jalan Kolam Nomor 1 Medan Estate / Jalan Gedung PBSI, Medan 20223
(061) 7360168, Call Canter : 0811-6013-888
[email protected]
KAMPUS 2
Jalan Sei Serayu Nomor 70 A / Jalan Setia Budi Nomor 79 B, Medan 20122
(061) 42402994, HP : 0811 607 259
[email protected]

STATISTIK

  • 1
  • 43
  • 39
  • 360,441
  • 256,373
© 2026 PDAI - Universitas Medan Area