library(MeanShift)
## Loading required package: parallel
## Loading required package: wavethresh
## Warning: package 'wavethresh' was built under R version 4.4.3
## Loading required package: MASS
## Warning: package 'MASS' was built under R version 4.4.3
## WaveThresh: R wavelet software, release 4.7.2, installed
## Copyright Guy Nason and others 1993-2022
## Note: nlevels has been renamed to nlevelsWT
library(MASS)
# 1. PERSIAPAN DATA
set.seed(42)
asal <- rep(1:3, times = c(167, 167, 166))
pusat_asli <- rbind(
c(0, 0),
c(10, 0),
c(5, 9)
)
E <- rbind(
cbind(rnorm(167), rnorm(167)),
cbind(rnorm(167), rnorm(167)),
cbind(rnorm(166), rnorm(166))
)
X <- E + pusat_asli[asal, ]
X <- as.matrix(X)
n <- nrow(X)
n
## [1] 500
d <- ncol(X)
d
## [1] 2
# Preprocessing
cat("Jumlah observasi :", n, "\n")
## Jumlah observasi : 500
cat("Jumlah variabel :", d, "\n")
## Jumlah variabel : 2
cat("Missing value :", sum(is.na(X)), "\n")
## Missing value : 0
cat("Duplikat :", sum(duplicated(X)), "\n")
## Duplikat : 0
cat("Nilai tak hingga :", sum(is.infinite(X)), "\n")
## Nilai tak hingga : 0
# Pemeriksaan pencilan
pencilan <- sapply(1:d, function(j) {
q <- quantile(X[, j], c(0.25, 0.75))
iqr <- q[2] - q[1]
sum(
X[, j] < q[1] - 1.5 * iqr |
X[, j] > q[2] + 1.5 * iqr
)
})
print(pencilan)
## [1] 0 0
# Visualisasi data awal
# Membuka perangkat grafik baru agar visualisasi tidak menimpa grafik sebelumnya
par(mfrow = c(1, 2))
plot(
X,
pch = 21,
bg = c("#00A878", "#2878E5", "#F05A47")[asal],
col = "white",
xlab = "X1",
ylab = "X2",
main = "Gaussian Blobs"
)
boxplot(
X,
names = c("X1", "X2"),
col = c("#A5D8FF", "#FFD6A5"),
main = "Pemeriksaan Pencilan"
)
# 2. PARAMETER MEAN SHIFT
h <- as.numeric(quantile(dist(X), probs = 0.3))
eps <- 1e-6
r <- msClustering(
t(X),
h = h,
kernel = "gaussianKernel",
tol.stop = eps
)
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
pusat_klaster <- matrix(t(r$components), ncol = 2)
lab <- r$labels + 1
k <- length(unique(lab))
cat("\nBandwidth h :", h, "\n")
##
## Bandwidth h : 3.072614
cat("Jumlah klaster :", k, "\n")
## Jumlah klaster : 3
# 3. FUNGSI JALUR MEAN SHIFT
ms_jalur <- function(x0, X, h, eps = 1e-6, maxit = 200) {
path <- matrix(x0, nrow = 1)
x <- x0
for (i in seq_len(maxit)) {
w <- exp(
-rowSums(
(X - matrix(x, nrow(X), ncol(X), byrow = TRUE))^2
) / (2 * h^2)
)
xn <- colSums(X * w) / sum(w)
path <- rbind(path, xn)
if (sqrt(sum((xn - x)^2)) < eps) break
x <- xn
}
path
}
# Titik awal contoh
seed <- c(2, 1)
jalur <- ms_jalur(seed, X, h, eps)
akhir <- jalur[nrow(jalur), ]
awal2 <- jalur[2, ]
# 4. ESTIMASI KEPADATAN KDE
xl <- c(min(X[, 1]) - 2, max(X[, 1]) + 2)
yl <- c(min(X[, 2]) - 2, max(X[, 2]) + 2)
dens <- kde2d(
X[, 1],
X[, 2],
h = c(h, h) * 1.5,
n = 120,
lims = c(xl, yl)
)
# 5. PENGATURAN WARNA
c_kernel <- "#6C4AB6"
c_jejak <- "#FF7A00"
c_eps <- "#FF3D81"
c_vektor <- "#00A6A6"
c_mode <- "#FFD43B"
c_nomor <- "#2878E5"
c_kontur <- "#52796F"
c_titik <- c(
"#00A878",
"#2878E5",
"#F05A47"
)
warna_kde <- colorRampPalette(c(
"#FFFCF5",
"#FFF0CF",
"#FFD6A5",
"#FFADAD",
"#FF8FAB",
"#D9B8FF",
"#A5D8FF",
"#8DE0D0"
))(100)
# 6. FUNGSI PEMBUAT GRAFIK
gambar <- function() {
layout(
matrix(c(1, 2), nrow = 2),
heights = c(5.5, 1)
)
par(mar = c(4, 4, 3.5, 1), xpd = FALSE)
image(
dens,
col = warna_kde,
xlim = xl,
ylim = yl,
xlab = "X1",
ylab = "X2",
useRaster = TRUE
)
title(
main = paste0(
"Mean Shift: Gaussian Blobs\n",
"h = ", round(h, 3), " | ", k, " klaster"
),
cex.main = 0.9,
font.main = 2
)
contour(
dens,
add = TRUE,
nlevels = 10,
col = adjustcolor(c_kontur, 0.7),
lwd = 0.8,
drawlabels = FALSE
)
# Titik data berdasarkan hasil clustering
points(
X,
pch = 21,
bg = c_titik[(lab - 1) %% 3 + 1],
col = "white",
cex = 0.8,
lwd = 0.8
)
# Radius bandwidth
symbols(
seed[1], seed[2],
circles = h,
add = TRUE,
inches = FALSE,
fg = c_kernel,
lty = 3,
lwd = 2
)
# Jejak iterasi
lines(
jalur,
col = c_jejak,
lty = 2,
lwd = 2
)
if (nrow(jalur) > 2) {
points(
jalur[-c(1, nrow(jalur)), , drop = FALSE],
pch = 16,
cex = 0.5,
col = c_jejak
)
}
# Vektor mean shift
arrows(
seed[1], seed[2],
awal2[1], awal2[2],
col = c_vektor,
lwd = 2.5,
length = 0.12
)
# Pusat klaster
points(
pusat_klaster,
pch = 24,
bg = c_mode,
col = "#A66B00",
cex = 1.8,
lwd = 1.2
)
# Kriteria epsilon
symbols(
akhir[1], akhir[2],
circles = 0.2,
add = TRUE,
inches = FALSE,
fg = c_eps,
lwd = 2,
lty = 2
)
# Titik awal
points(
seed[1], seed[2],
pch = 21,
bg = "white",
col = c_jejak,
cex = 1.2,
lwd = 1.8
)
# Label keterangan
callout <- function(bx, by, teks, nomor, tx, ty) {
x0 <- bx + 0.15
bw <- strwidth(teks, cex = 0.62) + 0.18
x1 <- x0 + bw
segments(
x1, by, tx, ty,
col = "#64748B",
lwd = 0.8
)
rect(
x0, by - 0.13,
x1, by + 0.13,
col = "#FFFFFF",
border = "#94A3B8",
lwd = 0.7
)
text(
x0 + 0.07, by,
teks,
adj = c(0, 0.5),
cex = 0.62,
col = "#172033"
)
points(
bx, by,
pch = 21,
bg = c_nomor,
col = "white",
cex = 1.5
)
text(
bx, by,
nomor,
col = "white",
font = 2,
cex = 0.55
)
}
# 7. POSISI LABEL
callout(
xl[1] + 0.2, yl[2] - 0.5,
"Kernel Gaussian", 2,
seed[1] + h * cos(pi * 0.75),
seed[2] + h * sin(pi * 0.75)
)
callout(
xl[1] + 0.2, yl[2] - 1.1,
"Pergeseran titik", 4,
jalur[min(3, nrow(jalur)), 1],
jalur[min(3, nrow(jalur)), 2]
)
callout(
xl[2] - 3.5, yl[2] - 0.5,
"Kriteria henti (epsilon)", 6,
akhir[1], akhir[2]
)
callout(
xl[1] + 0.2, yl[1] + 1,
"Kepadatan (KDE)", 1,
pusat_klaster[1, 1],
pusat_klaster[1, 2]
)
callout(
xl[1] + 0.2, yl[1] + 0.4,
"Bandwidth (h)", 5,
seed[1] - h * 0.7,
seed[2] - h * 0.7
)
callout(
xl[2] - 3.5, yl[1] + 1,
"Vektor mean shift", 3,
(seed[1] + awal2[1]) / 2,
(seed[2] + awal2[2]) / 2
)
# 8. LEGENDA
par(mar = c(0, 1, 0, 1))
plot.new()
legend(
"center",
ncol = 2,
bty = "o",
bg = "white",
box.col = "#94A3B8",
cex = 0.65,
pt.cex = 0.9,
legend = c(
"titik data",
"pusat klaster",
"titik awal",
"jejak iterasi",
"radius h",
"lingkaran epsilon"
),
pch = c(21, 24, 21, NA, NA, 1),
pt.bg = c(
c_titik[1], c_mode, "white",
NA, NA, NA
),
col = c(
"white", "#A66B00", c_jejak,
c_jejak, c_kernel, c_eps
),
lty = c(NA, NA, NA, 2, 3, NA)
)
}
# 9. TAMPILKAN GRAFIK
gambar()
layout(1)
par(mfrow = c(1, 1))
# 10. SIMPAN
png(
"mean_shift_gaussian_blobs.png",
width = 1200,
height = 1350,
res = 180
)
gambar()
dev.off()
## png
## 2
# 11. UJI PENGARUH BANDWIDTH TERHADAP MEAN SHIFT
probs_uji <- c(0.05, 0.1, 0.2, 0.3, 0.5, 0.7)
h_uji <- as.numeric(quantile(dist(X), probs = probs_uji))
warna_uji <- c(
"#00A878", "#2878E5", "#F05A47", "#E6A700",
"#7B2CBF", "#0B7285", "#C2255C", "#6B7280"
)
hasil_uji <- vector("list", length(h_uji))
tabel_uji <- data.frame()
for (i in seq_along(h_uji)) {
hi <- h_uji[i]
waktu <- system.time({
ri <- msClustering(
t(X),
h = hi,
kernel = "gaussianKernel",
tol.stop = eps
)
})[["elapsed"]]
pusat_klaster_i <- matrix(t(ri$components), ncol = 2)
lab_i <- ri$labels + 1
jalur_i <- ms_jalur(seed, X, hi, eps, maxit = 500)
ukuran <- as.integer(table(lab_i))
hasil_uji[[i]] <- list(
h = hi,
pusat_klaster = pusat_klaster_i,
lab = lab_i,
jalur = jalur_i
)
tabel_uji <- rbind(
tabel_uji,
data.frame(
kuantil = probs_uji[i],
h = round(hi, 3),
jumlah_klaster = length(unique(lab_i)),
klaster_terkecil = min(ukuran),
klaster_terbesar = max(ukuran),
iterasi_seed = nrow(jalur_i) - 1,
langkah_pertama = round(
sqrt(sum((jalur_i[2, ] - seed)^2)), 4
),
konvergen_X1 = round(
jalur_i[nrow(jalur_i), 1], 3
),
konvergen_X2 = round(
jalur_i[nrow(jalur_i), 2], 3
),
waktu_detik = round(waktu, 3)
)
)
}
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 23 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 7 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
cat("\n===== UJI PENGARUH BANDWIDTH TERHADAP MEAN SHIFT =====\n")
##
## ===== UJI PENGARUH BANDWIDTH TERHADAP MEAN SHIFT =====
cat(
"Tetap : data (seed 42), kernel Gaussian, eps =", eps,
", titik awal =", seed, "\n"
)
## Tetap : data (seed 42), kernel Gaussian, eps = 1e-06 , titik awal = 2 1
cat("Diubah: bandwidth h\n\n")
## Diubah: bandwidth h
print(tabel_uji, row.names = FALSE)
## kuantil h jumlah_klaster klaster_terkecil klaster_terbesar iterasi_seed
## 0.05 0.808 23 1 158 28
## 0.10 1.198 7 1 166 18
## 0.20 1.914 3 166 167 11
## 0.30 3.073 3 166 167 11
## 0.50 9.361 3 166 167 11
## 0.70 10.514 3 166 167 10
## langkah_pertama konvergen_X1 konvergen_X2 waktu_detik
## 0.9117 -0.056 0.062 74.47
## 1.3292 -0.014 0.030 54.38
## 1.7506 -0.021 0.013 36.81
## 1.3349 0.095 0.072 16.97
## 2.7715 4.896 2.982 15.05
## 2.9335 4.900 2.993 39.95
for (i in seq_along(hasil_uji)) {
cat(
"\n--- h =", round(hasil_uji[[i]]$h, 3),
"(kuantil", probs_uji[i], ") ---\n"
)
cat("Koordinat pusat klaster:\n")
print(round(hasil_uji[[i]]$pusat_klaster, 3))
cat("Tabel silang asal vs klaster:\n")
print(table(
Asal = asal,
Klaster = hasil_uji[[i]]$lab
))
}
##
## --- h = 0.808 (kuantil 0.05 ) ---
## Koordinat pusat klaster:
## [,1] [,2]
## [1,] -0.244 0.202
## [2,] -2.790 -0.232
## [3,] -0.811 2.019
## [4,] 1.045 -2.700
## [5,] 0.092 2.404
## [6,] 9.888 0.055
## [7,] 11.355 -1.631
## [8,] 10.829 3.229
## [9,] 9.599 -1.735
## [10,] 12.361 -0.622
## [11,] 12.949 0.627
## [12,] 10.395 -3.015
## [13,] 4.771 8.053
## [14,] 5.514 8.774
## [15,] 4.990 9.935
## [16,] 4.028 9.064
## [17,] 2.838 9.234
## [18,] 4.097 11.662
## [19,] 6.516 9.386
## [20,] 5.116 5.841
## [21,] 2.783 8.086
## [22,] 8.211 10.245
## [23,] 4.754 12.477
## Tabel silang asal vs klaster:
## Klaster
## Asal 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
## 1 158 2 5 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 148 4 1 11 1 1 1 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0 49 20 62 15 7 2
## Klaster
## Asal 20 21 22 23 24
## 1 0 0 0 0 0
## 2 0 0 0 0 0
## 3 6 2 1 1 1
##
## --- h = 1.198 (kuantil 0.1 ) ---
## Koordinat pusat klaster:
## [,1] [,2]
## [1,] -0.192 0.171
## [2,] 0.991 -2.563
## [3,] 9.910 0.087
## [4,] 10.817 3.209
## [5,] 4.595 8.349
## [6,] 4.901 9.777
## [7,] 8.188 10.240
## Tabel silang asal vs klaster:
## Klaster
## Asal 2 3 4 5 6 7 8
## 1 166 1 0 0 0 0 0
## 2 0 0 166 1 0 0 0
## 3 0 0 0 0 52 113 1
##
## --- h = 1.914 (kuantil 0.2 ) ---
## Koordinat pusat klaster:
## [,1] [,2]
## [1,] -0.075 0.074
## [2,] 9.932 0.083
## [3,] 4.785 9.234
## Tabel silang asal vs klaster:
## Klaster
## Asal 2 3 4
## 1 167 0 0
## 2 0 167 0
## 3 0 0 166
##
## --- h = 3.073 (kuantil 0.3 ) ---
## Koordinat pusat klaster:
## [,1] [,2]
## [1,] -0.014 0.030
## [2,] 9.940 0.039
## [3,] 4.797 9.104
## Tabel silang asal vs klaster:
## Klaster
## Asal 2 3 4
## 1 167 0 0
## 2 0 167 0
## 3 0 0 166
##
## --- h = 9.361 (kuantil 0.5 ) ---
## Koordinat pusat klaster:
## [,1] [,2]
## [1,] 0.536 0.310
## [2,] 9.389 0.282
## [3,] 4.800 8.523
## Tabel silang asal vs klaster:
## Klaster
## Asal 2 3 4
## 1 167 0 0
## 2 0 167 0
## 3 0 0 166
##
## --- h = 10.514 (kuantil 0.7 ) ---
## Koordinat pusat klaster:
## [,1] [,2]
## [1,] 1.605 0.890
## [2,] 8.270 0.831
## [3,] 4.786 7.323
## Tabel silang asal vs klaster:
## Klaster
## Asal 2 3 4
## 1 167 0 0
## 2 0 167 0
## 3 0 0 166
# Grafik perbandingan per h
plot_uji <- function() {
par(mfrow = c(2, 3), mar = c(4, 4, 3, 1))
for (i in seq_along(hasil_uji)) {
H <- hasil_uji[[i]]
plot(
X,
pch = 21,
bg = warna_uji[
(H$lab - 1) %% length(warna_uji) + 1
],
col = "white",
cex = 0.8,
xlab = "X1",
ylab = "X2",
main = paste0(
"h = ", round(H$h, 3),
" (Q", probs_uji[i], ")\n",
tabel_uji$jumlah_klaster[i], " klaster"
),
cex.main = 0.95
)
symbols(
seed[1], seed[2],
circles = H$h,
add = TRUE,
inches = FALSE,
fg = "#111827",
lty = 3,
lwd = 1.5
)
lines(
H$jalur,
col = "#FF7A00",
lty = 2,
lwd = 2
)
points(
H$pusat_klaster,
pch = 24,
bg = "#FFD43B",
col = "#7A4A00",
cex = 1.6
)
points(
seed[1], seed[2],
pch = 21,
bg = "white",
col = "#FF7A00",
cex = 1.2
)
}
}
plot_uji()
par(mfrow = c(1, 1))
# Grafik ringkas: h vs jumlah klaster, iterasi, dan ukuran klaster
par(mfrow = c(1, 3), mar = c(4, 4, 3, 1))
plot(
tabel_uji$h,
tabel_uji$jumlah_klaster,
type = "b",
pch = 19,
col = "#2878E5",
xlab = "Bandwidth h",
ylab = "Jumlah klaster",
main = "h vs jumlah klaster"
)
abline(h = 3, lty = 3, col = "grey50")
plot(
tabel_uji$h,
tabel_uji$iterasi_seed,
type = "b",
pch = 19,
col = "#F05A47",
xlab = "Bandwidth h",
ylab = "Iterasi (titik awal tetap)",
main = "h vs iterasi"
)
plot(
tabel_uji$h,
tabel_uji$klaster_terbesar,
type = "b",
pch = 19,
col = "#00A878",
xlab = "Bandwidth h",
ylab = "Ukuran klaster terbesar",
main = "h vs ukuran klaster"
)
# Simpan
png(
"uji_pengaruh_bandwidth.png",
width = 2400,
height = 1500,
res = 200
)
plot_uji()
dev.off()
## png
## 2
par(mfrow = c(1, 1))
# 12. UJI PENGARUH DIMENSI TERHADAP MEAN SHIFT
dim_uji <- c(2, 3, 5, 10, 20, 50)
set.seed(42)
noise_tambahan <- matrix(
rnorm(n * (max(dim_uji) - d)),
nrow = n,
ncol = max(dim_uji) - d
)
ms_jalur_dim <- function(x0, X, h, eps = 1e-6, maxit = 500) {
path <- matrix(x0, nrow = 1)
x <- x0
for (i in seq_len(maxit)) {
jarak2 <- rowSums(
(X - matrix(x, nrow(X), ncol(X), byrow = TRUE))^2
)
w <- exp(
-(jarak2 - min(jarak2)) / (2 * h^2)
)
xn <- colSums(X * w) / sum(w)
path <- rbind(path, xn)
if (sqrt(sum((xn - x)^2)) < eps) break
x <- xn
}
path
}
# Menyimpan hasil eksperimen
hasil_dimensi <- vector("list", length(dim_uji))
tabel_dimensi <- data.frame()
# Warna visualisasi
warna_dim <- c(
"#00A878", "#2878E5", "#F05A47",
"#E6A700", "#7B2CBF", "#0B7285"
)
for (i in seq_along(dim_uji)) {
D <- dim_uji[i]
if (D == 2) {
X_dim <- X
} else {
X_dim <- cbind(
X,
noise_tambahan[, seq_len(D - 2), drop = FALSE]
)
}
X_dim <- as.matrix(X_dim)
seed_dim <- c(seed, rep(0, D - 2))
waktu <- system.time({
ri <- tryCatch(
msClustering(
t(X_dim),
h = h,
kernel = "gaussianKernel",
tol.stop = eps
),
error = function(e) e
)
})[["elapsed"]]
if (!inherits(ri, "error")) {
pusat_klaster_i <- matrix(
t(ri$components),
ncol = D
)
lab_i <- ri$labels + 1
jalur_i <- ms_jalur_dim(
seed_dim,
X_dim,
h,
eps,
maxit = 500
)
ukuran <- as.integer(table(lab_i))
hasil_dimensi[[i]] <- list(
dimensi = D,
data = X_dim,
pusat_klaster = pusat_klaster_i,
lab = lab_i,
jalur = jalur_i
)
tabel_dimensi <- rbind(
tabel_dimensi,
data.frame(
dimensi = D,
jumlah_klaster = length(unique(lab_i)),
klaster_terkecil = min(ukuran),
klaster_terbesar = max(ukuran),
iterasi = nrow(jalur_i) - 1,
pergeseran_awal = sqrt(
sum((jalur_i[2, ] - seed_dim)^2)
),
waktu_detik = waktu,
status = "Berhasil"
)
)
} else {
# Pertahankan posisi indeks agar sesuai dengan dim_uji
hasil_dimensi[i] <- list(NULL)
tabel_dimensi <- rbind(
tabel_dimensi,
data.frame(
dimensi = D,
jumlah_klaster = NA,
klaster_terkecil = NA,
klaster_terbesar = NA,
iterasi = NA,
pergeseran_awal = NA,
waktu_detik = waktu,
status = "Gagal"
)
)
}
}
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 3 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 5 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 499 clusters.
##
## Running mean-shift algorithm...
## | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
##
## Mean-shift algorithm ran successfully.
## Finding clusters...
##
## The algorithm found 500 clusters.
# Menampilkan hasil eksperimen
cat("\n===== UJI PENGARUH DIMENSI TERHADAP MEAN SHIFT =====\n")
##
## ===== UJI PENGARUH DIMENSI TERHADAP MEAN SHIFT =====
cat("Bandwidth tetap :", h, "\n")
## Bandwidth tetap : 3.072614
cat("Kernel : Gaussian Kernel\n")
## Kernel : Gaussian Kernel
cat("Epsilon :", eps, "\n")
## Epsilon : 1e-06
cat("Jumlah observasi:", n, "\n")
## Jumlah observasi: 500
cat("Dimensi diuji :", dim_uji, "\n\n")
## Dimensi diuji : 2 3 5 10 20 50
print(tabel_dimensi, row.names = FALSE)
## dimensi jumlah_klaster klaster_terkecil klaster_terbesar iterasi
## 2 3 166 167 11
## 3 3 166 167 12
## 5 3 166 167 12
## 10 5 1 167 12
## 20 499 1 2 12
## 50 500 1 1 12
## pergeseran_awal waktu_detik status
## 1.334876 16.94 Berhasil
## 1.351843 19.32 Berhasil
## 1.356675 26.00 Berhasil
## 1.332664 38.22 Berhasil
## 1.360931 8.39 Berhasil
## 1.451245 1.65 Berhasil
# 13. VISUALISASI PERBANDINGAN DIMENSI
plot_dimensi <- function() {
par(mfrow = c(2, 3), mar = c(4, 4, 3.5, 1))
for (i in seq_along(dim_uji)) {
H <- hasil_dimensi[[i]]
if (is.null(H)) {
plot.new()
title(main = paste(dim_uji[i], "Dimensi - Gagal"))
next
}
D <- H$dimensi
plot(
H$data[, 1:2],
pch = 21,
bg = warna_dim[
(H$lab - 1) %% length(warna_dim) + 1
],
col = "white",
cex = 0.8,
xlab = "X1",
ylab = "X2",
main = paste0(
"Dimensi = ", D,
"\nKlaster = ", tabel_dimensi$jumlah_klaster[i]
),
cex.main = 0.9
)
symbols(
seed[1], seed[2],
circles = h,
add = TRUE,
inches = FALSE,
fg = c_kernel,
lty = 3,
lwd = 1.8
)
lines(
H$jalur[, 1:2],
col = c_jejak,
lty = 2,
lwd = 2
)
if (nrow(H$jalur) > 2) {
points(
H$jalur[-c(1, nrow(H$jalur)), 1:2, drop = FALSE],
pch = 16,
cex = 0.5,
col = c_jejak
)
}
arrows(
seed[1], seed[2],
H$jalur[2, 1], H$jalur[2, 2],
col = c_vektor,
lwd = 2.5,
length = 0.12
)
points(
H$pusat_klaster[, 1:2, drop = FALSE],
pch = 24,
bg = c_mode,
col = "#A66B00",
cex = 1.5,
lwd = 1
)
akhir_dim <- H$jalur[nrow(H$jalur), 1:2]
symbols(
akhir_dim[1], akhir_dim[2],
circles = 0.2,
add = TRUE,
inches = FALSE,
fg = c_eps,
lwd = 2,
lty = 2
)
points(
seed[1], seed[2],
pch = 21,
bg = "white",
col = c_jejak,
cex = 1.2,
lwd = 1.8
)
}
}
plot_dimensi()
par(mfrow = c(1, 1))
# 14. GRAFIK PENGARUH DIMENSI
plot_ringkasan_dimensi <- function() {
par(mfrow = c(2, 2), mar = c(4, 4, 3, 1))
plot(
tabel_dimensi$dimensi,
tabel_dimensi$jumlah_klaster,
type = "b",
pch = 19,
col = "#2878E5",
xlab = "Dimensi",
ylab = "Jumlah klaster",
main = "Dimensi vs Jumlah Klaster"
)
plot(
tabel_dimensi$dimensi,
tabel_dimensi$klaster_terbesar,
type = "b",
pch = 19,
col = "#00A878",
xlab = "Dimensi",
ylab = "Ukuran klaster terbesar",
main = "Dimensi vs Ukuran Klaster Terbesar"
)
plot(
tabel_dimensi$dimensi,
tabel_dimensi$iterasi,
type = "b",
pch = 19,
col = "#F05A47",
xlab = "Dimensi",
ylab = "Jumlah iterasi",
main = "Dimensi vs Konvergensi"
)
plot(
tabel_dimensi$dimensi,
tabel_dimensi$waktu_detik,
type = "b",
pch = 19,
col = "#7B2CBF",
xlab = "Dimensi",
ylab = "Waktu (detik)",
main = "Dimensi vs Waktu Komputasi"
)
}
plot_ringkasan_dimensi()
par(mfrow = c(1, 1))
# 15. SIMPAN HASIL
write.csv(
tabel_dimensi,
"hasil_pengaruh_dimensi.csv",
row.names = FALSE
)
# Simpan grafik clustering dengan lingkaran bandwidth dan epsilon
png(
"uji_pengaruh_dimensi.png",
width = 2400,
height = 1800,
res = 200
)
plot_dimensi()
dev.off()
## png
## 2
# Simpan grafik ringkasan pengaruh dimensi
png(
"grafik_pengaruh_dimensi.png",
width = 2400,
height = 1800,
res = 200
)
plot_ringkasan_dimensi()
dev.off()
## png
## 2
par(mfrow = c(1, 1))