Pendahuluan

Penelitian ini adalah menerapkan metode cluster non hirarki yang merupakan varian dari metode K-Means yaitu K-Medoids atau Partitioning Around Method (PAM) untuk melakukan pengelompokan. Sedangkan tujuan dari penelitian ini adalah untuk membuat rekomendasi-rekomendasi berdasarkan kelompok yang telah terbentuk, dimana dalam satu kelompok akan memiliki spesifikasi yang hampir sama sehingga customer dapat memiliki alternatif jenis hp lain yang memiliki spesifikasi yang hampir sama dengan yang diinginkan.

Benefit :

  • Dapat memberikan pilihan alternatif bagi customer yang sedang mencari smart phone dengan kriteria yang sama.

  • Menyediakan referensi bagi penjual smart phone mengenai smart phone yang memiliki kesamaan.

Data Wrangling dan Eksplorasi Data

1. Import Library

# Data Wrangling
library(tidyverse)
library(Hmisc)

# Machine Learning - Clustering 
library(cluster)
library(factoextra)
library(mvnTest)

# Visualization
library(Rtsne)

2. Read Data

# Read Data
data_sp <- read.csv("Smartphone(1jt-2jt).csv", sep = ";")

# Cek struktur data
str(data_sp)
## 'data.frame':    24 obs. of  12 variables:
##  $ Name        : chr  "Alcatel 1S" "Alcatel 1SE" "Zenfone 4 Max" "Infinix Hot 10 Play" ...
##  $ Brand       : chr  "Alcatel" "Alcatel" "Asus" "Infinix" ...
##  $ Price       : chr  "1.599.000" "1.599.000" "1.699.000" "1.259.000" ...
##  $ Processor   : chr  "Mediatek" "Unisoc" "Snapdragon" "Mediatek" ...
##  $ RAM         : int  3 4 3 2 2 2 3 2 4 2 ...
##  $ Memory      : int  32 64 32 32 16 32 32 32 64 32 ...
##  $ Screen      : num  4.1 3.6 4.1 4.3 3.7 3.9 6.4 3.9 7 5.8 ...
##  $ Performance : num  5.7 5.4 4.5 5.7 4.3 5.4 5.9 5.4 6.7 5.8 ...
##  $ Camera      : num  4.8 4.9 3.7 4.6 3.5 4.5 4.7 4.5 6.8 3.4 ...
##  $ Connectivity: num  5.5 5.4 5.7 6.7 3.5 4.5 5.9 4.5 7 5.6 ...
##  $ Battery     : num  5.9 5.7 7.7 8.8 4.4 6.8 6.9 6.8 8.9 8.1 ...
##  $ Link        : chr  "https://www.tokopedia.com/mygadgetholic/alcatel-1s-5028y-smartphone-3-32gb-garansi-resmi-green" "https://www.tokopedia.com/mygadgetholic/alcatel-1se-5030u-smartphone-4-64gb-garansi-resmi-green" "https://www.tokopedia.com/mygadgetholic/asus-zenfone-4-max-zc554kl-smartphone-ram-3gb-rom-32gb-gold" "https://www.tokopedia.com/mygadgetholic/infinix-hot-10-play-x688c-smartphone-2gb-32gb-garansi-resmi-morandi-green" ...

3. Data Wrangling

# Data Wrangling
data_sp <- data_sp %>% 
  # Ubah type data yang belum sesuai
  mutate(Brand = as.factor(Brand),
         RAM = as.factor(RAM),
         Memory = as.factor(Memory),
         Processor = as.factor(Processor),
         Price = as.numeric(gsub(x = Price,
                                 pattern = "\\.",
                                 replacement = ""))
         ) %>% 
  # Buang variabel yang tidak diperlukan
  select(-c(Link))

