Python fit()和fit_predict()在光谱聚类中有什么区别
我试图理解并使用来自的。 假设我们有X矩阵输入,我们创建了一个光谱聚类对象,如下所示:Python fit()和fit_predict()在光谱聚类中有什么区别,python,python-3.x,machine-learning,scikit-learn,cluster-analysis,Python,Python 3.x,Machine Learning,Scikit Learn,Cluster Analysis,我试图理解并使用来自的。 假设我们有X矩阵输入,我们创建了一个光谱聚类对象,如下所示: clustering = SpectralClustering(n_clusters=2, assign_labels="discretize", random_state=0) 然后,我们使用光谱簇对象调用fit_预测 clusters = clustering.fit_predict(X) 让我困惑的是,“使用所选关联创建X的关联矩阵”是何时创建的?因为根据文件
clustering = SpectralClustering(n_clusters=2,
assign_labels="discretize",
random_state=0)
然后,我们使用光谱簇对象调用fit_预测
clusters = clustering.fit_predict(X)
让我困惑的是,“使用所选关联创建X的关联矩阵”是何时创建的?因为根据文件
fit_predict()方法“在X上执行聚类并返回聚类标签”。但它没有明确说明它在聚类之前还计算“使用选定的关联性计算X的关联矩阵”
我非常感谢任何帮助或提示。查看
fit\u predict()
这似乎只是一个方便的方法-它实际上只是调用fit()
并从对象返回标签。正如另一个答案中已经暗示的那样,fit\u predict
只是一个方便的方法,以便返回集群标签。根据,fit
使用选定的亲和性为X创建亲和性矩阵,然后将光谱聚类应用于该亲和性矩阵
而fit\u predict
在X上执行群集并返回群集标签
这里,在X上执行聚类应该理解为fit
的描述,即创建亲和矩阵[…]
不难验证调用fit\u predict
等同于从fit
之后的对象获取labels\u
属性;使用一些虚拟数据,我们得到
from sklearn.cluster import SpectralClustering
import numpy as np
X = np.array([[1, 2], [1, 4], [10, 0],
[10, 2], [10, 4], [1, 0]])
# 1st way - use fit and get the labels_
clustering = SpectralClustering(n_clusters=2,
assign_labels="discretize",
random_state=0)
clustering.fit(X)
clustering.labels_
# array([1, 1, 0, 0, 0, 1])
# 2nd way - using fit_predict
clustering2 = SpectralClustering(n_clusters=2,
assign_labels="discretize",
random_state=0)
clustering2.fit_predict(X)
# array([1, 1, 0, 0, 0, 1])
np.array_equal(clustering.labels_, clustering2.fit_predict(X))
# True
使用来源,卢克!检查thd
fit\u predict
方法的功能非常容易…@Anony Mousse我认为这个问题不应该得到负面分数。