Patsy 中的 One-hot 编码

2023-12-30

对于回归,我通常使用 sklearn 对分类变量进行编码OneHotEncoder http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html.

我现在正在探索使用 patsy,但它似乎不提供 One-hot 编码:http://patsy.readthedocs.io/en/latest/categorical-coding.html http://patsy.readthedocs.io/en/latest/categorical-coding.html

是否可以使用 patsy 指定 One-hot 编码?


这里需要了解两件事可能会有所帮助:(1) patsy 默认情况下包含拦截(有一个不可见的拦截)1 +在每个公式的开头),以及(2)在对分类值进行编码时,patsy 自动选择一种编码策略,以避免创建过度参数化的模型。

如果将截距 + 全秩 one-hot 编码结合起来,那么您将得到一个过度参数化的模型。因此 Patsy 切换到处理编码(= 基本上从您正在考虑的 one-hot 编码中删除一列)。这可以避免在编码列和截距列之间产生线性相关性。

避免这种情况的一个简单方法是删除截距——然后 patsy 就不会担心线性依赖性,并且将使用您期望的那种 one-hot 编码:y ~ -1 + a (the -1抵消掉不可见的1删除拦截)。

或者,如果您确实想要一个过度参数化的模型,那么如果您在链接到的文档页面上进一步向下滚动,它会告诉您如何定义任意自定义编码方案。

import numpy as np
from patsy import ContrastMatrix

class FullRankOneHot(object):
    def __init__(self, reference=0):
        self.reference = reference

    # Called to generate a full-rank encoding
    def code_with_intercept(self, levels):
        return ContrastMatrix(np.eye(len(levels)),
                              ["[My.%s]" % (level,) for level in levels])

    # Called to generate a non-full-rank encoding. But we don't care,
    # we do what we want, and return a full-rank encoding anyway.
    # Take that, patsy.
    def code_without_intercept(self, levels):
        return self.code_with_intercept(levels)

然后你可以像这样使用它:y ~ 1 + C(a, FullRankOneHot).

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

