Email          : joseph.hermawan@matanauniversity.ac.id
RPubs
        : https://rpubs.com/JoHndes9
Department  : Business
Statistics
Address     : ARA Center, Matana University
Tower
             Jl. CBD Barat Kav, RT.1, Curug
Sangereng, Kelapa Dua, Tangerang, Banten 15810.
Dalam analisis data, dua teknik umum yang sering digunakan untuk memahami struktur dan pola dalam data adalah klasifikasi dan klastering. Kedua teknik ini memiliki tujuan dan pendekatan yang berbeda, namun keduanya penting dalam membantu organisasi membuat keputusan yang didasarkan pada data.
Klasifikasi adalah teknik yang digunakan untuk memprediksi kategori atau label dari suatu data berdasarkan pada fitur-fitur yang ada. Tujuan utama dari klasifikasi adalah untuk mengidentifikasi pola atau hubungan antara fitur-fitur input dan variabel target yang ingin diprediksi. Misalnya, kita dapat menggunakan klasifikasi untuk memprediksi apakah suatu email adalah spam atau bukan berdasarkan pada kontennya, atau untuk memprediksi apakah seorang pasien memiliki penyakit tertentu berdasarkan pada gejala yang mereka alami.
Di sisi lain, klastering adalah teknik yang digunakan untuk mengelompokkan data menjadi kelompok-kelompok yang homogen berdasarkan pada kemiripan antar data. Tujuan dari klastering adalah untuk menemukan struktur tersembunyi dalam data yang tidak diketahui sebelumnya. Dalam klastering, tidak ada variabel target yang ingin diprediksi; sebaliknya, kita mencari pola alami dalam data yang memungkinkan kita untuk mengelompokkan data menjadi kelompok-kelompok yang berbeda. Misalnya, dalam analisis pasar, kita dapat menggunakan klastering untuk mengidentifikasi segmen pelanggan yang berbeda berdasarkan pada perilaku pembelian mereka.
Meskipun klasifikasi dan klastering keduanya adalah teknik yang digunakan untuk analisis data, mereka memiliki perbedaan yang mendasar dalam tujuan dan pendekatan:
Tujuan: Tujuan klasifikasi adalah untuk memprediksi label atau kategori dari suatu data, sementara tujuan klastering adalah untuk mengelompokkan data menjadi kelompok-kelompok yang homogen. Pendekatan: Dalam klasifikasi, kita memiliki variabel target yang ingin diprediksi, sedangkan dalam klastering, kita tidak memiliki variabel target yang jelas dan kami mencari struktur alami dalam data.
Dalam studi kasus ini, akan didemonstrasikan bagaimana klasifikasi dan klastering dapat diterapkan pada data pelanggan sebuah perusahaan e-commerce untuk memahami perilaku pembelian mereka dan menyusun strategi pemasaran yang lebih efektif.
Andaikan, kita akan menggunakan data pelanggan e-commerce yang mencakup beberapa fitur seperti usia, jenis kelamin, total pembelian, harga produk, kategori produk yang dibeli, dan frekuensi pembelian.
set.seed(123)
jumlahbaris=1000
pelanggan=data.frame(
id=1:jumlahbaris,
usia=sample(18:70,jumlahbaris,replace = T),
kelamin=as.factor(sample(c("pria","wanita"),jumlahbaris,replace = T)),
Total_pembelian=rnorm(jumlahbaris,mean = 100,sd=20),
kategori_produk=as.factor(sample(c("a","b","c"),jumlahbaris,replace = T)),
frequensi_pembeilian=sample(1:10,jumlahbaris,replace = T),
harga=rnorm(jumlahbaris,mean = 50,sd=10)
)Mari kita lihat bagaimana kita dapat memprediksi kategori produk yang akan dibeli oleh pelanggan berdasarkan pada fitur-fitur
Dalam pendekatan klasifikasi, toko ingin mengidentifikasi pelanggan yang mungkin memiliki preferensi tertentu atau potensi untuk melakukan pembelian tertentu di masa depan. Misalnya, mereka ingin memprediksi apakah seorang pelanggan tertentu akan lebih mungkin membeli pakaian pria atau wanita.
library(caret)
set.seed(123)
trainind=createDataPartition(pelanggan$kategori_produk,p=0.7,list = F)
trains=pelanggan[trainind,]
tests=pelanggan[-trainind,]
model=train(kategori_produk~usia+kelamin+Total_pembelian+frequensi_pembeilian+harga,data = trains,method="rpart")
predksi=predict(model,newdata=tests)
confusionMatrix(predksi,tests$kategori_produk)## Confusion Matrix and Statistics
##
## Reference
## Prediction a b c
## a 0 0 0
## b 93 113 93
## c 0 0 0
##
## Overall Statistics
##
## Accuracy : 0.3779
## 95% CI : (0.3227, 0.4355)
## No Information Rate : 0.3779
## P-Value [Acc > NIR] : 0.5218
##
## Kappa : 0
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: a Class: b Class: c
## Sensitivity 0.000 1.0000 0.000
## Specificity 1.000 0.0000 1.000
## Pos Pred Value NaN 0.3779 NaN
## Neg Pred Value 0.689 NaN 0.689
## Prevalence 0.311 0.3779 0.311
## Detection Rate 0.000 0.3779 0.000
## Detection Prevalence 0.000 1.0000 0.000
## Balanced Accuracy 0.500 0.5000 0.500
Dalam pendekatan klastering, toko ingin mengelompokkan pelanggannya ke dalam kelompok berdasarkan pola pembelian yang serupa. Ini membantu mereka memahami segmentasi pasar dan menyesuaikan strategi pemasaran dan layanan untuk setiap kelompok.
Sebelum menerapkan algoritma dalam membentuk kluster, langkah pertama yang penting dilakukan adalah melakukan pemilihan jumlah kluster yang optimal. Berikut ini diperlihatkan pemilihan jumlah kluster menggunakan metode elbow, silhouette, dan gap statistic.
Pastikan untuk menginstal paket-paket tersebut jika belum terpasang. Sekarang, mari kita tambahkan bagian kode untuk masing-masing metode.
library(ggplot2)
library(cluster)
library(factoextra)
library(NbClust)
library(caret)
library(FactoMineR)customer=data.frame(
usia=c(25,35,45,20,30,50,65,40,55,60),
kelamin=c("pria","pria","wanita","wanita","pria","pria","wanita","wanita","pria","wanita"),
pembelian=c(100,200,150,80,300,400,200,250,350,500),
harga=c(50,60,70,40,55,65,75,45,70,80),
kategori=c("a","b","a","c","b","c","a","b","c","a"),
frekuensi=c(2,3,2,4,1,2,3,1,2,3)
)methode elbow menggunakan grafik dengan within-cluster sum of square sebagai axis y dan jumlah kluster pada axis x,jumlah kluster yang digunakan pada titik yang terbuatnya bentuk elbow
cumulativ=cumsum(pca$var$cor)
plot(cumulativ,xlab = "komponen utama",ylab = "variansi kumulatif",type = "b")shiloutte method menggunakan silhoutte score untuk menentukan jumlah kluster yang optimal. silhoute score merukan score yang memiliki range dari -1 sampai 1 yang menghitung consistency dari suatu object dibanding dari isi clusternya dan cluster yang lain, nilai yang tinggi berarti ia similar dengan isi clusternya dan berbeda dengan isi cluster yang lain, jika terdapat banyak object memiiki nilai yang tinggi maka configurasi cluster cocok.
gap statistic membandingkan total variasi di dalam cluster dengan nilai yang diekspektasikan dalam refrensi distribusi data null. jumlah cluster yang optimal yang dipilih adalah cluster yang mengmaksimal gap statistic