Scikit learn predict()方法在scikit learn的kmeans实现中有什么用途?
有人能解释一下在scikit learn的kmeans实现中,Scikit learn predict()方法在scikit learn的kmeans实现中有什么用途?,scikit-learn,k-means,Scikit Learn,K Means,有人能解释一下在scikit learn的kmeans实现中,predict()方法的用途吗?缔约国声明其用途如下: 预测X中每个样本所属的最近聚类 但是,我也可以通过在fit\u transform()方法上训练模型来获得输入集X的每个样本的集群编号/标签。那么predict()方法有什么用呢?它应该为看不见的数据指出最近的集群吗?如果是,那么如果执行维度缩减度量(如SVD),如何处理新数据点 这里有一个例子,但我仍然不认为它真的有帮助 predict()方法的用途是什么?它应该为看不见的数据
predict()
方法的用途吗?缔约国声明其用途如下:
预测X中每个样本所属的最近聚类
但是,我也可以通过在fit\u transform()
方法上训练模型来获得输入集X的每个样本的集群编号/标签。那么predict()
方法有什么用呢?它应该为看不见的数据指出最近的集群吗?如果是,那么如果执行维度缩减度量(如SVD),如何处理新数据点
这里有一个例子,但我仍然不认为它真的有帮助
predict()方法的用途是什么?它应该为看不见的数据指出最近的集群吗
是的,没错
那么,如果执行诸如SVD之类的降维度量,如何处理新的数据点呢
在将看不见的数据传递到.predict()
之前,对其应用相同的降维方法。以下是一个典型的工作流:
# prerequisites:
# x_train: training data
# x_test: "unseen" testing data
# km: initialized `KMeans()` instance
# dr: initialized dimensionality reduction instance (such as `TruncatedSVD()`)
# fitting
x_dr = dr.fit_transform(x_train)
y = km.fit_predict(x_dr)
# ...
# working with unseen data (models have been fitted before)
x_dr = dr.transform(x_test)
y = km.predict(x_dr)
# ...
实际上,像fit\u transform
和fit\u predict
这样的方法是为了方便而存在的y=km.fit\u predict(x)
相当于y=km.fit(x).predict(x)
我认为,如果我们将装配部分写为以下内容,则更容易看到发生了什么:
# fitting
dr.fit(x_train)
x_dr = dr.transform(x_train)
km.fit(x_dr)
y = km.predict(x_dr)
除了调用.fit()
之外,在装配过程中使用的模型与未看到的数据相同
总结:
的目的是用数据训练模型.fit()
或.predict()
的目的是将经过训练的模型应用于数据.transform()
- 如果您想在培训期间拟合模型并将其应用于相同的数据,为了方便起见,可以使用
或.fit\u predict()
.fit\u transform()
- 当链接多个模型(如降维和聚类)时,在拟合和测试期间以相同的顺序应用它们
transform
方法,则不会在看不见的数据上再次训练模型。它应用与培训期间相同的转换。但是,我以前从未使用过文本数据,不知道在SVD中输入的内容是否可以在数据集之间保持一致。