glimpse(data_sp)
## Rows: 24
## Columns: 11
## $ Name         <chr> "Alcatel 1S", "Alcatel 1SE", "Zenfone 4 Max", "Infinix Ho~
## $ Brand        <fct> Alcatel, Alcatel, Asus, Infinix, Nokia, Oppo, Oppo, Oppo,~
## $ Price        <dbl> 1599000, 1599000, 1699000, 1259000, 1499000, 1399000, 179~
## $ Processor    <fct> Mediatek, Unisoc, Snapdragon, Mediatek, Unisoc, Mediatek,~
## $ RAM          <fct> 3, 4, 3, 2, 2, 2, 3, 2, 4, 2, 2, 3, 4, 2, 3, 3, 2, 4, 3, ~
## $ Memory       <fct> 32, 64, 32, 32, 16, 32, 32, 32, 64, 32, 32, 32, 64, 32, 3~
## $ Screen       <dbl> 4.1, 3.6, 4.1, 4.3, 3.7, 3.9, 6.4, 3.9, 7.0, 5.8, 6.3, 5.~
## $ Performance  <dbl> 5.7, 5.4, 4.5, 5.7, 4.3, 5.4, 5.9, 5.4, 6.7, 5.8, 5.8, 5.~
## $ Camera       <dbl> 4.8, 4.9, 3.7, 4.6, 3.5, 4.5, 4.7, 4.5, 6.8, 3.4, 4.4, 4.~
## $ Connectivity <dbl> 5.5, 5.4, 5.7, 6.7, 3.5, 4.5, 5.9, 4.5, 7.0, 5.6, 5.1, 5.~
## $ Battery      <dbl> 5.9, 5.7, 7.7, 8.8, 4.4, 6.8, 6.9, 6.8, 8.9, 8.1, 7.9, 8.~

RAM dan Memory meskipun angka akan diubah menjadi faktor/kategori karena nilai nya berulang.

Sekarang data sudah rapih dan siap untuk digunakan pada tahap selanjutnya. Namun karena pada penelitian ini menggunakan metode PAM, maka akan dipilih hanya variabel yang bertipe numeric dan kategorik/faktor untuk pengelompokannya (kecuali harga dan Brand).

# Pilih faktor-faktor yang digunakan
data_spes <- data_sp[,-c(1:3)]

head(data_spes)

4. Eksplorasi Data

Ekplorasi data dilakukan agar kita menjadi lebih paham dengan gambaran awal dari data yang akan digunakan.

# Cek Missing Value
data_spes %>% 
  is.na() %>% 
  colSums()
##    Processor          RAM       Memory       Screen  Performance       Camera 
##            0            0            0            0            0            0 
## Connectivity      Battery 
##            0            0

Insight :

Tidak terdapat missing value, sehingga dapat dilanjutkan ke proses analisis.

# Melakukan pengecekan Summary Data
summary(data_spes)
##       Processor  RAM    Memory      Screen       Performance        Camera     
##  Exynos    : 1   2:11   16: 2   Min.   :3.200   Min.   :4.300   Min.   :3.400  
##  Mediatek  :12   3: 8   32:16   1st Qu.:3.600   1st Qu.:5.375   1st Qu.:4.475  
##  Snapdragon: 9   4: 5   64: 6   Median :4.100   Median :5.700   Median :4.700  
##  Unisoc    : 2                  Mean   :4.737   Mean   :5.604   Mean   :4.800  
##                                 3rd Qu.:5.925   3rd Qu.:5.900   3rd Qu.:5.025  
##                                 Max.   :7.000   Max.   :6.700   Max.   :7.100  
##   Connectivity      Battery     
##  Min.   :3.500   Min.   :4.400  
##  1st Qu.:5.075   1st Qu.:5.900  
##  Median :5.500   Median :7.750  
##  Mean   :5.542   Mean   :7.154  
##  3rd Qu.:5.900   3rd Qu.:8.100  
##  Max.   :7.600   Max.   :8.900

Insight :

  • Untuk variabel Screen, Performance, Camera, Connectivity dan Battery memiliki perbedaan range data yang tidak terlalu jauh dan memiliki satuan yang sama, hal itu disebabkan karena satuan variabel-variabel tersebut adalah Score yang dimana penilaian diambil pada website kimovil.com.

  • Dapat terlihat bahwa persebaran untuk setiap variabel cukup merata dan tidak ada nilai ektrim (untuk memastikan akan dilakukan pengecekan Outlier)

