使用patsy在yvariable/LHS/内生侧选择参考电平

2024-10-02 04:17:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Patsy来制作内生和外生数据矩阵,用于二元逻辑回归。我在设置内源性的参考水平时遇到了问题。你知道吗

下面代码的问题是内生性方面有两个水平,在二元logistic回归中应该只有一个水平。你知道吗

import pandas as pd
import statsmodels.api as sm
import patsy

# data:
url = 'http://vincentarelbundock.github.io/Rdatasets/csv/datasets/iris.csv'
df = pd.read_csv(url)
df = df.iloc[:10,1:]
df = df.loc[ ( df.Species == 'setosa') | ( df.Species == 'versicolor' ) ,]
df.columns = ['Sepal_Length', 'Sepal_Width', 'Petal_Length', 'Petal_Width', 'Species' ]


y, X = patsy.dmatrices("C(Species,Treatment('versicolor')) ~ Sepal_Length",data = df, return_type = 'dataframe')

y的形状是(100,2),但我只需要一列。那么,如何让Patsy输出内生的一面,以便我可以直接在二元logistic回归中使用它呢?你知道吗


Tags: csvimporturldfdataas水平length
1条回答
网友
1楼 · 发布于 2024-10-02 04:17:36

嗯,我的建议是在你做了以上的事之后再切到y。Patsy的设计并没有考虑LHS变量。在这种情况下,Statsmodels应该可以工作(目前没有,但这是Statsmodels IMO中的一个bug。如果您在github上提交一个bug报告,我可以查看它)

仅供参考,你可以用

import statsmodels.api as sm
dta = sm.datasets.get_rdataset('iris', cache=True)

作为获取Rdatasets数据的快捷方式。你知道吗

相关问题 更多 >

    热门问题