问题标签 [patsy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
81 浏览

python - Patsy:将数据转换为分类时出错:值为 0 的观察值与任何预期水平都不匹配

我有一个 pandas DataFrame df,其中有一列名为 ['EventorNot'],只有值“1.0”或“0.0”。我做了以下事情:

然后:我有一条错误消息,错误消息将数据转换为分类:值为 0 的观察与任何预期水平不匹配我尝试了具有相似值的另一列并且有相同的错误。

0 投票
1 回答
48 浏览

python - 在 PLY 中获取没有意义的错误:`'(' 处的语法错误`

我正在编写一个字符串解析器来做类似于Patsy的事情

我已经让运算符正常工作(:、+、-、/ 等),但我似乎无法让函数正常工作。我只是复制粘贴直接相关的功能

然后我的解析器


一些问题:

  1. 如果我放入statementexpression放入 p_X 正则表达式有关系吗?从我读过的内容来看,表达式是可以简化为单个值的东西,IMO 意味着不能将语句简化为单个值。例如x = 5不能减少?在这种情况下,列表例如["x", "x:z", ...]是语句还是表达式?我的直觉说这是一种表达,但我想确定

  2. 运行上述所有代码时,我遇到Syntax error at '('. 我不确定为什么会这样。我看不出它应该有什么理由

0 投票
1 回答
106 浏览

python - PatsyError:数据参数和类型之间的行数不匹配(29 对 1)

我正在尝试构建一个泊松回归模型,在执行以下代码时,它会产生一个 Patsy 错误,因为数据参数和类型之间的行数不匹配(29 对 1):

输出:

PatsyError:数据参数和类型之间的行数不匹配(29对1)损坏〜类型+构造+操作+月^^^^

有人可以帮我解决这个问题吗?

谢谢

0 投票
0 回答
25 浏览

python - 将新数据集转换为以前的 patsy dmatrix 形式

我将我的数据集分为两组,训练集和测试集。我的数据中有 6 种类型的虚拟变量。每次我尝试在训练集上运行模型时都会出错。这是我的代码:

请注意,“Volume_2019_Product”是唯一的数字数据,其余数据是分类数据。

我得到的错误如下:

ValueError:形状(662,69)和(90,)未对齐:69(dim 1)!= 90(dim 0)

我该如何解决这个错误?我需要我的训练数据矩阵看起来与 X 的原始 dmatrix 完全相同。训练数据包含与我在其上训练模型的其他数据集相同的列标题,但它不包含正在创建的标题下的每个分类变量模型预测误差。

0 投票
1 回答
101 浏览

statsmodels - 使用 patsy 和 statsmodels 删除类别

我正在使用 statsmodels 和 patsy 来构建逻辑回归模型。我将在这里使用伪代码。假设我有一个包含分类变量的数据框,比如 Country,有 200 个级别。我有理由相信其中一些具有预测性,因此我建立了一个模型,如下所示

patsy 将 Country 拆分为各个级别,并且使用所有国家/地区构建模型。然后我看到 GB 中的系数很高,所以我只想删除 GB。我可以在 patsy 中做这样的事情吗:

我试过了,它没有改变任何东西。

0 投票
0 回答
29 浏览

python - python patsy:加权效应编码又名加权和(偏差)编码

我正在使用 python 进行线性回归,并且需要对我的预测变量使用加权效果编码。

patsy软件包提供了一个未加权的效果编码选项,可以在此处找到,但 patsy 软件包不提供相同功能的加权效果版本。我还是 python 的新手,所以我目前无法制作我可以自信的自定义函数。

是否有其他人知道的替代方案或解决方法?

0 投票
0 回答
29 浏览

python - 在将数据转换为设计矩阵时检索 patsy 的级别和分类变量的编码

当公式中有分类变量时,patsy 需要完整的原始数据集来重建类别级别和编码。

将数据转换为设计矩阵后,有没有办法检索 patsy 的级别和该数据的编码?我想避免保留完整的数据集,以便 patsy 可以重建类别级别和编码。

背景是我在模型训练期间将训练数据转换为带有 patsy 的设计矩阵,然后想知道级别/编码以获得模型预测,而不必保留原始训练数据。

0 投票
0 回答
17 浏览

python - Patsy - 设计矩阵的增量创建

我经常使用 patsy API 将数据准备到模型中,因为它可以很好地处理所有分类和交互功能。

问题是在处理大型数据集时。例如数千万行和很多列。此外,我还在这里学习并找到了这个链接, patsy允许增量创建 y 和 X,因此可以用于更大的数据集。

但是,我无法复制它,因此想问是否有人以前使用过它并且可以为我们提供一个可复制的例子?

0 投票
1 回答
36 浏览

pandas - 熊猫时间(不是日期)差异而不是对象

我想将我的时间戳列转换为 ML 模型的回归量。我需要它是一个样条曲线 - 一个连续变量(设计矩阵 X 中的一列),而不是一个热编码离散间隔。

在我的原始数据中,我仅将时间戳作为一个字符串供我使用,并且使用一些熊猫技巧我能够得到我需要的东西。

但是,我在创建时间差时遇到了一个问题,我想计算从最小列的值到当前行的值的时间距离。

我在下面证明一个简单的例子:

我遇到的第二个问题是,当我只使用它进行转换时,它pd.to_datetime(d["Time"], format="%H%M%S").dt.time被存储为一种object类型,因此例如 patsy 会虚拟编码每个唯一值。我需要创建一维时间序列的差异,在 X 轴上我们有索引,在 y 轴上我们有与最小值的时间距离。

我确信它实际上需要 2 行代码,但是我无法自己破解它

0 投票
1 回答
96 浏览

python - PatsyError:模型缺少所需的结果变量

当我尝试运行这个模型时

它得到这个错误:

为什么会发生这种情况,我能做些什么来解决它?