基于线性接近度的聚类点
Clustering points based on their linear proximity
我有一些数据,我想根据它们的线性接近度将其分为两组(即将几乎共线的点归为一组)。这是我的数据示例:
data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5)), X= c(0:10,0:8))
plot(jitter(data$Y), jitter(data$X), pch=19)
我想要得到的结果是这样的:
显然,常规(hierarchical
或 K-means
)集群不起作用。此外,我尝试 spectral
聚类也没有提供好的结果。
非常感谢任何有关如何执行此操作的建议(使用 clustering
、regression
或其他方法)!谢谢
你可以试试这个包 mclust
## Add a little noise to the lines
data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5))+rnorm(20,0,0.1), X= c(0:10,0:8))
library(mclust)
fit <- Mclust(data)
plot(fit) # classification
转换您的数据。
尝试 clustering/analyzing 变量 z = x / y
而不是
我有一些数据,我想根据它们的线性接近度将其分为两组(即将几乎共线的点归为一组)。这是我的数据示例:
data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5)), X= c(0:10,0:8))
plot(jitter(data$Y), jitter(data$X), pch=19)
我想要得到的结果是这样的:
显然,常规(hierarchical
或 K-means
)集群不起作用。此外,我尝试 spectral
聚类也没有提供好的结果。
非常感谢任何有关如何执行此操作的建议(使用 clustering
、regression
或其他方法)!谢谢
你可以试试这个包 mclust
## Add a little noise to the lines
data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5))+rnorm(20,0,0.1), X= c(0:10,0:8))
library(mclust)
fit <- Mclust(data)
plot(fit) # classification
转换您的数据。
尝试 clustering/analyzing 变量 z = x / y
而不是