Patsy 中的 One-hot 编码 的相关文章

  • Python OverflowError:数学范围错误[重复]

    这个问题在这里已经有答案了 当我尝试这个计算时 出现溢出错误 output math exp 1391 12694245 100 我知道发生这种情况是因为使用的数字 超出了双精度数的范围 但有什么方法可以解决这个问题并获得输出值 有人可以帮
  • Pytorch - 推断线性层 in_features

    我正在构建一个玩具模型来获取一些图像并进行分类 我的模型看起来像 conv2d gt pool gt conv2d gt linear gt linear 我的问题是 当我们创建模型时 我们必须计算第一个线性层的大小in features基
  • 如何将人物传奇带到前台?

    我有一系列子图 其中每个子图都有一个图例 我想在每个子图之外与相邻子图重叠 问题在于图例位于其自己的图的 顶部 但位于相邻图的下方 Legend 不将 zorder 作为参数 所以我不知道如何解决这个问题 这是我使用过的代码 import
  • Python实时读取串口数据

    我正在使用 Python 中的脚本通过串行端口以 2Mbps 的速度从 PIC 微控制器收集数据 PIC 在 2Mbps 下完美定时工作 FTDI USB 串行端口在 2Mbps 下工作也很好 均通过示波器验证 我每秒发送消息 大小约为 1
  • 为什么我会得到“ufunc 'multiply' did not contains a loop with Signature Matching types dtype('S32') dtype('S32') dtype('S32')”,其值来自 raw_

    我正在尝试创建一个非常简单的程序 它将绘制一个抛物线 其中v是速度 a是加速度和x是时间 用户将输入值v and a then v and a and x将决定y 我试图用这个来做到这一点 x np linspace 0 9 10 a ra
  • 将数字转换为整数列表[重复]

    这个问题在这里已经有答案了 我该如何写magic下面的函数 gt gt gt num 123 gt gt gt lst magic num gt gt gt gt gt gt print lst type lst 1 2 3
  • 使用pip安装pylibmc时出错

    您好 当我尝试使用 pip 在 OSX Lion 上安装 pylibmc 时 出现以下错误 pylibmcmodule h 42 10 fatal error libmemcached memcached h file not found
  • Tensorflow 训练期间 GPU 使用率非常低

    我正在尝试为 10 类图像分类任务训练一个简单的多层感知器 这是 Udacity 深度学习课程作业的一部分 更准确地说 任务是对各种字体呈现的字母进行分类 数据集称为 notMNIST 我最终得到的代码看起来相当简单 但无论如何我在训练期间
  • 如何使用appium自动化Android手机后退按钮

    我正在使用 Appium python 客户端库 对 Android 上的混合移动应用程序进行测试自动化 我无法找到任何方法来自动化或创建手势以使用 电话后退 按钮返回到应用程序的上一页 有没有可以使用的驱动函数 我尝试了 self dri
  • 在防风草模型上使用 VIP 包计算重要性度量

    我正在尝试使用 vi firm 在防风草中制作的逻辑回归模型上计算特征重要性 对于正则表达式 我将使用 iris 数据集并尝试预测观察结果是否为 setosa iris1 lt iris gt mutate class case when
  • 完全定制的Python帮助用法

    我正在尝试使用 Python 创建完全自定义的 帮助 用法 我计划将其导入到许多我想要具有风格一致性的程序中 但遇到了一些麻烦 我不知道为什么我的描述忽略换行符 尝试过 和 我无法让 出现在 ARGS 行的 换行符之后 显然它们坐在自己的行
  • python - 将cookie添加到cookiejar

    如何在 python 中创建 cookie 并将其添加到 CookieJar 实例 我拥有 cookie 的所有信息 名称 值 域 路径等 但我不想通过 http 请求提取新的 cookie 我尝试了这个 但看起来 SimpleCookie
  • 自适应支付 API 错误 580001

    我正在 python 中向 paypal 自适应支付 API 发出 PAY 请求 并收到通用错误 id 580001 没有其他信息 headers API credentials for the API caller business ac
  • 收到“/:未找到事件。”使用 PyCharm 远程调试器时

    当我使用 PyCharm 通过 ssh 进行远程调试时tcsh shell 服务器 很多时候它停止工作 并显示 未找到事件 更具体地说 我在 pycharm 调试控制台中遇到以下内容 ssh username hostserver 22 p
  • Python itertools groupby 中令人不安的奇怪行为/错误?

    我在用itertools groupby解析一个短的制表符分隔的文本文件 文本文件有几列 我想做的就是对具有特定值的所有条目进行分组x在特定的列中 下面的代码对名为的列执行此操作name2 寻找变量中的值x 我尝试使用以下方法来做到这一点c
  • 如何连接多个字符串? [复制]

    这个问题在这里已经有答案了 如何将 stringList 中的所有字符串合并为一个而不打印它 例如 s joinStrings very hot day returns string print s Veryhotday 感觉有点倒退 但是
  • 使用神经网络包进行多项分类

    这个问题应该很简单 但文档没有帮助 我正在使用 R 我必须使用neuralnet多项式分类问题的包 所有示例均针对二项式或线性输出 我可以使用二项式输出进行一些一对一的实现 但我相信我应该能够通过使用 3 个单元作为输出层来做到这一点 其中
  • PyMC3 和 Theano - 导入 pymc3 后,有效的 Theano 代码停止工作

    一些简单的 theano 代码可以完美运行 当我导入 pymc3 时停止工作 这里有一些片段可以重现错误 Initial Theano Code this works import theano tensor as tsr x tsr ds
  • Python Pandas:向类 pandas.core.series.Series 添加方法

    我想在 Python 中处理时间序列 因此 Pandas 的 Series 类非常完美 并且有很多有用的方法 现在我想添加一些我需要但未实现的方法 例如 假设我有兴趣添加一个方法 该方法将两次一值附加到时间序列中 让我们调用该方法appen
  • IOError:在 Linux 上的 ReportLab 中使用 matplotlib PNG 时“解码器 zip 不可用”,适用于 Windows

    我正在使用 ReportLab 打印 matplotlib 生成的图表 我可以在我的 Windows 开发机器上毫无问题地执行此操作 然而 当我部署到 Ubuntu 服务器时 渲染失败并出现所述错误 我假设我缺少一个 Python 模块 但