boxplot(data_spes[, 4:8])

Insight :

Dari output di atas, dapat diketahui terdapat variabel memiliki outlier. Jika data outlier tersebut bukan disebabkan kesalahan input atau pengambilan data maka akan dibuang, namun karena data yang digunakan sesuai kenyataan yang ada, analis akan mempertahankan keberadaan outlier.

Clustering using Partisioning Around Medoids

Algoritma Partitioning Around Medoids(PAM) atau bisa disebut K-Medoids adalah sebuah metode pengelompokan non-hierarki yang masih menjadi keluarga dekat dari metode K-Means. Metode PAM atau K-Medoids ini akan mengelompokan sekumpulan n objek menjadi ke beberapa k cluster.

Pada metode K-Means, penentuan sebuah objek masuk ke sebuah cluster tertentu berdasarkan perhitungan rata-rata jarak ecluidean. Sedangkan cara kerja metode K-Medoids akan diawali dengan penentuan Medoids (sebuah objek yang letaknya terpusat di dalam suatu cluster). Dari gambar di bawah, kita dapat melihat bagaimana perbedaan antara metode K-Means & K-Medoids dalam menentukan sebuah objek lebih sesuai untuk masuk ke sebuah cluster tertentu.

Penentuan Medoids itu tidak dilakukan hanya sekali, melainkan berulang sampai Medoids itu tidak bisa bergerak lagi. Mengapa tidak hanya sekali, dikarenakan peletakan Medoids belum tentu posisi paling optimal. Untuk mendapatkan posisi yang paling optimal nantinya posisi Medoids awal akan dihitung ulang total simpangannya dengan menggunakan rumus berikut di bawah ini.

\[ S = b - a \]

Dimana:

  • a adalah cost jarak terdekat antara objek ke medoid awal
  • b adalah cost jarak terdekat antara objek ke medoid baru

Jika S < 0, maka tukar obyek dengan data untuk membentuk sekumpulan k baru sebagai Medoid

Langkah tersebut akan terus diulang sampai nantinya S > 0, yang berarti tidak adanya pergerakan lagi dari Medoid yang dipilih sebagai titik tengah. Dari titik Medoids yang paling optimum itu, akan dicari lagi objek yang menyerupai dari karakteristik Medoids tersebut.

Secara garis besar akan ada 3 langkah yang nantinya akan dilakukan, yaitu:

  • Perhitungan jarak antar observasi data.
  • Penentuan jumlah cluster.
  • Pembuatan cluster.

1. Perhitungan Jarak

Ada satu metode yang dapat kita gunakan untuk kasus yang memiliki data campuran (data numerik dan data kategorikal) yaitu Gower Distance.

Metode Gower Distance nantinya akan melakukan perbandingan pada setiap observasi data yang ada terhadap data-data yang lainnya, dengan cara melakukan perhitungan skala antara kedua observasi yang dibandingkan dengan rentan 0 sampai 1.

Jika hasil dari perbandingannya mendekati 0 maka bisa dibilang kedua data tersebut identik atau jarak antara kedua observasi tersebut berdekatan sebaliknya jika rentang perbandingannya mendekati 1 bisa dibilang kedua data tersebut tidak identik atau jarak antara kedua observasi tersebut berjauhan.

Rumus Gower Distance:

\[ Gower Distance = \frac{1}{p}\sum\limits^p_{i=1}(Xnumeric, Xcateogrical) \]

Dimana:

  • p = jumlah kolom
  • Xnumeric: kondisi ketika kolom yang dibandingkan adalah numeric

\[ Xnumeric = \frac{|X_i - {Xj}|}{r} \]

  • Xi = Data observasi 1

  • Xj = Data observasi 2

  • r = Range dari kolom observasi tersebut

  • Xcategorical: Nilai yang akan diberikan ketika kolom yang dibandingkan adalah categorical

    • Jika pada kolom kategorikal yang dibandingkan berbeda maka akan diberikan 1
    • Jika pada kolom kategorikal yang dibandingkan tidak berbeda maka akan diberikan 0

    Metode Gower Distance tersimpan pada library(cluster) dan fungsi yang bisa digunakan adalah daisy(). Pada fungsi tersebut nantinya akan ada 2 parameter yang bisa diisi, yaitu:

  • x: Data frame yang ingin digunakan

  • metric: Metode apa yang ingin digunakan, karena kita akan menggunakan metode Gower Distance, kita bisa isi dengan “gower”.

