Python 与集群混淆

Python 与集群混淆,python,scikit-learn,cluster-analysis,data-science,Python,Scikit Learn,Cluster Analysis,Data Science,我对数据科学过程中的聚类感到非常困惑。 我们知道,在二维空间中对相似点进行分组的过程基于以下公式: distance = sqrt( (x2-x1)^2 + (y2-y1)^2 ) 但在向sklearn引入输入时,我们只输入x轴值:y轴值发生了什么变化 例如,我们有以下数据库: index x y ------------------ 0 5 8 1 6 9 2 7 10 我们将x引入KMeans from

我对数据科学过程中的聚类感到非常困惑。 我们知道,在二维空间中对相似点进行分组的过程基于以下公式:

distance = sqrt( (x2-x1)^2 + (y2-y1)^2 )

但在向sklearn引入输入时,我们只输入x轴值:y轴值发生了什么变化

例如,我们有以下数据库:

index    x     y
------------------
  0      5     8
  1      6     9
  2      7     10

我们将x引入KMeans

from sklearn.cluster import KMeans
kmeans = KMeans(2)
kmeans.fit(df["x"])

在没有y值的情况下,它如何计算距离?

KMeans聚类可以在任意数量的维度中进行。正如您所说,可以使用。可以为任意数量的尺寸计算此距离。您传递了一个数组,因此在本例中它只是一个维度,因此公式将简化为:

distance = sqrt((x2-x1)^2)

这实际上只是x2-x1的绝对值

好吧,看起来您只传递了x值,所以可以在一维中运行聚类算法。对它进行搜索。这类似于在2D中将所有y值设为零。在scikit中的示例中,他们使用了一个numpy点数组作为拟合函数,而不仅仅是x值。那是个愚蠢的问题。我犯了一个可怕的错误:|