【问题标题】:How to standardize a training and a test dataset through make_pipeline()如何通过 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)

【问题讨论】:

    标签: python pandas scikit-learn k-means


    【解决方案1】:

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

    如果您打算测量 K-Means 的性能,请阅读here

    【讨论】:

    • 非常感谢!你对混乱的看法是对的。我理解你的观点,我真的想知道 - 你为什么要在没有结果变量的情况下训练和测试数据集?或者说,你为什么要训练一个未标记的数据集?
    猜你喜欢
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2017-02-20
    • 2020-08-01
    • 2019-05-01
    • 1970-01-01
    • 2020-03-24
    相关资源
    最近更新 更多