在标准化转换后的TEST数据上评估机器学习模型的表现

概述:我刚开始学习机器学习和sklearn预处理。我发现当我们对TEST数据使用sklearn预处理转换时,均值不会是0,标准差也不会是1(原因是我们使用的是TRAIN数据的均值/标准差来标准化测试数据)。

我的问题是:如果测试数据以这种方式标准化(未正确标准化为均值为0和标准差为1的高斯正态分布),这会影响机器学习算法的预测吗?我认为机器学习预测的准确性会较低,因为我们给机器学习模型提供了未正确标准化的数据。

均值和标准差的代码截图


回答:

这应该告诉你的是,你的训练集和测试集可能有不同的分布。如果你的训练集不能代表整体人口(这里由TEST数据表示),那么模型的泛化能力就不会很好。

测试数据没有围绕零点分布且标准差为1是完全可以接受的。这种转换的目的是使所有数据处于同一范围内,否则许多算法会根据用户的意图错误地更新模型。通过应用这种转换,你是在说“所有特征同等重要”。

没有你所描述的“未正确标准化的数据”这种说法,只有训练数据不能代表整体情况的情况。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注