# Please type your code
data_spes_gd <- daisy(x = data_spes,
                          metric = "gower")

summary(data_spes_gd)
## 276 dissimilarities, summarized :
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2624  0.4145  0.4160  0.5674  0.9719 
## Metric :  mixed ;  Types = N, N, N, I, I, I, I, I 
## Number of objects : 24

2. Penentuan Jumlah Cluster

Dalam menentukan jumlah kelompok yang paling optimum, kita data memanfaatkan metode Elbow Method. Metode tersebut dapat kita gunakan dengan fungsi fviz_nbclust() dari library(factoextra). Pada fungsi tersebut nantinya akan ada 3 parameter yang bisa diisi, yaitu:

Dengan metode pertama ini kita akan memvariasikan jumlah kelompok dengan menghitung Within Cluster Sum of Square (WSS). WSS adalah akan menghasilkan jumlah kuadrat jarak antara setiap observasi terhadap titik Medoids untuk setiap kemungkinan jumlah kelompok.

\[ WCSS = \sum\limits^N_{i=1}d(X_i - Xc)^2 \]

Dimana:

  • N = cluster

  • Xi = Data observation

  • Xc = Titik medoids

  • d(Xi - Xc): Jarak antara setiap observasi data terhadap titik medoids

    Nilai WCSS akan berkurang nilai nya seiring dengan bertambahnya jumlah kelompok (nilai WCSS terbesar ketika K = 1). Ketika kita menganalisis grafik kita dapat melihat bahwa grafik akan berubah dengan cepat pada suatu titik dan dengan demikian menciptakan bentuk siku. Dari titik ini, grafik mulai bergerak hampir sejajar dengan sumbu X. Nilai K yang sesuai dengan titik ini adalah nilai K optimal atau jumlah kelompok yang optimal.

# Penentuan nilai K
set.seed(123)

elbow_method <- fviz_nbclust(x = as.matrix(data_spes_gd),
             FUNcluster = pam,
             method = "wss", 
             k.max = 10) +
  labs(subtitle = "Elbow Method")

elbow_method

Note:

  • Fungsi set.seed() digunakan untuk mengunci random number generator sehingga hasil sampling tidak berubah setiap kali run code.

  • Fungsi fviz_nbclust() secara otomatis akan menghitung WSS sampai dengan 10 kelompok (jumlah kelompok yang ingin dicoba hitung bisa diatur secara manual sesuai dengan kebutuhan).

3. Pembuatan Cluster

Sekarang kita bisa memulai tahapan terakhir yaitu mengelompokan semua data customer ke kelompok yang sudah ditentukan dengan menggunakan fungsi pam(). Pada fungsi tersebut nantinya akan ada 2 parameter yang bisa diisi, yaitu:

  • x = Data frame yang ingin digunakan
  • k = Jumlah kelompok
# Clustering
pam_fit <- pam(x = data_spes_gd, 
               k = 4)

Fungsi di atas akan membantu kita untuk mengelompokan keseluruhan observasi data ke beberapa kelompok berdasarkan kemiripan setiap observasi terhadap titik pusat atau medoids. Supaya kita bisa mendapatkan intuisi awal bagaimana karakteristik customer untuk setiap kelompoknya, kita bisa melihat dari tabel di bawah ini.

data_spes[pam_fit$medoids, ]

Seperti yang sudah disampaikan, dengan melihat tabel di atas kita hanya bisa mendapatkan intuisi awal bagaimana karakteristik dari masing-masing kelompok yang dibuat. Supaya kita dapat melakukan interpretasi lebih detail dan melihat apakah pengelompokan yang kita lakukan sudah dapat memisahkan setiap observasi data dengan baik, kita bisa memanfaatkan metode statistik deskriptif dan visualisasi.

