Load & Preparation

# Read Dataset
df_raw <- read.csv("Cust_Segmentation.csv")

# Data Cleaning

# 1. drop kolom pertama (ID)
df <- df_raw %>% dplyr::select(-1)

# 2. hanya ambil variabel numerik
df <- df %>% dplyr::select(where(is.numeric))

# 3. hapus baris dengan NA agar tidak error di FCM atau Mean Shift
df <- na.omit(df)

# 4. cek missing value
missing_table <- data.frame(Variabel = colnames(df), Jumlah_NA = colSums(is.na(df)))
missing_table %>% kable(caption = "Tabel 1: Hasil Identifikasi Missing Value") %>% kable_styling(bootstrap_options = c("striped","hover","condensed"), full_width = F)
Tabel 1: Hasil Identifikasi Missing Value
Variabel Jumlah_NA
Age Age 0
Edu Edu 0
Years.Employed Years.Employed 0
Income Income 0
Card.Debt Card.Debt 0
Other.Debt Other.Debt 0
Defaulted Defaulted 0
DebtIncomeRatio DebtIncomeRatio 0
# 5. cek data duplikasi
data.frame(Keterangan = "Total Baris Duplikat", Jumlah = sum(duplicated(df))) %>% kable(caption = "Tabel 2: Hasil Identifikasi Duplikasi Data") %>% kable_styling(bootstrap_options = c("striped","hover"), full_width = F)
Tabel 2: Hasil Identifikasi Duplikasi Data
Keterangan Jumlah
Total Baris Duplikat 0
# 6. cek outlier
df %>%
  pivot_longer(cols = everything()) %>%
  ggplot(aes(x = name, y = value, fill = name)) +
  geom_boxplot() +
  facet_wrap(~name, scales = "free") +
  theme_minimal() +
  theme(legend.position = "none") +
  labs(title = "Identifikasi Outlier melalui Boxplot")

# 7. statistik deskriptif
stat_deskriptif <- describe(df)[, c("n","mean","sd","min","max")]
stat_deskriptif %>% kable(caption = "Tabel 3: Ringkasan Statistik Deskriptif Data", digits = 2) %>% kable_styling(bootstrap_options = c("striped","hover"), full_width = T)
Tabel 3: Ringkasan Statistik Deskriptif Data
n mean sd min max
Age 700 34.86 8.00 20.00 56.00
Edu 700 1.72 0.93 1.00 5.00
Years.Employed 700 8.39 6.66 0.00 31.00
Income 700 45.60 36.81 14.00 446.00
Card.Debt 700 1.55 2.12 0.01 20.56
Other.Debt 700 3.06 3.29 0.05 27.03
Defaulted 700 0.26 0.44 0.00 1.00
DebtIncomeRatio 700 10.26 6.83 0.40 41.30
# 8. Scaling Data
df_scaled <- scale(df)

# Menghapus kolom yang menjadi NaN jika ada varians 0
df_scaled <- df_scaled[, colSums(is.na(df_scaled)) == 0]

Menampilkan Dataset

