如何通过 make_pipeline() 标准化训练和测试数据集
Posted
技术标签:
【中文标题】如何通过 make_pipeline() 标准化训练和测试数据集【英文标题】:How to standardize a training and a test dataset through make_pipeline() 【发布时间】:2019-05-23 03:07:57 【问题描述】:我正在学习如何使用 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】:我认为您对 KNN 和 K-Means 模型感到困惑。 KNN 是用于分类和回归的监督学习的模型,而 K-Means 是一个聚类模型,属于无监督学习(这里没有目标变量!),通常不进行训练和测试拆分.
如果您打算测量 K-Means 的性能,请阅读here
【讨论】:
非常感谢!你对混乱的看法是对的。我理解你的观点,我真的想知道 - 你为什么要在没有结果变量的情况下训练和测试数据集?或者说,你为什么要训练一个未标记的数据集?以上是关于如何通过 make_pipeline() 标准化训练和测试数据集的主要内容,如果未能解决你的问题,请参考以下文章