gpt4 book ai didi

scikit-learn - Mean Shift `fit` 与 `fit_predict` scikit 学习

转载 作者:行者123 更新时间:2023-12-04 18:05:44 24 4
gpt4 key购买 nike

假设X 是一个典型形式的数组。给定代码。

from sklearn.cluster import MeanShift
ms = MeanShift(bin_seeding=True,cluster_all=False)
ms.fit(X)

执行此操作后,ms 具有两个属性:labels_cluster_centers_所以我的第一个问题是...... ms.fit_predict(X)ms.predict(X) 有什么意义,因为我们已经有了分类我们可以从 labels_ 中读取的 X?

最佳答案

主要区别在于,当您说 ms.fit(X) 时,X 是您标记的数据集/训练数据集。在说 ms.fit_predict(X') 时,X' 是您的未标记/测试数据集。即,您正在使用 fit_predict 对未标记的数据集进行预测。即,fit(X) 执行聚类,而 fit_predict 为您提供聚类标签。在 sklearn.cluster.mean_shift_.MeanShift 对象上没有像 ms.predict(X) 这样的东西。另请参阅下面的 dir(ms)

>>> help(ms.fit)
Help on method fit in module sklearn.cluster.mean_shift_:

fit(self, X) method of sklearn.cluster.mean_shift_.MeanShift instance
Perform clustering.

Parameters
-----------
X : array-like, shape=[n_samples, n_features]
Samples to cluster.

>>> help(ms.fit_predict)
Help on method fit_predict in module sklearn.base:

fit_predict(self, X, y=None) method of sklearn.cluster.mean_shift_.MeanShift instance
Performs clustering on X and returns cluster labels.

Parameters
----------
X : ndarray, shape (n_samples, n_features)
Input data.

Returns
-------
y : ndarray, shape (n_samples,)
cluster labels


dir(ms)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_get_param_names', 'bandwidth', 'bin_seeding', 'cluster_all', 'fit', 'fit_predict', 'get_params', 'min_bin_freq', 'seeds', 'set_params']

ms 具有 _labels_cluster_centers 的属性,使用 X 数据,您可以估计优度使用标准错误分类惩罚技术的模型。您无法再使用 fit_predict 进行估算,因为您将只获得标签,而不是聚类中心。因此,实际上取决于您的优劣标准,由您来设计聚类中心。

关于scikit-learn - Mean Shift `fit` 与 `fit_predict` scikit 学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com