在训练和测试数据中保留相同的虚拟变量

2023-12-11

我正在用 python 构建一个预测模型,其中包含两个独立的训练集和测试集。训练数据包含数字类型分类变量,例如邮政编码,[91521,23151,12355, ...],以及字符串分类变量,例如城市['芝加哥','纽约','洛杉矶', ...]。

为了训练数据,我首先使用“pd.get_dummies”来获取这些变量的虚拟变量,然后使用转换后的训练数据来拟合模型。

我对测试数据进行相同的转换,并使用经过训练的模型预测结果。但是,我收到了错误

ValueError: Number of features of the model must  match the input. Model n_features is 1487 and  input n_features is 1345

原因是测试数据中的虚拟变量较少,因为它的“城市”和“邮政编码”较少。

我怎么解决这个问题?例如,“OneHotEncoder”将仅对所有数字类型分类变量进行编码。 'DictVectorizer()' 只会对所有字符串类型的分类变量进行编码。我在网上搜索并看到一些类似的问题,但没有一个真正解决我的问题。

使用 scikit-learn 处理分类特征

https://www.quora.com/If-the-training-dataset-has-more-variables-than-the-test-dataset-what-does-one-do

https://www.quora.com/What-is-the-best-way-to-do-a-binary-one-hot-one-of-K-coding-in-Python


您还可以获取缺失的列并将它们添加到测试数据集中:

# Get missing columns in the training test
missing_cols = set( train.columns ) - set( test.columns )
# Add a missing column in test set with default value equal to 0
for c in missing_cols:
    test[c] = 0
# Ensure the order of column in the test set is in the same order than in train set
test = test[train.columns]

此代码还确保从测试数据集中的类别生成但不存在于训练数据集中的列将被删除

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在训练和测试数据中保留相同的虚拟变量 的相关文章

  • 有什么好的适用于 Google App Engine 应用程序的 AJAX 框架吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在我的 Google App Engine 应用程序中实现 AJAX 因此我正在寻找一个好的
  • pandas read_csv 之前预处理数据文件

    我使用 SAP 的数据输出 但它既不是 CSV 因为它不引用包含其分隔符的字符串 也不是固定宽度 因为它具有多字节字符 它是一种 固定宽度 字符 为了将其放入 pandas 我当前读取文件 获取分隔符位置 对分隔符周围的每一行进行切片 然后
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • caffe安装:opencv libpng16.so.16链接问题

    我正在尝试在 Ubuntu 14 04 机器上使用 python 接口编译 caffe 我已经安装了 Anaconda 和 opencvconda install opencv 我还安装了咖啡中规定的所有要求 并更改了注释块makefile
  • 如何在Python + Selenium中获取元素的值

    我在我的 Python 3 6 3 代码中得到了这个 HTML 元素 作为 Selenium网页元素当然 span class ocenaCzastkowa masterTooltip style color 000000 alt 5 sp
  • 删除 tkinter 文本默认绑定

    我正在制作一个简单的 tkinter 文本编辑器 但我想要所有默认绑定文本小部件如果可能的话删除 例如当我按Ctrl i它默认插入一个制表符 我制作了一个事件绑定来打印文本框中有多少行 我将事件绑定设置为Ctrl i以及 当我运行它时 它会
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • Python Apache Beam 端输入断言错误

    我对 Apache Beam Cloud Dataflow 还很陌生 所以如果我的理解不正确 我深表歉意 我正在尝试通过管道读取大约 30 000 行长的数据文件 我的简单管道首先从 GCS 打开 csv 从数据中提取标题 通过 ParDo
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • 右键单击 QPushButton 上的 contextMenu

    对于我的应用程序 我在 Qt Designer 中创建了一个 GUI 并将其转换为 python 2 6 代码 关于一些QPushButton 与设计器创建 我想添加右键单击上下文菜单 菜单选项取决于应用程序状态 如何实现这样的上下文菜单
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • 如何仅读取 CSV 文件每行的第一列 [重复]

    这个问题在这里已经有答案了 如何在Python中读取CSV文件每行的第一列 我的数据是这样的 1 abc 2 bcd 3 cde 我只需要循环第一列的值 另外 当我在 calc 中打开 csv 文件时 每行中的数据都在同一个单元格中 这正常
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if