Interpretasi

1. Clustering

# Clustering
table(data_sp$Name, pam_fit$clustering)
##                       
##                        1 2 3 4
##   Alcatel 1S           1 0 0 0
##   Alcatel 1SE          0 1 0 0
##   Infinix Hot 10 Play  0 0 1 0
##   Nokia C3             0 0 1 0
##   Oppo A11             0 0 1 0
##   Oppo A11K            0 0 1 0
##   Oppo A15             1 0 0 0
##   Poco M3              0 0 0 1
##   Realme C11           0 0 1 0
##   Realme C20           0 0 1 0
##   Realme C21           1 0 0 0
##   Redmi 9A             0 0 1 0
##   Redmi 9C             1 0 0 0
##   Redmi 9T             0 0 0 1
##   Samsung Galaxy A02s  0 1 0 0
##   Samsung Galaxy A10s  0 0 1 0
##   Samsung Galaxy A11   1 0 0 0
##   Samsung Galaxy J7    0 0 1 0
##   Samsung Galaxy M11   1 0 0 0
##   Sharp Aquos V SH-C02 0 0 0 1
##   Vivo Y12S            0 0 1 0
##   Vivo Y20             0 1 0 0
##   Vivo Y91C            0 0 1 0
##   Zenfone 4 Max        1 0 0 0

Insight:

Berdasarkan hasil pengelompokan diketahui anggota masing-masing kelompok adalah sebagai berikut:

  • Kelompok 1 : Alcatel 1S, Oppo A15, Realme C21, Redmi 9C, Samsung Galaxy A11, Samsung Galaxy M11 dan Zenfone 4 Max.

  • Kelompok 2 : Alcatel 1SE, Samsung Galaxy A02s dan Vivo Y20.

  • Kelompok 3 : Infinix Hot 10 Play, Nokia C3, Oppo A11, Oppo A11K, Realme C11, Realme C20, Redmi 9A, Samsung Galaxy A10s, Samsung Galaxy J7, Vivo Y12S dan Vivo Y91C.

  • Kelompok 4 : Poco M3, Redmi 9T dan Sharp Aquos V SH-C02.

2. Metode Deskriptif

pam_results <- data_sp[, -c(1:2)] %>%
  mutate(cluster = pam_fit$clustering) %>%
  group_by(cluster) %>%
  do(the_summary = summary(.))

Kelompok 1

pam_results$the_summary[[1]]
##      Price              Processor RAM   Memory     Screen       Performance  
##  Min.   :1456000   Exynos    :0   2:0   16:0   Min.   :3.200   Min.   :4.50  
##  1st Qu.:1522500   Mediatek  :4   3:7   32:7   1st Qu.:3.850   1st Qu.:5.35  
##  Median :1599000   Snapdragon:3   4:0   64:0   Median :4.100   Median :5.70  
##  Mean   :1614000   Unisoc    :0                Mean   :4.429   Mean   :5.50  
##  3rd Qu.:1699500                               3rd Qu.:4.800   3rd Qu.:5.85  
##  Max.   :1799000                               Max.   :6.400   Max.   :5.90  
##      Camera       Connectivity      Battery         cluster 
##  Min.   :3.700   Min.   :4.800   Min.   :5.900   Min.   :1  
##  1st Qu.:4.700   1st Qu.:5.400   1st Qu.:6.550   1st Qu.:1  
##  Median :4.700   Median :5.700   Median :7.700   Median :1  
##  Mean   :4.686   Mean   :5.571   Mean   :7.214   Mean   :1  
##  3rd Qu.:4.950   3rd Qu.:5.800   3rd Qu.:7.850   3rd Qu.:1  
##  Max.   :5.100   Max.   :6.100   Max.   :8.100   Max.   :1

Insight :

