python - 如何在特征少于最初训练的原始数据集的数据集上使用标准缩放器模型
问题描述
我正在使用来自 sklearn.preprocessing 的标准标量模型。我在包含 27 个特征的数据集上安装了标准缩放器模型。是否可以在包含少于 27 个特征的测试数据集上使用相同的标准标量模型?
from sklearn.preprocessing import StandardScaler()
sc=StandardScaler()
sc.fit_transform(x_train)
到目前为止,这一切正常。当我尝试转换我的测试数据集时出现问题。我知道为什么会这样。测试数据集中有 24 个特征。但是是否可以转换仅有的 24 个特征并忽略其中不存在的那些列。
sc.transform(x_test)
提前致谢!!
解决方案
如果要选择没有第一个3
功能的所有功能,请使用DataFrame.iloc
:
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
x_train.iloc[:, 3:] = sc.fit_transform(x_train.iloc[:, 3:])
print (x_train)
如果功能在列表中,请使用subset
:
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
features = ['col1','col2',..., 'col24']
x_train[features] = sc.fit_transform(x_train[features])
print (x_train)
推荐阅读
- mips - winmips64 分支目标缓冲区执行 2 个周期停止
- angular - Angular 项目构建中 main.js 文件的巨大大小
- django - 在 django 上保存相同型号的信号
- css - 如何在 react-grid-system 行中垂直对齐?
- assembly - NASM - Section .data 没有按预期工作
- javascript - 显示谁断开了用户与语音通道的连接
- java - 如何使用 Redhat 插件从 VSCodium 运行 Java Gradle 项目?
- java - 播放音频而不将其保存在文件中
- android - Android App 可能占据整个屏幕
- git - Heroku push:我们必须提交 runtime.txt