Saya memiliki data berisik dari dua variabel seperti ini.
x1 <- rep(seq(0,1, 0.1), each = 3000)
set.seed(123)
y1 <- rep (c(0.2, 0.8, 0.3, 0.9, 0.65, 0.35,0.7,0.1,0.25, 0.3, 0.95), each = 3000)
set.seed(1234)
e1 = rnorm(length(x1), 0.07,0.07)
set.seed(1223)
e2 = rnorm(length(x1), 0.07,0.07)
set.seed(1334)
yn <- rnorm(20000, 0.5,0.9)
set.seed(2344)
xn <- rnorm(20000, 0.5,0.9)
y <- c(y1 + e1,yn)
x <- c(x1 + e2, xn)
plot(x,y, xlim=c(0,1.2), ylim = c(0,1.2), pch = ".", col = "gray40")
Secara visual saya bisa melihat ada 10 cluster potensial dalam tampilan lebih dekat.
Namun seluruh data memiliki banyak titik penyebaran:
plot(x,y, pch = ".", col = "gray40")
Saya ingin membuat 10 cluster. Saya mencoba analisis klaster K-means.
xm1 <- cbind(x,y)
cl1 <- kmeans(xm1, 10)
colrs <- c("red", "green", "blue1", "pink", "green4","tan",
"gray40", "yellow", "black", "purple")
plot(xm1, col = colrs[cl1$cluster], pch = ".", xlim=c(0,1.2), ylim = c(0,1.2))
plot(xm1, col = colrs[cl1$cluster], pch = ".")
Apakah ada (mungkin kernel k-means, tetangga terdekat) yang dapat berbuat lebih adil untuk jenis data ini. Jika demikian, bagaimana saya bisa melakukan ini?
r
machine-learning
clustering
belajar
sumber
sumber
Jawaban:
Karena data Anda tampaknya terdiri dari Campuran Gaussian, cobalah Pemodelan Campuran Gaussian (alias: pengelompokan EM). Ini akan menghasilkan hasil yang jauh lebih baik daripada k-means pada tipe data ini.
Jika "noise" Anda terdistribusi seragam, Anda juga dapat menambahkan distribusi seragam ke model campuran Anda.
Jika data Anda kurang bersih, pertimbangkan untuk menggunakan DBSCAN, MeanShift, OPTICS, HDBSCAN *, ... - clusterig berbasis kepadatan sepertinya cocok untuk data ini. DBSCAN juga sangat toleran terhadap kebisingan ("N" untuk kebisingan).
sumber
Saya sarankan Anda untuk melihat artikel ini . Penulis mengusulkan metode yang kuat di mana outlier dihapus dan sisa data dikelompokkan. Itu sebabnya mereka menyebut metode "trimming". Ada juga paket R tclust tetapi menurut ini , itu dihapus dari CRAN. Lagi pula, artikel ini layak dibaca.
sumber