Smartphone di kelompok 1 memiliki karakteristik sebagai berikut: - Jenis processor Mediatek atau Snapdragon. - RAM sebesar 3 GB. - Memory sebesar 32 GB. - Harga berkisar pada 1.456.000 hingga 1.799.000 Rupiah. - Dan score rata-rata untuk Screen, Performance, Camera, Connerctivity dan Battery masing-masing adalah 4.429, 5.50, 4.686, 5.571 dan 7.214.

Kelompok 2

pam_results$the_summary[[2]]
##      Price              Processor RAM   Memory     Screen     Performance  
##  Min.   :1599000   Exynos    :0   2:0   16:0   Min.   :3.6   Min.   :5.40  
##  1st Qu.:1749500   Mediatek  :0   3:1   32:0   1st Qu.:3.6   1st Qu.:5.40  
##  Median :1900000   Snapdragon:2   4:2   64:3   Median :3.6   Median :5.40  
##  Mean   :1832667   Unisoc    :1                Mean   :3.6   Mean   :5.70  
##  3rd Qu.:1949500                               3rd Qu.:3.6   3rd Qu.:5.85  
##  Max.   :1999000                               Max.   :3.6   Max.   :6.30  
##      Camera      Connectivity      Battery         cluster 
##  Min.   :4.80   Min.   :5.200   Min.   :5.700   Min.   :2  
##  1st Qu.:4.85   1st Qu.:5.200   1st Qu.:6.800   1st Qu.:2  
##  Median :4.90   Median :5.200   Median :7.900   Median :2  
##  Mean   :4.90   Mean   :5.267   Mean   :7.267   Mean   :2  
##  3rd Qu.:4.95   3rd Qu.:5.300   3rd Qu.:8.050   3rd Qu.:2  
##  Max.   :5.00   Max.   :5.400   Max.   :8.200   Max.   :2

Insight :

Smartphone di kelompok 2 memiliki karakteristik sebagai berikut: - Jenis processor Snapdragon atau Unisoc. - RAM sebesar 3 atau 4 GB. - Memory sebesar 64 GB. - Harga berkisar pada 1.599.000 hingga 1.999.000 Rupiah. - Dan score rata-rata untuk Screen, Performance, Camera, Connerctivity dan Battery masing-masing adalah 3.6, 5.70, 4.90, 5.267 dan 7.267.

Kelompok 3

pam_results$the_summary[[3]]
##      Price              Processor RAM    Memory     Screen       Performance  
##  Min.   :1209000   Exynos    :1   2:11   16:2   Min.   :3.600   Min.   :4.30  
##  1st Qu.:1297000   Mediatek  :8   3: 0   32:9   1st Qu.:3.800   1st Qu.:5.15  
##  Median :1429000   Snapdragon:1   4: 0   64:0   Median :4.000   Median :5.40  
##  Mean   :1506818   Unisoc    :1                 Mean   :4.655   Mean   :5.40  
##  3rd Qu.:1649000                                3rd Qu.:5.700   3rd Qu.:5.75  
##  Max.   :1999000                                Max.   :6.500   Max.   :6.30  
##      Camera       Connectivity      Battery         cluster 
##  Min.   :3.400   Min.   :3.500   Min.   :4.400   Min.   :3  
##  1st Qu.:4.050   1st Qu.:4.500   1st Qu.:5.850   1st Qu.:3  
##  Median :4.500   Median :5.100   Median :6.800   Median :3  
##  Mean   :4.391   Mean   :5.264   Mean   :6.982   Mean   :3  
##  3rd Qu.:4.550   3rd Qu.:5.750   3rd Qu.:8.000   3rd Qu.:3  
##  Max.   :6.000   Max.   :7.600   Max.   :8.900   Max.   :3

Insight :

Smartphone di kelompok 3 memiliki karakteristik sebagai berikut: - Jenis processor beragam dengan Mediatek yang paling banyak. - RAM sebesar 2 GB. - Memory sebesar 16 atau 32 GB. - Harga berkisar pada 1.209.000 hingga 1.999.000 Rupiah. - Dan score rata-rata untuk Screen, Performance, Camera, Connerctivity dan Battery masing-masing adalah 4.655, 5.40, 4.391, 5.264 dan 6.982.

Kelompok 4