随机推荐

  • 在 Eclipse 中禁用“下载源代码和 javadoc”

    我正在使用 Eclipse 20210312 0638 我已从首选项 第一张图片 中取消选中 下载工件源 和 下载工件 javadoc 它仍在下载它们 第二张图片 我还应该更改其他配置吗 有人已经修复了 Eclipse 中的一个错误 htt
  • 仅当字符串中存在小写字母时,使用一个正则表达式匹配所有大写单词

    我偶然发现了这个看似微不足道的问题 但我却被困住了 我有一个字符串 我想在其中匹配在一个正则表达式中全部大写单词only如果字符串中的某个位置至少有一个小写字母 基本上 我希望每一行 我们可以考虑将正则表达式分别应用于每一行 不需要进行一些
  • 致命:不是有效的对象名称:'master'

    我有一个运行 git 1 7 的私人服务器 当我 git init 它不会创建主分支的文件夹 因为当我这样做时 git branch 它没有列出任何内容 当我做 git bare init 它创建文件 当我打字时 git branch ma
  • 如何在 Unity Shader 中实现简单的高度图

    首先我要说的是我对着色器编程知之甚少 我这里的很多内容都是由在线资源和现有资产拼接而成的 我只需要知道如何将高度图正确集成到统一着色器中 它不必比标准 Unity 着色器更复杂 我无法使用标准着色器 因为我需要一个将多个纹理平铺在一起的着色
  • 无法使用 create-react-app 创建应用程序

    当我尝试使用创建应用程序时创建反应应用程序给出一个错误 error 电子邮件受保护 cdn cgi l email protection 引擎 节点 与此不兼容 模块 预期版本 6 14 0 8 10 0 gt 9 10 0 错误 发现不兼
  • 如何从 javascript 调用 cfm 页面上的 cffunction?

    我想知道我是否可以打电话cffunction在我的 cfm 页面上 我有onClick按钮应该调用cffunction这是在同一页上 我也尝试过cfcomponent围绕我的函数 但我收到此错误 Invalid CFML construct
  • 以编程方式将行添加到无界 datagridview

    我将值从一种表单发送到另一种表单 然后想在 dgv 中显示 我正在尝试这个 执行过程中没有错误 bt 它没有在 dgv 中显示数据 lineItemsDGV Rows Add int RowIndex lineItemsDGV RowCou
  • 什么是用于在 Python 中验证文件的优秀音频库?

    我已经在检查内容类型 大小和扩展名 Django 音频 文件验证 https stackoverflow com questions 6194901 django audio file validation 但我需要一个库来读取该文件并确认
  • 如何声明 std::unique_ptr 以及它有什么用?

    我试着去理解如何std unique ptr有效 为此我发现this http www codeguru com cpp article php c17775 The Smart Pointer That Makes Your C Appl
  • 使用java URL连接绕过spring security

    我在我的项目中使用 Spring MVC 在将用户请求映射到 URI 时 我无法绕过它 由于 url 被拦截 我收到 403 错误 但我能够通过浏览器访问它 Updated 我删除了 security xml 中的拦截 当我尝试点击时 出现
  • 该程序无法找到正确版本的 glibc/libstdc++,尽管它是静态链接的

    我正在尝试将我的程序与 glibc 静态链接 因为目标计算机上的 glibc 版本几乎不可预测 我使用了链接器标志 static libgcc 和 static libstdc 并且工作正常 可执行文件很大 但我可以忍受 不幸的是 当我在目
  • java.awt.Component.getName() 和 setName() 的用途是什么?

    What is java awt Component getName http docs oracle com javase 6 docs api java awt Component html getName 28 29用于 似乎总是nu
  • java 原始数组到 JSONArray

    我正在尝试将 java 原始数组转换为 JSONArray 但我有奇怪的行为 我的代码如下 long array new long 1 2 3 JSONArray jsonArray new JSONArray Arrays asList
  • 是否可以参数化资源中 DataGrid CellTemplate 上的绑定?

    我正在为 WPF 网格 WPFToolKit DataGrid 组合一些通用的 CellTemplate 样式 但我不确定用于使绑定通用的语法 例如 我有这个模板 如果该值为负数 它将将该值变为红色
  • 如何对 NSArray 中的数字进行排序?

    我无法拼凑出如何做到这一点 我从 plist 中获取数组 该数组充满了数字 如 plist 中设置的那样 现在我需要做的就是对它们进行排序 使它们下降 但我无法解决 试试这个代码 NSArray array loaded from file
  • 在 shell 脚本中缩进多行输出

    我正在尝试更改 Ubuntu Amazon EC2 盒子上的每日消息 MOTD 以便在我通过 SSH 登录时它会显示我的某个目录的 git 状态 所有默认 MOTD 文件的输出在每行开头都有两个空格 因此看起来缩进很好 但因为我的git s
  • 多个 XSD 架构文件到 C# 类

    从多个 XSD 架构文件生成 C 类的最佳方法是什么 某些 XSD 架构文件可能相互依赖 我试图避免生成重复的 C 类 使用XSD EXE程序 但通过all在同一命令行上将模式添加到程序中 例如 gt xsd c qbxmltypes130
  • 运行 Spring Batch 作业的多个实例时出现死锁[重复]

    这个问题在这里已经有答案了 我有一个 spring 批处理作业 它在基于块的步骤中从数据库读取并在进行一些处理后写入文件 我的要求是同时并行运行该作业的近 16 个实例 只需具有不同的作业参数 但我在这样做的时候一直面临着几个问题 1 无法
  • dvcs 部分合并(git、hg 合并跟踪)

    我有一个关于一般 DVCS 的问题 包括 Git 和 Hg 在 Git 和 Hg 中 合并跟踪都是在 提交 级别而不是 文件 目录 级别完成的 副作用 之一是你不能轻易地进行 部分合并 您已修改分支 feature branch x 中的
  • Patsy 中的 One-hot 编码

    对于回归 我通常使用 sklearn 对分类变量进行编码OneHotEncoder http scikit learn org stable modules generated sklearn preprocessing OneHotEnc