"sklearn.cluster.k_means "和 "sklearn.cluster.KMeans "之间的区别是什么,我应该使用其中一个吗?

问题描述 投票:2回答:1

我对 "sklearn.cluster.k_means "和 "sklearn.cluster.KMeans "之间的区别感到困惑,当我应该使用它们中的一个?

scikit-learn cluster-analysis k-means
1个回答
1
投票

sklearn词汇表: "我们为许多算法提供了专门的函数接口,而估计器类则提供了更一致的接口。" k_means() 只是一个包装器,它返回的结果是 KMeans.fit():

  • cluster_centers_,
  • labels_,
  • inertia_,
  • n_iter_

KMeans 是一个按照开发指南设计的类,用于 sklearn对象. KMeans和sklearn中的其他分类器对象一样。必须实施 的方法。

  • fit(),
  • transform()
  • score().

并可以实现其他方法,如 predict(). 使用的主要好处是 KMeans 在...上 k_means() 是你可以很容易地访问在 KMeans. 例如,如果你想用你的训练模型来进行 predict 未见数据属于哪个集群。

from sklearn.clustering import KMeans

est = KMeans()
KMeans.fit(X_train)
cluster_labels = est.predict(X_test)

如果你使用功能API, 要应用预测,你将不得不寻找的引擎盖下的。KMeans.predict() 来了解如何做到这一点。

功能设计并不是对所有的sklearn对象都能实现,但你可以使用sklearn的其他例子来指导你自己轻松实现。

© www.soinside.com 2019 - 2024. All rights reserved.