随机推荐

  • 切片插入问题,L[1:1]

    练习一些Python 这是一种很容易掌握的语言 I have gt gt gt L 1 2 3 4 gt gt gt L 1 1 1 2 3 gt gt gt L 1 1 2 3 2 3 4 所以实际上在第二行L 1 1 是空列表 但是py
  • 自动 Beta 版本与 crashlytics

    我的 Android 应用程序有一个包含 crashlytics start 的库 我只将 Crashlytics jar 设置为 Library 项目的依赖项 构建成功 我也在 app gt build gradle 文件中配置了多种风格
  • 如何将 iCloud 权限添加到应用程序 ID?

    如何将 iCloud 权利添加到应用程序 ID 我只想在 iCloud 中使用键值存储 我通过编辑现有的 iOS 应用程序 ID 启用了 iCloud 然后 生成新的配置文件 将其安装在 XCode 中 我添加了我的应用程序包 IDcom
  • -32768 不适合 16 位有符号值

    我正在使用 PCLint v 9 00h 在我的代码中 我有以下内容 其中 S16 是带符号的 16 位 S16 temperatureResult 32768 除非我的大脑停止工作 否则这是适合这种类型的最小值 但我收到了 违反 MISR
  • 从多个值列表中查找所有不冲突的值组合

    我有以下数组 其中包含值数组 array array array 1 2 array a b c array x y 可以有任意数量的数组 并且数组可以包含任意数量的值 我目前有一段代码 它将生成所有组合 其中从每个数组中获取一个值 例如
  • 如何获取PHP运行的操作系统?

    为了构建 unix dos 特定的脚本 我需要知道我使用的是哪种操作系统 我如何获得这些信息 phpinfo 告诉我更多 但不太清楚我是否在 unix 上运行 PHP有很多预定义常量这通常很有用 Here PHP OS就是您正在寻找的人 例
  • 如何从存储过程发送邮件?

    我需要从存储过程发送邮件 我知道这是可能的 我是从这个研究的link 我如何在 SMTP 服务器上进行身份验证 你有什么主意吗 Thanks 您可以使用 SQL 数据库邮件 See 数据库邮件和 SQL 邮件存储过程 Transact SQ
  • 如何使用pygtk拖动图像

    如何使用 pygtk 拖动 移动图像 Here是有人这样做的视频 但是该人没有给出源代码 这是一个小演示 抱歉 我不记得它到底来自哪里 它与此处找到的非常相似 http www pygtk org pygtk2tutorial exampl
  • elasticsearch 分割文档摄取处理器

    弹性搜索提供了ingest在索引文档时转换文档的机制 处理器可以转换字段 在索引文档中添加和删除字段 对于极少数情况 甚至可以编写自己的转换插件 然而 我找不到为单个输入文档生成多个输出文档的可能性 这是否可以使用ingest弹性模块 我想
  • 我的程序如何检测它是否在特定域上运行?

    我需要根据当前登录用户的位置限制应用程序的特定功能 由于我必须在 Delphi 中实现此逻辑 因此我不希望过度使用完整的 Active Directory LDAP 查询 我当前的想法是利用 DsGetDcName 并使用 DOMAIN C
  • 图像未存储在 sqlite 中

    我制作了一个演示 它将图像存储到数据库中 目前我没有收到任何错误 但我的图像没有存储在 sqlite 数据库中 请看下面的代码并告诉我我的错误在哪里 数据库管理类 sqlite3 sqlite3DatabaseObject sqlite3
  • 如何在工作流程中仅运行失败的会话

    在工作流程中 存在并行和顺序连接的会话 假设一些并行和顺序模式的会话失败 如何仅使用失败的会话重新启动工作流程 我如何在 Informatica 中进行设计 为工作流程打开 出错时暂停 为工作流程中的每个会话启用 恢复时重新启动 现在 如果
  • Python Scrapy 301 重定向

    在抓取给定网站时 我在打印重定向网址 301 重定向后的新网址 时遇到了一些问题 我的想法是只打印它们而不刮掉它们 我当前的代码是 import scrapy import os from scrapy spiders import Cra
  • 在 Python 中获取文件的原始二进制表示

    我想使用 Python 3 将文件中的确切位序列转换为字符串 关于这个主题有几个问题很接近 但没有完全回答 到目前为止 我有这个 gt gt gt data open file bin rb read gt gt gt data xa1 x
  • 使用 Enthought Canopy Python 在 Windows 上安装 OpenCV 的最佳方式?

    我已经在 Windows 上安装了 Enthought Canopy Python 发行版 并且我会 喜欢添加 OpenCV python 绑定 我已经从以下网站下载了最新的 OpenCVhttp sourceforge net proje
  • 使用 getServletConfig().getServletContext().getAttribute() (Java) 时获取 NPE

    我使用 Servlet 的时间并不长 我遇到了这个问题 我无法终止自己 我正在使用 Servlet 创建一个小型 Web 项目 并尝试将我的 Service 和 DAO 对象添加到 ServletContext HTTP Status 50
  • Python 中集合的不区分大小写比较

    我有两套 虽然我可以做列表 或者其他什么 a frozenset Today I am fine b frozenset hello how are you today 我想得到 frozenset Today 或者至少 frozenset
  • 打开 CSV 文件并将每一行写入新的动态命名的 CSV 文件

    我有一个 csv 文件 其中包含 50 行数据 我想将其拆分为每行的单独 csv 文件 其中包括第一行 标题 和相关行 例如 文件 1 包含 行 1 行 2 文件 2 包含 row1 row3 文件 3 包含 row1 row4 等等 目前
  • 如何在选择查询sql时添加空白行

    例子 当我输入 select number city from user get 中的结果是 3 行 如何select我可以自动填充8行的行吗 如果使用循环怎么办 期望的输出 如果有 3 行 则有 5 行空行 如果有 4 行 则有 4 个空
  • 在训练和测试数据中保留相同的虚拟变量

    我正在用 python 构建一个预测模型 其中包含两个独立的训练集和测试集 训练数据包含数字类型分类变量 例如邮政编码 91521 23151 12355 以及字符串分类变量 例如城市 芝加哥 纽约 洛杉矶 为了训练数据 我首先使用 pd