Dataset Customer Segmentation
Age Edu Years.Employed Income Card.Debt Other.Debt Defaulted DebtIncomeRatio
1 41 2 6 19 0.124 1.073 0 6.3
2 47 1 26 100 4.582 8.218 0 12.8
3 33 2 10 57 6.111 5.802 1 20.9
4 29 2 4 19 0.681 0.516 0 6.3
5 47 1 31 253 9.308 8.908 0 7.2
7 38 2 4 56 0.442 0.454 0 1.6
8 42 3 0 64 0.279 3.945 0 6.6
10 47 3 23 115 0.653 3.947 0 4.0
11 44 3 8 88 0.285 5.083 1 6.1
13 24 1 7 18 0.526 0.643 0 6.5
15 28 3 2 20 0.233 1.647 1 9.4
17 29 1 1 17 0.132 0.293 0 2.5
18 43 4 1 26 1.519 1.237 0 10.6
21 29 2 6 25 0.585 0.465 0 4.2
22 36 3 10 43 0.961 4.629 0 13.0
23 28 3 6 47 5.574 3.732 1 19.8
24 45 1 19 77 2.303 4.165 0 8.4
25 37 4 10 123 3.022 18.257 0 17.3
27 24 1 4 21 0.099 0.447 0 2.6
29 38 2 13 59 0.408 1.008 0 2.4
30 34 2 9 45 1.118 3.427 0 10.1
31 40 3 18 100 1.485 1.015 0 2.5
32 42 2 12 55 2.533 5.717 0 15.0
33 23 2 0 42 1.019 0.619 1 3.9
35 28 1 12 45 1.854 1.611 0 7.7
37 35 3 5 37 0.581 1.417 1 5.4
38 37 1 0 18 1.584 0.738 1 12.9
39 22 1 1 18 0.270 0.522 0 4.4
41 20 1 4 14 0.201 1.157 1 9.7
42 48 3 17 113 3.376 10.184 0 12.0
43 28 2 5 34 3.099 4.993 0 23.8
44 37 5 9 177 0.888 9.555 0 5.9
45 48 1 3 27 1.403 4.348 0 21.3
47 22 1 4 14 0.225 2.225 0 17.5
49 28 1 3 19 0.261 0.518 0 4.1
51 47 1 22 81 1.506 2.949 0 5.5
52 36 1 11 33 1.266 9.459 0 32.5
53 24 1 3 19 1.358 3.278 1 24.4
55 29 3 5 70 3.176 10.754 1 19.9
56 34 1 2 25 0.573 2.577 1 12.6
57 32 1 1 20 0.315 0.645 1 4.8
58 27 3 2 26 0.722 0.838 0 6.0
59 40 1 9 64 0.790 3.434 0 6.6
60 50 1 11 36 0.835 0.893 0 4.8
61 39 1 17 60 2.450 5.770 0 13.7
62 34 1 18 34 2.100 3.136 0 15.4
63 36 1 18 67 5.245 2.259 0 11.2
64 44 2 18 74 4.522 5.394 0 13.4
65 24 2 4 20 0.324 0.416 0 3.7
66 31 1 8 44 1.721 1.799 0 8.0
67 34 1 16 79 1.735 1.425 0 4.0
68 26 1 4 27 2.472 0.363 1 10.5
69 38 1 3 23 0.832 2.549 0 14.7
70 24 1 3 14 0.838 1.416 1 16.1
71 30 3 8 61 0.550 1.158 0 2.8
72 40 4 5 75 0.885 0.540 0 1.9
73 30 2 12 98 2.935 4.121 0 7.2
75 29 1 9 33 0.694 0.890 0 4.8
76 33 1 5 18 0.985 1.337 0 12.9
77 43 1 8 45 0.677 0.808 0 3.3
78 35 2 1 21 0.370 1.289 0 7.9
79 41 2 21 145 3.237 14.453 0 12.2
81 33 1 12 68 1.366 5.978 0 10.8
82 30 3 0 65 3.900 15.405 1 29.7
83 40 3 18 157 3.326 7.036 0 6.6
85 49 2 11 51 0.543 7.107 0 15.0
89 28 2 8 31 1.492 1.050 1 8.2
90 23 4 0 32 0.818 5.070 1 18.4
91 37 2 11 75 0.633 1.992 0 3.5
92 35 2 5 33 0.103 0.821 0 2.8
93 31 1 1 21 0.277 0.248 1 2.5
94 29 1 1 20 0.569 3.151 1 18.6
95 34 3 7 27 0.125 0.469 0 2.2
98 38 1 10 34 0.036 0.372 0 1.2
99 32 2 5 28 2.594 1.550 1 14.8
100 22 3 0 20 0.219 0.721 0 4.7
101 30 1 7 33 1.165 7.217 1 25.4
103 36 1 20 60 1.056 2.184 0 5.4
104 44 1 5 48 1.970 2.350 1 9.0
105 27 2 4 22 1.086 1.818 1 13.2
106 47 1 19 50 3.176 11.874 0 30.1
107 41 1 7 32 0.072 0.856 0 2.9
108 25 1 8 27 1.019 2.869 0 14.4
110 42 3 13 82 1.315 1.391 0 3.3
111 36 1 14 53 1.888 1.133 0 5.7
112 25 4 0 32 2.140 3.492 0 17.6
113 30 1 10 39 2.056 1.649 0 9.5
114 24 1 0 16 1.009 1.551 1 16.0
116 39 2 9 32 1.430 0.682 0 6.6
117 30 1 4 18 0.227 1.699 0 10.7
119 32 2 12 63 5.550 5.916 0 18.2
120 33 1 7 26 0.543 1.017 0 6.0
121 29 2 6 21 0.369 2.046 0 11.5
122 28 2 5 37 1.124 1.947 0 8.3
123 33 4 9 32 0.496 1.264 0 5.5
124 39 2 16 53 0.694 1.267 0 3.7
125 32 1 10 42 1.540 2.282 0 9.1
127 32 2 3 47 0.429 0.464 0 1.9
128 28 2 5 25 0.339 0.386 0 2.9
129 26 1 2 21 1.023 3.135 0 19.8
130 27 1 0 16 0.183 0.089 0 1.7
131 35 1 16 36 0.179 1.045 0 3.4
132 35 1 16 57 1.143 4.842 0 10.5
133 31 2 6 25 2.332 0.543 0 11.5
134 32 3 5 23 0.326 0.709 0 4.5
135 29 1 9 25 1.070 2.405 0 13.9
136 35 4 4 29 1.844 1.346 0 11.0
139 44 1 12 31 0.358 2.649 0 9.7
140 40 2 5 35 1.584 4.156 1 16.4
141 36 2 13 41 2.918 3.806 1 16.4
142 23 2 0 21 0.455 1.372 0 8.7
143 26 2 8 40 0.444 4.276 0 11.8
144 30 1 8 23 0.762 1.998 0 12.0
145 34 1 12 68 7.817 9.251 1 25.1
146 28 3 2 30 1.522 4.448 0 19.9
148 46 3 3 43 3.042 2.634 1 13.2
149 24 2 1 42 0.838 1.556 0 5.7
150 25 2 6 26 0.070 1.100 0 4.5
151 33 1 14 37 0.199 0.763 0 2.6
153 38 3 4 31 1.332 1.551 1 9.3
155 34 2 9 65 2.108 1.922 0 6.2
157 39 1 22 113 0.987 1.951 0 2.6
158 44 1 24 101 2.992 2.664 0 5.6
159 28 2 1 24 1.338 2.766 1 17.1
160 31 3 9 59 3.110 5.504 1 14.6
162 36 3 13 39 2.801 4.687 0 19.2
163 35 2 14 82 0.468 0.188 0 0.8
164 31 1 11 47 2.864 2.259 0 10.9
165 28 2 6 22 0.650 1.880 0 11.5
166 36 4 8 32 0.025 0.487 0 1.6
167 31 3 6 54 0.402 1.110 0 2.8
168 30 1 11 27 0.074 0.169 0 0.9
169 26 1 10 24 0.311 0.337 0 2.7
170 48 4 3 45 0.975 3.435 0 9.8
171 39 2 16 89 5.002 7.725 0 14.3
172 31 1 7 20 0.111 2.349 0 12.3
173 31 3 9 28 0.122 0.606 0 2.6
174 27 3 3 45 0.292 4.658 1 11.0
175 31 1 13 27 0.238 1.112 0 5.0
176 53 1 0 27 2.754 5.049 1 28.9
177 40 1 15 55 0.856 2.169 0 5.5
178 26 1 7 22 0.209 0.913 0 5.1
179 29 2 5 36 3.491 0.973 1 12.4
180 52 1 19 89 0.397 3.786 0 4.7
181 39 2 2 46 4.004 3.356 1 16.0
182 33 2 13 40 0.181 2.699 0 7.2
183 24 1 7 21 0.520 0.803 0 6.3
184 47 1 29 129 20.561 12.076 1 25.3
185 41 3 2 15 1.961 1.984 1 26.3
186 26 2 6 45 6.049 5.651 0 26.0
187 48 1 3 24 0.764 0.916 0 7.0
188 37 1 13 24 0.602 1.534 0 8.9
192 47 1 15 30 2.212 5.138 0 24.5
194 37 2 0 31 0.118 0.161 1 0.9
195 40 2 15 73 1.033 1.449 0 3.4
197 21 2 0 16 0.150 0.938 0 6.8
198 52 1 24 64 3.930 2.470 0 10.0
199 47 3 16 221 15.792 23.104 1 17.6
200 41 3 0 26 0.099 0.343 0 1.7
201 47 1 27 113 2.381 8.015 0 9.2
203 22 3 1 25 1.977 1.473 1 13.8
204 39 1 8 21 0.276 0.564 0 4.0
206 51 1 10 44 4.960 0.848 1 13.2
207 33 2 10 26 0.031 0.775 0 3.1
208 43 1 25 242 1.636 4.656 0 2.6
209 40 1 22 95 0.633 2.787 0 3.6
210 27 4 2 23 0.320 0.991 1 5.7
211 31 1 11 25 0.141 2.134 0 9.1
213 37 1 9 57 1.357 1.778 0 5.5
215 42 1 3 24 0.667 1.877 0 10.6
216 25 1 3 16 1.011 1.837 1 17.8
217 39 2 7 68 1.017 7.823 1 13.0
220 48 1 15 60 0.321 0.939 0 2.1
221 21 2 0 21 0.488 2.137 1 12.5
222 40 3 17 116 2.561 4.399 0 6.0
223 31 2 9 30 0.602 1.138 0 5.8
224 23 4 0 23 0.468 1.073 0 6.7
225 31 1 6 21 0.729 1.014 0 8.3
226 31 1 7 23 0.225 0.902 0 4.9
227 50 3 18 102 5.782 8.600 0 14.1
228 29 1 1 31 0.156 2.324 0 8.0
229 37 3 5 29 1.405 5.729 0 24.6
230 46 1 16 52 3.032 3.676 1 12.9
231 39 1 9 35 0.233 1.517 0 5.0
232 34 1 14 28 1.138 3.622 0 17.0
233 27 1 11 56 4.637 4.827 0 16.9
235 41 1 24 83 6.589 5.031 0 14.0
236 29 1 1 18 0.030 0.168 0 1.1
238 24 2 0 15 0.321 2.094 1 16.1
239 32 3 9 51 2.686 9.044 0 23.0
240 23 2 3 34 0.262 1.234 0 4.4
241 31 1 4 28 0.291 2.873 0 11.3
242 36 1 15 39 0.686 0.562 0 3.2
244 26 1 10 32 0.126 1.378 0 4.7
247 43 1 10 69 0.411 4.005 0 6.4
248 37 1 18 54 4.593 1.941 0 12.1
250 28 4 1 26 0.377 2.847 0 12.4
251 28 1 8 30 0.613 1.547 0 7.2
252 26 3 2 37 0.205 5.049 0 14.2
253 39 1 10 31 0.185 1.303 0 4.8
254 34 2 3 21 1.402 3.449 0 23.1
255 51 3 16 82 2.605 1.003 0 4.4
256 28 2 3 41 5.897 4.394 1 25.1
257 39 1 20 39 0.774 2.424 0 8.2
258 23 1 3 19 0.279 1.317 1 8.4
260 21 1 4 26 1.421 0.893 0 8.9
261 40 1 3 23 0.409 1.178 0 6.9
263 32 2 12 54 3.196 4.580 0 14.4
264 29 3 3 50 0.259 0.941 1 2.4
265 43 1 25 64 0.951 9.737 0 16.7
266 55 1 3 40 0.563 2.637 1 8.0
268 38 3 15 63 5.091 3.351 0 13.4
269 40 1 2 28 0.185 1.803 0 7.1
270 43 1 12 38 0.129 1.239 0 3.6
271 35 2 1 24 0.591 2.409 1 12.5
272 24 1 8 24 0.382 0.818 0 5.0
275 41 2 5 25 0.393 2.157 0 10.2
276 28 1 2 17 0.199 0.226 1 2.5
277 24 2 2 28 1.787 3.057 1 17.3
278 40 3 3 55 1.751 7.324 1 16.5
279 29 1 8 27 0.402 2.244 0 9.8
280 26 2 4 28 0.226 2.434 0 9.5
283 41 1 15 120 2.659 0.821 0 2.9
284 26 1 0 14 0.256 1.214 0 10.5
285 48 1 22 100 3.704 5.396 0 9.1
287 35 1 15 77 5.501 2.661 0 10.6
288 23 1 7 31 0.338 1.708 0 6.6
289 39 2 20 101 0.341 1.073 0 1.4
290 38 1 21 58 4.584 4.986 0 16.5
291 30 1 4 33 0.500 0.886 0 4.2
293 33 1 0 23 0.077 0.130 0 0.9
294 34 1 15 39 4.373 5.260 1 24.7
295 27 2 6 34 0.238 1.258 0 4.4
296 30 1 1 22 1.139 1.171 0 10.5
297 27 2 1 20 0.377 1.683 1 10.3
298 29 1 9 30 0.155 2.305 0 8.2
299 25 4 1 34 0.133 2.757 1 8.5
300 41 1 23 91 0.573 11.894 0 13.7
301 42 2 11 73 2.869 2.095 0 6.8
302 38 3 12 64 0.895 2.817 0 5.8
303 23 1 5 17 0.302 1.041 0 7.9
304 33 1 2 24 1.041 1.263 0 9.6
305 31 1 2 22 1.739 1.869 1 16.4
306 37 2 6 62 1.186 4.084 0 8.5
307 40 1 10 45 2.013 6.447 0 18.8
309 35 2 3 40 1.803 5.077 1 17.2
310 38 1 6 41 0.266 3.383 0 8.9
311 30 2 8 56 0.333 3.251 0 6.4
312 30 1 1 17 0.746 1.124 0 11.0
314 29 2 3 15 0.147 0.243 0 2.6
315 39 1 19 45 0.916 0.749 0 3.7
318 31 2 0 27 1.089 2.367 1 12.8
320 38 1 0 23 0.898 0.965 1 8.1
321 41 3 13 91 2.316 20.616 1 25.2
322 41 2 2 30 0.113 1.897 0 6.7
323 45 3 5 94 3.612 6.258 1 10.5
325 22 1 4 16 0.084 0.108 0 1.2
326 34 1 13 56 0.864 2.552 0 6.1
327 25 1 0 18 0.514 2.888 1 18.9
328 29 2 6 18 0.450 0.468 1 5.1
329 35 2 13 105 1.418 0.577 0 1.9
330 39 1 19 48 1.930 4.358 0 13.1
331 34 1 17 59 1.808 2.912 0 8.0
332 44 2 21 113 3.192 11.724 0 13.2
333 23 2 0 21 0.776 1.618 1 11.4
334 46 1 6 31 1.986 1.796 0 12.2
335 41 4 9 47 0.437 1.913 0 5.0
336 52 1 9 24 0.802 3.806 1 19.2
337 23 1 1 17 0.012 0.260 0 1.6
338 48 1 28 70 4.334 4.066 0 12.0
340 53 2 16 44 1.333 1.131 0 5.6
341 39 3 11 39 2.561 2.470 0 12.9
342 37 1 20 56 0.543 0.521 0 1.9
344 49 2 2 20 0.379 3.001 1 16.9
345 39 1 23 75 3.133 11.042 0 18.9
346 42 2 7 41 0.941 0.945 0 4.6
347 28 2 1 16 0.574 1.778 0 14.7
348 27 3 5 75 2.207 2.518 0 6.3
349 24 1 2 21 0.025 0.101 0 0.6
350 34 1 5 33 0.778 1.631 0 7.3
351 47 1 31 136 14.231 17.185 1 23.1
352 26 4 1 27 0.312 0.471 0 2.9
353 35 1 17 42 0.093 1.167 0 3.0
354 31 1 6 33 0.146 1.240 0 4.2
355 29 1 13 27 0.069 0.552 0 2.3
356 44 1 9 33 0.546 1.170 0 5.2
357 40 2 13 102 6.227 13.051 1 18.9
358 36 4 1 30 0.324 3.126 0 11.5
360 21 1 1 18 0.159 2.955 0 17.3
361 42 4 15 186 2.404 4.292 0 3.6
362 37 2 4 20 0.174 4.166 1 21.7
363 24 1 6 21 0.108 0.984 0 5.2
364 24 4 0 29 0.590 1.324 1 6.6
365 46 3 4 73 2.223 1.719 0 5.4
366 28 1 2 16 0.871 1.561 0 15.2
367 41 1 16 68 0.448 3.224 0 5.4
368 46 5 15 126 0.477 3.429 0 3.1
369 51 2 22 120 4.140 4.980 0 7.6
370 36 1 17 54 0.727 1.649 0 4.4
371 25 1 1 20 0.472 0.868 1 6.7
372 27 2 3 33 1.633 2.723 0 13.2
373 43 1 23 72 1.182 4.290 0 7.6
374 53 1 6 27 0.594 1.134 1 6.4
375 32 1 4 16 0.894 3.666 1 28.5
376 36 1 0 25 2.778 2.147 0 19.7
378 35 1 18 42 0.205 2.903 0 7.4
379 32 2 0 18 0.296 0.748 1 5.8
381 42 1 2 30 1.472 1.438 0 9.7
382 25 1 9 20 0.105 0.595 0 3.5
383 20 3 0 17 0.044 0.347 0 2.3
384 50 1 4 23 0.141 2.734 0 12.5
385 46 2 22 144 3.325 12.659 0 11.1
386 33 1 15 32 0.491 1.941 0 7.6
387 43 1 19 79 0.782 5.143 0 7.5
388 30 2 4 21 0.492 3.351 0 18.3
389 34 1 3 36 0.624 1.068 0 4.7
390 37 1 3 25 0.276 0.649 0 3.7
391 38 1 4 19 1.245 1.339 0 13.6
392 32 2 11 57 5.440 8.126 1 23.8
393 39 1 15 39 0.140 0.562 0 1.8
394 31 1 7 41 2.996 9.591 1 30.7
395 25 1 5 22 0.403 1.995 0 10.9
398 45 2 21 132 2.558 1.402 0 3.0
399 39 1 4 38 1.178 1.292 0 6.5
401 24 2 3 24 2.173 2.411 0 19.1
402 30 1 10 19 0.336 0.500 0 4.4
403 30 1 0 19 0.624 2.530 1 16.6
404 27 1 0 18 0.583 1.721 0 12.8
405 31 1 5 25 1.177 2.348 0 14.1
406 47 3 9 52 2.540 7.912 1 20.1
407 47 2 4 33 1.195 1.148 1 7.1
408 45 2 15 51 1.551 7.680 0 18.1
411 29 1 12 40 1.632 1.048 0 6.7
412 36 2 12 60 1.721 3.019 0 7.9
413 29 2 10 44 3.703 4.261 0 18.1
414 39 1 2 22 1.916 3.166 1 23.1
415 22 2 0 35 0.781 2.369 1 9.0
416 46 1 14 35 1.349 2.221 0 10.2
418 37 1 1 24 1.801 1.823 1 15.1
419 42 1 12 51 2.412 8.502 0 21.4
421 34 1 18 53 0.840 4.725 0 10.5
422 38 3 12 63 5.715 4.365 1 16.0
424 35 2 9 30 0.650 1.630 0 7.6
426 45 2 18 35 0.548 5.542 0 17.4
427 43 1 4 29 0.053 1.281 0 4.6
428 54 1 9 28 1.558 2.586 1 14.8
429 35 3 7 38 1.383 4.355 0 15.1
430 28 1 4 19 0.287 0.492 0 4.1
431 39 1 16 52 4.160 6.240 0 20.0
433 32 2 2 15 0.119 1.246 1 9.1
434 22 3 0 18 0.478 0.908 0 7.7
435 41 3 18 71 6.566 4.581 1 15.7
436 34 2 4 25 0.570 0.880 0 5.8
437 34 2 9 27 0.295 0.164 0 1.7
438 31 1 1 24 0.217 0.863 0 4.5
439 55 1 19 78 4.405 7.763 0 15.6
440 40 1 21 46 0.967 1.885 0 6.2
441 41 1 13 44 0.071 0.677 0 1.7
442 43 2 10 37 0.676 2.469 0 8.5
443 36 1 6 26 0.030 2.128 0 8.3
444 51 2 31 249 4.273 15.149 0 7.8
446 27 3 5 42 2.708 5.650 1 19.9
447 36 2 11 49 0.273 0.364 0 1.3
448 38 1 5 54 1.500 4.224 0 10.6
449 47 1 17 43 0.588 1.820 0 5.6
450 33 1 13 42 0.228 1.284 0 3.6
451 41 3 12 86 4.991 17.799 1 26.5
452 33 1 9 29 1.349 2.653 1 13.8
453 21 3 0 26 1.530 0.472 0 7.7
454 34 1 0 21 0.187 1.325 0 7.2
455 51 2 27 166 0.821 18.269 0 11.5
456 36 2 0 30 0.329 2.581 0 9.7
457 23 2 0 17 2.044 2.665 1 27.7
459 29 1 7 22 0.551 1.583 0 9.7
460 46 3 9 60 1.607 7.574 0 15.3
461 45 3 2 39 0.459 1.452 0 4.9
462 41 3 17 176 11.359 5.009 1 9.3
463 28 1 4 16 1.085 2.723 0 23.8
464 37 1 6 29 1.716 3.011 0 16.3
465 25 1 8 35 0.077 0.938 0 2.9
466 48 3 0 19 0.850 1.202 0 10.8
467 37 3 12 83 0.320 3.083 0 4.1
468 32 1 3 23 0.053 1.373 0 6.2
469 31 1 15 60 0.804 2.076 0 4.8
470 48 4 14 59 4.936 4.799 1 16.5
471 45 1 22 91 1.256 9.391 0 11.7
473 39 1 19 46 2.516 1.670 0 9.1
474 41 1 19 96 2.254 5.234 0 7.8
475 50 2 15 60 0.468 0.192 0 1.1
476 22 3 0 23 0.373 1.559 1 8.4
477 43 2 6 54 0.622 4.562 0 9.6
478 33 1 8 27 0.777 0.789 0 5.8
479 29 1 11 32 0.927 0.993 0 6.0
480 24 1 3 21 2.682 3.387 1 28.9
482 37 4 1 33 2.694 2.619 1 16.1
483 34 2 8 78 2.157 2.055 0 5.4
484 22 1 1 17 0.806 2.356 0 18.6
485 41 1 4 25 1.060 1.464 0 10.1
486 32 2 7 32 0.433 0.943 0 4.3
487 35 1 15 40 1.214 6.186 0 18.5
488 41 1 24 100 5.060 6.440 0 11.5
489 21 2 1 16 0.242 2.638 1 18.0
490 23 1 2 25 0.124 1.001 1 4.5
491 25 1 6 22 2.262 2.182 0 20.2
492 40 1 12 89 2.772 12.714 0 17.4
493 38 1 11 35 1.266 1.534 0 8.0
495 40 1 13 28 0.965 0.687 0 5.9
496 29 2 1 25 0.569 2.031 0 10.4
497 25 1 3 18 0.352 2.582 1 16.3
498 33 1 14 72 15.017 14.719 1 41.3
500 24 1 1 18 0.239 0.823 1 5.9
501 29 2 4 37 1.160 1.282 1 6.6
502 28 2 0 29 2.148 1.709 1 13.3
505 31 2 2 26 0.283 1.485 1 6.8
506 28 3 5 44 0.773 3.055 0 8.7
507 39 2 15 32 0.422 1.146 0 4.9
508 33 2 2 35 2.124 5.891 1 22.9
509 41 2 19 68 1.507 2.437 0 5.8
510 29 2 1 29 2.330 3.818 1 21.2
511 31 1 2 22 1.092 1.702 1 12.7
512 28 4 0 38 0.636 3.316 0 10.4
513 35 1 0 34 1.370 2.404 1 11.1
514 54 1 25 120 14.596 17.204 1 26.5
516 46 1 9 31 1.617 2.661 0 13.8
517 23 2 3 22 1.274 1.234 1 11.4
518 28 2 6 38 0.774 1.962 0 7.2
519 24 1 3 15 0.073 1.622 1 11.3
520 41 2 7 63 4.638 5.064 0 15.4
521 43 2 9 60 4.039 8.201 1 20.4
522 27 3 3 35 1.601 3.054 0 13.3
524 28 1 2 18 1.939 0.725 1 14.8
526 35 3 1 20 0.853 0.727 0 7.9
527 31 1 11 28 0.345 0.999 1 4.8
528 42 2 14 48 1.201 2.927 1 8.6
529 29 1 1 18 1.981 2.627 1 25.6
530 36 1 4 17 0.521 2.420 0 17.3
532 31 1 12 31 2.057 5.290 0 23.7
533 43 4 18 446 16.031 12.959 1 6.5
535 31 1 9 28 0.048 0.624 0 2.4
537 28 2 2 23 0.187 1.285 1 6.4
538 35 1 7 29 0.264 1.157 0 4.9
539 38 1 5 21 0.450 1.440 0 9.0
540 40 1 14 43 2.793 3.657 1 15.0
542 38 2 8 38 0.029 0.199 0 0.6
543 27 3 4 40 0.284 0.956 1 3.1
544 49 1 11 39 2.458 1.481 0 10.1
545 38 1 18 45 0.535 2.615 0 7.0
546 43 1 16 89 0.159 0.197 0 0.4
547 36 2 9 49 0.818 3.396 1 8.6
548 37 1 4 23 0.870 1.982 0 12.4
549 46 3 22 99 0.827 1.450 0 2.3
550 22 2 0 20 0.207 0.913 0 5.6
551 47 1 13 51 3.739 8.399 0 23.8
553 30 4 2 25 1.770 0.730 0 10.0
554 51 2 19 159 1.068 3.384 0 2.8
558 46 2 9 15 0.015 0.630 0 4.3
559 29 1 7 20 1.006 2.954 1 19.8
560 26 1 1 21 0.608 0.421 0 4.9
562 39 1 22 52 1.155 0.509 0 3.2
563 30 2 10 22 1.410 2.132 0 16.1
564 41 3 7 56 0.374 7.746 1 14.5
565 25 2 4 27 0.549 0.801 1 5.0
566 34 1 16 48 1.474 2.174 0 7.6
568 25 1 4 23 0.252 0.944 0 5.2
569 39 1 20 67 3.834 16.668 0 30.6
570 26 1 4 20 0.319 0.761 0 5.4
571 31 1 8 41 0.134 5.032 0 12.6
572 40 3 5 220 8.166 27.034 1 16.0
573 42 1 6 31 1.025 2.571 0 11.6
574 23 1 1 21 1.210 0.554 1 8.4
575 34 1 9 48 0.420 4.044 0 9.3
576 28 4 0 29 1.425 5.593 0 24.2
577 29 1 6 21 1.110 2.691 0 18.1
578 29 2 3 26 0.538 1.048 1 6.1
579 24 2 2 26 0.888 1.634 1 9.7
580 53 1 9 50 2.016 3.584 1 11.2
581 39 1 19 60 9.593 6.667 1 27.1
582 28 4 2 41 0.459 0.566 1 2.5
584 39 1 12 46 0.561 1.739 0 5.0
585 38 1 18 44 0.606 1.374 0 4.5
586 34 4 6 27 1.982 7.549 1 35.3
587 31 1 11 45 2.739 4.911 0 17.0
588 40 1 2 32 0.854 0.330 0 3.7
589 32 1 8 26 0.326 0.740 0 4.1
592 44 2 12 86 1.476 9.704 0 13.0
594 41 2 6 36 4.514 2.506 1 19.5
595 28 1 0 28 2.284 7.040 1 33.3
598 25 1 9 18 0.066 0.150 0 1.2
599 43 2 16 83 0.259 3.144 0 4.1
600 45 1 12 37 1.343 2.172 0 9.5
601 35 1 13 35 0.432 1.143 0 4.5
602 34 1 13 51 1.875 3.021 0 9.6
603 29 1 2 14 0.587 1.429 1 14.4
604 32 2 11 75 7.759 9.716 1 23.3
605 27 3 6 26 0.930 1.774 0 10.4
606 39 1 16 57 1.559 9.499 0 19.4
608 31 4 1 29 1.065 2.154 0 11.1
609 28 1 4 28 0.437 3.539 1 14.2
610 27 2 8 38 0.364 2.258 0 6.9
612 31 1 9 26 0.310 0.860 0 4.5
613 32 1 0 20 0.263 0.337 1 3.0
614 29 2 9 36 0.127 0.377 0 1.4
615 31 2 9 53 1.195 5.960 0 13.5
616 32 2 5 43 1.806 4.644 1 15.0
617 39 1 6 42 2.541 5.817 1 19.9
618 27 2 7 30 0.448 0.752 1 4.0
619 29 1 13 42 1.458 1.650 1 7.4
620 31 1 11 34 0.298 2.014 0 6.8
621 41 2 22 75 9.877 7.823 0 23.6
623 35 2 0 22 1.970 1.330 1 15.0
624 38 2 2 22 1.209 3.785 1 22.7
625 29 1 1 17 0.157 0.982 0 6.7
626 37 1 7 32 2.697 3.575 0 19.6
627 26 1 8 25 0.210 0.965 0 4.7
628 27 1 0 16 0.130 0.046 0 1.1
629 42 2 18 66 1.641 4.695 0 9.6
632 36 1 10 28 0.815 2.321 1 11.2
633 48 1 17 66 1.468 0.644 0 3.2
634 45 1 10 52 0.932 1.876 0 5.4
636 26 1 6 22 0.721 1.545 0 10.3
638 50 3 10 80 2.479 7.281 0 12.2
639 30 1 11 33 0.682 2.090 0 8.4
640 49 2 22 79 0.288 5.479 0 7.3
641 36 1 1 16 0.433 1.055 0 9.3
642 24 2 3 19 0.359 0.458 0 4.3
643 42 5 6 190 3.157 11.663 0 7.8
644 28 2 0 30 0.121 1.319 1 4.8
645 52 2 12 76 0.995 4.857 0 7.7
646 39 2 9 56 4.765 5.707 0 18.7
648 29 2 0 22 1.039 1.799 1 12.9
649 40 1 8 28 0.534 0.474 0 3.6
650 27 1 10 34 0.851 1.359 0 6.5
651 24 3 2 16 0.270 0.754 1 6.4
652 26 2 5 28 1.024 1.160 0 7.8
653 40 3 16 116 1.614 12.422 0 12.1
654 50 2 16 71 1.663 6.218 0 11.1
656 26 2 6 30 0.144 0.156 0 1.0
658 37 3 16 50 7.320 10.980 1 36.6
659 52 5 9 70 1.329 5.251 1 9.4
661 28 1 3 26 0.432 2.168 0 10.0
662 29 2 6 57 0.453 0.801 0 2.2
664 54 1 18 114 3.295 6.395 0 8.5
665 32 1 10 32 1.168 2.448 0 11.3
666 32 1 11 53 0.089 1.660 0 3.3
667 36 1 14 81 1.785 4.047 0 7.2
668 31 1 12 24 0.442 1.142 0 6.6
669 28 1 11 24 0.107 0.469 0 2.4
670 34 1 10 33 2.502 0.897 1 10.3
671 53 4 7 61 1.875 2.944 0 7.9
672 50 1 8 47 0.399 2.844 0 6.9
673 52 4 13 234 7.387 10.631 0 7.7
674 30 2 4 15 0.350 0.625 0 6.5
675 26 2 0 28 1.271 1.333 0 9.3
676 42 2 21 121 1.365 2.386 0 3.1
677 27 1 6 43 0.883 1.224 0 4.9
678 41 1 14 52 0.926 2.870 0 7.3
679 27 1 10 31 1.362 4.001 0 17.3
681 37 1 12 44 2.995 3.473 0 14.7
682 29 1 3 17 0.470 1.060 0 9.0
683 27 1 9 45 2.852 5.158 1 17.8
685 21 3 0 24 0.833 1.015 0 7.7
686 41 4 14 44 0.353 0.395 0 1.7
687 23 2 1 18 0.885 2.481 1 18.7
688 45 2 9 69 0.707 3.916 0 6.7
689 45 2 2 29 0.443 1.123 0 5.4
690 33 1 6 21 0.567 1.008 0 7.5
691 21 1 1 16 0.141 0.867 0 6.3
692 40 1 6 36 0.391 0.365 1 2.1
693 40 2 3 28 0.553 2.107 0 9.5
694 56 1 11 59 4.673 4.177 0 15.0
696 29 1 6 46 1.170 1.314 0 5.4
697 29 2 6 65 1.985 9.975 0 18.4
698 39 1 13 27 0.966 1.194 0 8.0
699 27 2 1 23 0.285 2.567 0 12.4
700 25 1 1 15 0.371 1.339 1 11.4
701 36 5 5 20 0.729 0.891 0 8.1
702 35 1 7 39 1.702 4.577 1 16.1
703 25 2 4 33 0.553 1.163 0 5.2
704 21 2 2 20 0.291 0.609 1 4.5
705 23 1 2 16 0.805 0.731 1 9.6
706 32 1 14 73 3.752 2.672 0 8.8
707 34 1 0 20 2.049 1.371 0 17.1
709 39 1 22 73 3.727 6.712 0 14.3
710 46 1 1 21 1.377 1.731 1 14.8
711 35 2 10 98 4.875 8.159 0 13.3
712 33 4 9 28 0.377 0.827 0 4.3
713 30 2 12 68 2.857 10.811 0 20.1
714 54 3 21 118 9.600 7.392 0 14.4
715 42 2 5 41 0.355 1.039 0 3.4
716 28 1 9 22 5.283 0.811 1 27.7
717 35 1 9 34 0.398 1.302 0 5.0
718 41 3 16 135 1.277 4.663 0 4.4
719 41 1 16 49 0.431 0.353 0 1.6
720 53 4 5 78 6.936 6.558 1 17.3
721 28 1 4 26 1.295 2.215 0 13.5
722 35 1 5 32 0.175 3.985 0 13.0
723 42 1 7 25 1.629 0.921 0 10.2
726 48 2 30 148 3.975 6.681 0 7.2
727 33 1 2 44 0.525 0.839 0 3.1
728 37 1 6 31 1.701 1.926 1 11.7
730 35 3 10 39 1.602 2.454 0 10.4
731 48 2 6 66 2.316 5.670 0 12.1
732 34 1 16 75 3.955 3.845 0 10.4
734 41 2 8 43 0.086 0.215 0 0.7
736 39 1 6 61 0.563 2.914 0 5.7
737 46 1 1 20 0.809 1.991 0 14.0
738 33 2 4 55 2.160 1.690 0 7.0
739 34 3 2 39 1.143 4.005 0 13.2
740 34 3 12 47 1.301 1.848 0 6.7
742 45 3 16 80 0.912 1.488 0 3.0
743 25 1 1 19 0.190 1.121 0 6.9
744 31 2 6 32 3.341 4.051 1 23.1
745 34 4 7 40 0.950 1.610 0 6.4
746 45 1 23 50 0.559 1.541 0 4.2
747 44 2 17 129 0.551 2.674 0 2.5
751 38 1 6 18 0.131 2.209 0 13.0
752 27 1 7 26 0.641 1.725 0 9.1
753 29 1 11 36 0.709 1.487 0 6.1
754 29 2 5 28 2.126 3.110 0 18.7
755 22 1 4 24 1.636 2.108 1 15.6
756 47 1 4 26 0.122 2.582 0 10.4
757 27 2 5 25 0.706 0.995 0 6.8
758 24 1 2 18 0.528 0.552 0 6.0
760 26 1 3 29 2.527 4.926 1 25.7
761 40 1 22 100 5.402 9.198 0 14.6
762 33 2 12 58 3.084 7.588 0 18.4
763 30 1 0 17 0.304 1.736 0 12.0
764 39 2 16 69 1.061 0.595 0 2.4
765 24 2 0 16 0.025 1.143 0 7.3
766 27 4 0 70 1.618 3.982 1 8.0
767 38 2 7 64 0.651 1.269 0 3.0
768 36 1 9 40 1.976 1.944 0 9.8
769 39 1 4 33 0.397 1.913 0 7.0
770 43 1 13 76 2.151 2.485 1 6.1
771 24 1 8 17 0.569 0.383 1 5.6
772 21 1 5 25 0.367 1.883 0 9.0
773 26 2 2 24 1.577 1.687 1 13.6
774 43 1 11 37 0.180 0.301 0 1.3
775 36 3 11 44 0.446 6.022 0 14.7
778 34 2 10 33 0.574 2.561 0 9.5
779 47 2 17 41 0.456 3.439 0 9.5
780 48 1 0 30 2.663 4.027 0 22.3
781 29 2 9 46 0.241 0.495 0 1.6
782 36 1 7 43 1.040 1.626 0 6.2
783 35 1 10 39 0.218 2.005 0 5.7
784 39 1 13 38 1.897 1.485 0 8.9
785 41 1 21 76 6.949 8.631 0 20.5
786 29 3 1 30 0.279 1.071 0 4.5
787 39 2 18 44 0.368 0.556 0 2.1
788 33 1 12 32 2.105 1.511 0 11.3
790 39 1 0 39 1.066 2.015 0 7.9
791 40 2 8 57 0.878 2.314 0 5.6
793 34 1 15 67 3.741 5.103 0 13.2
794 29 3 7 84 6.912 4.512 1 13.6
795 30 1 0 17 0.447 0.182 1 3.7
796 38 3 3 25 0.312 0.613 0 3.7
797 25 4 0 24 1.597 1.307 1 12.1
798 26 2 6 35 0.086 0.579 0 1.9
800 29 1 8 24 0.470 1.138 0 6.7
801 28 1 5 22 0.140 0.476 0 2.8
802 48 1 30 101 1.875 4.589 0 6.4
803 26 1 0 14 0.302 0.748 1 7.5
804 36 1 4 23 1.327 2.422 0 16.3
805 30 1 12 38 0.171 3.059 0 8.5
806 41 1 1 19 0.242 0.594 0 4.4
807 34 3 13 52 1.497 3.287 0 9.2
809 45 1 17 62 2.437 6.863 0 15.0
810 22 1 4 19 1.887 2.502 1 23.1
813 34 1 6 20 0.042 0.198 0 1.2
814 31 1 10 49 3.237 1.565 1 9.8
815 33 1 7 22 0.631 0.777 0 6.4
816 40 2 2 36 0.278 1.090 0 3.8
817 36 2 6 27 0.262 0.980 1 4.6
820 36 1 7 40 1.695 2.265 0 9.9
822 32 1 16 38 0.694 7.286 0 21.0
823 45 1 3 20 0.105 0.315 0 2.1
824 27 4 0 25 1.419 1.756 1 12.7
825 41 2 4 26 1.473 3.519 1 19.2
827 48 1 13 50 6.114 9.286 1 30.8
828 50 1 1 26 1.852 1.866 0 14.3
829 45 3 0 22 0.030 0.894 0 4.2
830 33 2 2 37 0.834 0.831 0 4.5
831 33 1 13 52 2.714 8.362 1 21.3
832 27 2 8 18 0.401 1.741 0 11.9
833 36 2 7 43 2.649 3.973 0 15.4
834 30 4 7 30 0.264 4.446 0 15.7
835 28 2 3 36 0.384 2.712 0 8.6
837 23 2 3 24 0.552 0.960 0 6.3
838 23 1 7 22 0.849 2.319 0 14.4
839 26 1 10 25 1.306 0.469 0 7.1
840 31 1 8 22 0.370 1.104 0 6.7
841 38 3 13 25 0.343 1.082 0 5.7
842 29 3 7 63 0.572 2.893 0 5.5
843 32 1 14 36 0.273 0.591 0 2.4
844 32 2 8 45 0.982 0.683 0 3.7
845 41 1 7 43 0.694 1.198 0 4.4
847 28 2 7 34 0.359 2.021 0 7.0
848 25 4 0 18 2.802 3.210 1 33.4
849 32 1 12 28 0.116 0.696 0 2.9
850 52 1 16 64 1.866 3.638 0 8.6