pam_results$the_summary[[4]]
##      Price              Processor RAM   Memory     Screen      Performance  
##  Min.   :1799000   Exynos    :0   2:0   16:0   Min.   :6.70   Min.   :6.20  
##  1st Qu.:1836500   Mediatek  :0   3:0   32:0   1st Qu.:6.85   1st Qu.:6.40  
##  Median :1874000   Snapdragon:3   4:3   64:3   Median :7.00   Median :6.60  
##  Mean   :1891000   Unisoc    :0                Mean   :6.90   Mean   :6.50  
##  3rd Qu.:1937000                               3rd Qu.:7.00   3rd Qu.:6.65  
##  Max.   :2000000                               Max.   :7.00   Max.   :6.70  
##      Camera       Connectivity      Battery         cluster 
##  Min.   :5.500   Min.   :5.800   Min.   :4.800   Min.   :4  
##  1st Qu.:6.150   1st Qu.:6.400   1st Qu.:6.850   1st Qu.:4  
##  Median :6.800   Median :7.000   Median :8.900   Median :4  
##  Mean   :6.467   Mean   :6.767   Mean   :7.533   Mean   :4  
##  3rd Qu.:6.950   3rd Qu.:7.250   3rd Qu.:8.900   3rd Qu.:4  
##  Max.   :7.100   Max.   :7.500   Max.   :8.900   Max.   :4

Insight :

Smartphone di kelompok 4 memiliki karakteristik sebagai berikut: - Jenis processor Snapdragon. - RAM sebesar 4 GB. - Memory sebesar 64 GB. - Harga berkisar pada 1.799.000 hingga 2.000.000 Rupiah. - Dan score rata-rata untuk Screen, Performance, Camera, Connerctivity dan Battery masing-masing adalah 6.90, 6.50, 6.467, 6.767 dan 7.533.

Kesimpulan

Berdasarkan hasil analisis diatas data smart phone dapat dikelompokan menjadi 4 kelompok dengan rincian sebagai berikut:

  • Kelompok 1, dengan anggota kelompoknya yaitu Alcatel 1S, Oppo A15, Realme C21, Redmi 9C, Samsung Galaxy A11, Samsung Galaxy M11 dan Zenfone 4 Max memiliki processor Mediatek atau Snapdragon, RAM sebesar 3 GB dan Memory sebesar 32 GB, dengan karakteristik nilai rata-rata cukup baik dari setiap aspek yang ada.

  • Kelompok 2, dengan anggotanya yaitu Alcatel 1SE, Samsung Galaxy A02s dan Vivo Y20 memiliki processor Snapdragon atau Unisoc, RAM sebesar 3 atau 4 GB dan Memory sebesar 64 GB, dengan karakteristik nilai rata-rata aspek cukup baik namun aspek Screen yang rendah.

  • Kelompok 3, dengan anggotanya yaitu Infinix Hot 10 Play, Nokia C3, Oppo A11, Oppo A11K, Realme C11, Realme C20, Redmi 9A, Samsung Galaxy A10s, Samsung Galaxy J7, Vivo Y12S dan Vivo Y91C memiliki RAM sebesar 2 GB dan Memory sebesar 16 atau 32 GB, dengan karakteristik yang beragam dari processor hingga harga-nya.

  • Kelompok 4, dengan anggotanya yaitu Poco M3, Redmi 9T dan Sharp Aquos V SH-C02 memiliki processor Snapdragon, RAM sebesar 4 GB dan Memory sebesar 64 GB, dengan karakteristik nilai rata-rata tertinggi dari setiap aspek yang ada, namun harga rata-rata paling mahal.

(Tambahan) Rekomendasi

Pada bagian ini akan diberikan rekomendasi dari peneliti, jika customer ingin mendapatkan smart phone dengan performa terbaik dari setiap aspek maka sebaiknya customer membeli smart phone yang ada dalam kelompok 4.

# Smart phone kelompok 4
data_sp %>%
  mutate(cluster = pam_fit$clustering) %>%
  filter(cluster == 4) %>% 
  select(-c(cluster)) %>% 
  arrange(Price)