如何通过make_pipeline()标准化培训和测试数据集

时间:2018-12-23 16:21:25

标签: python pandas scikit-learn k-means

我正在学习如何使用make_pipeline运行K-means模型来标准化我的数据集列的值。

我正在学习DataCamp课程,但是我不清楚他们为什么要在同一数据集上拟合和预测模型-在Datacamp案例“运动”中,这是每日库存值数据集。我认为K-means模型的全部目的是在训练数据集上进行训练并预测一个测试数据?

与Datacamp案例不同,我想在列标准化的训练数据集上训练我的模型,并在列标准化的测试数据集上对其进行测试。怎么做?我正在复制和粘贴下面的Datacamp代码以供参考。

# Import Normalizer
from sklearn.preprocessing import Normalizer 

# Create a normalizer: normalizer
normalizer = Normalizer()

# Create a KMeans model with 10 clusters: kmeans
kmeans = KMeans(n_clusters = 5)

# Make a pipeline chaining normalizer and kmeans: pipeline
pipeline = make_pipeline(normalizer, kmeans)

# Fit pipeline to the daily price movements
pipeline.fit(movements)

# Predict the cluster labels: labels
labels = pipeline.predict(movements)

1 个答案:

答案 0 :(得分:1)

我认为您在KNN和K-Means模型之间感到困惑。 KNN是用于分类和回归的监督学习中的模型,而K-Means是聚类模型,该模型属于无监督学习(此处没有目标变量!),通常不进行训练和测试拆分

如果您打算评估K均值的表现,请阅读here