Implementasi Clustering

K-Modes

set.seed(123)

# discretization menggunakan ntile
df_kmodes_data <- df %>% mutate(across(everything(), ~as.factor(ntile(., 3)))) %>% as.data.frame()

# pastikan semua factor
df_kmodes_data <- data.frame(lapply(df_kmodes_data, as.factor))

# model K-Modes
kmodes_model <- klaR::kmodes(df_kmodes_data, modes = 3)

# simpan hasil
df_final <- df %>% mutate(Cluster_KModes = as.factor(kmodes_model$cluster))

# tabel hasil
df_final %>% 
  group_by(Cluster_KModes) %>% 
  summarise(Jumlah_Anggota = n()) %>% 
  kable(caption = "Tabel 4: Distribusi Anggota Cluster - K-Modes") %>% 
  kable_styling(bootstrap_options = c("striped", "condensed"), full_width = F)
Tabel 4: Distribusi Anggota Cluster - K-Modes
Cluster_KModes Jumlah_Anggota
1 214
2 236
3 250

Fuzzy C-Means

set.seed(123)

# data digunakan dalam bentuk matriks dan sudah di scaling
fcm_model <- e1071::cmeans(as.matrix(df_scaled), centers = 3, m = 2)

# menyimpan hasil cluster ke dalam dataset
df_final$Cluster_FCM <- as.factor(fcm_model$cluster)

