scikit-learn - 如何正确缩放新数据点 sklearn
问题描述
想象一个简单的回归问题,您正在使用梯度下降。为了正确实施,您需要使用整个训练数据集的平均值来缩放值。想象一下,您的模型已经经过训练,并且您向它提供了另一个您希望预测的示例。您如何根据以前的数据集正确缩放它?您是否在训练集中包含新示例,然后使用此训练数据集 + 新数据点的平均值对其进行缩放?这应该如何以正确的方式完成?
通过提及新数据点,我的意思是模型以前从未见过的东西,无论是在训练还是测试中。如果训练集的缩放是针对整个集合而不是单个观察完成的,那么您如何处理传递给 regr.predict() 的任何内容的缩放。
想象一下你有 ndarray 的特性:
to_predict = [10, 12, 1, 330, 1311, 225].
对于每个特征,用于训练和测试的数据集已经在 0 附近振荡。考虑到以下答案(伪代码,这就是我问如何正确执行此操作的原因):
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
new_Xs = X_train.append(to_predict)
X_train_std_with_new = scalar.fit_transform(new_Xs)
scaled_to_predit = X_train_std_with_new[-1]
regr.predict(scaled_to_predict) ??
解决方案
推荐阅读
- python - 尝试在 Django 中执行数据库迁移时突然出现 django.core.exceptions.ValidationError ['“NA”值必须为 True 或 False。']
- python - 似乎无法在 Python 中拆分字符串
- python - 使用 matplotlib 绘制 sin wav 的傅立叶变换
- node.js - 使用 docker compose 时,Discord bot 无法联系不和谐服务器
- performance - 在 chrome 中的 React 应用程序中不断“渲染”屏幕外元素
- azure-aks - 使用自定义子网为 AKS 群集启用应用程序网关入口控制器 (AGIC) 加载项
- javascript - 可以采用递增计数器并使其显得唯一随机的算法或公式
- java - 指定的编译器合规性为 11,但使用 JRE 15 警告 spring boot 套件?
- c# - 在 EF Core 5 中,如何通过仅设置外键 ID 插入具有多对多关系的实体,而无需先查询?
- java - 为什么杰克逊仍然将 long[] 序列化为数字数组?