【问题标题】:Feature scaling for Kmeans algorithmKmeans 算法的特征缩放
【发布时间】:2019-12-21 18:31:26
【问题描述】:

我知道 KMeans 算法需要特征缩放 sklearn.cluster.KMeans

我的问题是在使用 KMeans 之前是否需要手动完成,还是 KMeans 会自动执行特征缩放?如果是自动的,请告诉我它在 KMeans 算法中的指定位置,因为我无法在此处提供的文档中找到它:

https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

顺便说一句,人们说 Kmeans 自己负责特征缩放。

【问题讨论】:

    标签: python python-3.x machine-learning scikit-learn deep-learning


    【解决方案1】:

    如果您的变量具有不可比较的单位(例如,以厘米为单位的身高和以公斤为单位的体重),那么您当然应该对变量进行标准化。即使变量具有相同的单位但显示出完全不同的方差,在 K-means 之前进行标准化仍然是一个好主意。你看,K-means 聚类在空间的所有方向上都是“各向同性的”,因此往往会产生或多或少的圆形(而不是细长的)聚类。在这种情况下,让方差不相等相当于对方差较小的变量赋予更多的权重,因此集群将倾向于沿着方差较大的变量分开。

    另外值得提醒的是,K-means 聚类结果可能对数据集中对象的顺序很敏感1。合理的做法是多次运行分析,随机化对象顺序;然后对这些运行的聚类中心进行平均,并将这些中心作为初始中心输入,以进行最后一次分析。

    或其他多变量分析。

    1 具体来说,(1)中心初始化的一些方法对case order很敏感; (2) 即使初始化方法不敏感,结果有时也可能取决于将初始中心引入程序的顺序(特别是,当数据中存在相同距离时); (3) k-means 算法的所谓运行均值版本对案例顺序自然敏感(在此版本中 - 除了可能在线聚类之外不经常使用 - 在每个单独的案例重新分配到之后重新计算质心另一个集群)。

    【讨论】:

    • 感谢您的解释,但您可能没有理解我的问题。我问,“Kmeans 是否自己执行特征缩放”?
    • 我会说不。 kmeans 算法的工作方式如下:
      指定聚类数 K。首先将数据集打乱,然后随机选择 K 个数据点作为质心,无需替换即可初始化质心。继续迭代,直到质心没有变化。即数据点到集群的分配没有变化。计算数据点和所有质心之间的平方距离之和。将每个数据点分配给最近的集群(质心)。通过取属于每个集群的所有数据点的平均值来计算集群的质心。
    • 由于没有参考资料,我想感谢一位在 2012 年在这里写过完全相同帖子的人 (@ttnphns):stats.stackexchange.com/a/21226/56357@Anshul Singh,如果您是与您撰写原始帖子的人似乎不是同一个人
    【解决方案2】:

    据我所知,K-means 不会自动执行特征缩放。无论如何,它是一个简单的过程,只需要两行额外的代码。我会推荐使用StandardScaler 特征缩放。这是一个很好的example,告诉你怎么做。

    from sklearn import datasets    
    from sklearn.preprocessing import StandardScaler
    from sklearn.cluster import KMeans
    
    iris = datasets.load_iris()    
    X = iris.data    
    scaler = StandardScaler()
    X_std = scaler.fit_transform(X)
    clt = KMeans(n_clusters=3, random_state=0, n_jobs=-1)
    model = clt.fit(X_std)
    

    【讨论】:

    • 谢谢。我知道如何手动执行特征缩放,但我的问题是它是否在 kmeans 内完成,因为人们认可这一事实,但我无法在其文档中找到它!
    猜你喜欢
    • 2014-12-27
    • 2020-09-24
    • 2020-05-31
    • 2018-06-10
    • 2020-04-21
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2019-03-21
    相关资源
    最近更新 更多