#tabel hasil
df_final %>% 
  group_by(Cluster_FCM) %>% 
  summarise(Jumlah_Anggota = n()) %>% 
  kable(caption = "Tabel 5: Distribusi Cluster Fuzzy C-Means") %>% 
  kable_styling(bootstrap_options = c("striped", "condensed"), full_width = F)
Tabel 5: Distribusi Cluster Fuzzy C-Means
Cluster_FCM Jumlah_Anggota
1 184
2 187
3 329

Mean Shift

set.seed(123)

# semakin kecil bandwidth, cluster lebih banyak (lebih detail)
ms_model <- meanShiftR::meanShift(queryData = as.matrix(df_scaled), trainData = as.matrix(df_scaled), bandwidth = rep(0.9, ncol(df_scaled)))

# menyimpan hasil cluster ke dataset# Menyimpan hasil cluster ke dataset
df_final$Cluster_MeanShift <- as.factor(ms_model$assignment)

# tabel hasil
df_final %>% 
  group_by(Cluster_MeanShift) %>% 
  summarise(Jumlah_Anggota = n()) %>% 
  kable(caption = "Tabel 6: Distribusi Cluster Mean Shift") %>% 
  kable_styling(bootstrap_options = c("striped", "condensed"), full_width = F)
Tabel 6: Distribusi Cluster Mean Shift
Cluster_MeanShift Jumlah_Anggota
1 254
2 1
3 1
4 1
5 4
6 3
7 1
8 27
9 1
10 81
11 7
12 5
13 7
14 2
15 1
16 2
17 1
18 11
19 7
20 1
21 1
22 1
23 2
24 1
25 3
26 2
27 118
28 1
29 4
30 1
31 1
32 3
33 1
34 1
35 11
36 7
37 1
38 1
39 5
40 1
41 1
42 1
43 1
44 1
45 1
46 1
47 3
48 1
49 3
50 6
51 1
52 1
53 5
54 6
55 3
56 1
57 1
58 1
59 2
60 2
61 1
62 1
63 2
64 1
65 2
66 1
67 1
68 1
69 1
70 2
71 1
72 2
73 1
74 3
75 2
76 1
77 1
78 1
79 1
80 2
81 1
82 1
83 1
84 1
85 1
86 1
87 1
88 1
89 1
90 2
91 2
92 1
93 1
94 1
95 1
96 1
97 1
98 1
99 1
100 1
101 1
102 1
103 1
104 1
105 1
106 1
107 1
108 1
109 1
110 1
111 1
112 1
113 1
114 1
115 1
116 1
117 1
118 1
119 1
120 1
121 1
122 1
123 1
124 1

DBSCAN

set.seed(123)

# KNN Distance Plot
kNNdistplot(df_scaled, k = 5)
abline(h = 1.1, col = "red", lty = 2)
title("KNN Distance Plot untuk Menentukan eps")

db_model <- dbscan::dbscan(df_scaled, eps = 1.1, minPts = 5)

# menyimpan hasil cluster ke dataset
df_final$Cluster_DBSCAN <- as.factor(db_model$cluster)

# tabel hasil
df_final %>% 
  group_by(Cluster_DBSCAN) %>% 
  summarise(Jumlah_Anggota = n()) %>% 
  mutate(Keterangan = ifelse(Cluster_DBSCAN == 0, "Noise (Outlier)", "Cluster Utama")) %>% 
  kable(caption = "Tabel 7: Distribusi Cluster DBSCAN") %>% 
  kable_styling(bootstrap_options = c("striped", "condensed"), full_width = F)
Tabel 7: Distribusi Cluster DBSCAN
Cluster_DBSCAN Jumlah_Anggota Keterangan
0 194 Noise (Outlier)
1 381 Cluster Utama
2 13 Cluster Utama
3 95 Cluster Utama
4 11 Cluster Utama
5 6 Cluster Utama

Evaluasi

summary_comp <- data.frame(Metode = c("K-Modes", "Fuzzy C-Means", "Mean Shift", "DBSCAN"), Jumlah_Cluster = c(
    length(unique(kmodes_model$cluster)),
    length(unique(fcm_model$cluster)),
    length(unique(ms_model$assignment)),
    length(unique(db_model$cluster[db_model$cluster != 0]))))

# tabel hasil
summary_comp %>% kable(caption = "Tabel 8: Perbandingan Jumlah Cluster yang Terbentuk") %>% kable_styling(bootstrap_options = c("bordered", "hover"), full_width = F)
Tabel 8: Perbandingan Jumlah Cluster yang Terbentuk
Metode Jumlah_Cluster
K-Modes 3
Fuzzy C-Means 3
Mean Shift 124
DBSCAN 5