格式良好的回归报告
stargazer的Python项目详细描述
天文学家
这是r stargazer包的python端口,可以找到on CRAN。我很失望在我所知道的任何python包中都没有等效的功能,所以我在这里重新实现它。
在{a2}中有一个实验函数可以在html/csv/latex/etc中报告单一回归模型的结果,但是它仍然没有完全实现我想要的。
python包现在是面向对象的,使用链式命令来更改呈现参数,这可能更像python,用户不必在单个函数中放置一堆参数。
我只是在我的空闲时间做这个,所以请随时贡献或日志问题时,你看到他们。
安装
您可以使用pip install stargazer
安装此包,也可以克隆repo并获取stargazer.py
文件,因为它是包中唯一的文件。
依赖性
它依赖于statsmodels
,而这又依赖于pandas
、numpy
等其他几个库。
待办事项
下面是一些我想做的事情,但当我有时间的时候,我永远也做不到。
HTML支持
乳胶支架
☆降价支持(可能?)
☆ASCII支持(可能?)
把这些丑陋的字眼固定在一起,用一个普通人的格式来制作字符串。示例
以下是如何快速开始使用库的示例。更多示例可以在github repo的examples.ipynb
文件中找到。这些例子都使用scikit-learn-diabetes数据集,但它不是包的依赖项。
ols模型制备
importpandasaspdfromsklearnimportdatasetsimportstatsmodels.apiassmfromstargazer.stargazerimportStargazerdiabetes=datasets.load_diabetes()df=pd.DataFrame(diabetes.data)df.columns=['Age','Sex','BMI','ABP','S1','S2','S3','S4','S5','S6']df['target']=diabetes.targetest=sm.OLS(endog=df['target'],exog=sm.add_constant(df[df.columns[0:4]])).fit()est2=sm.OLS(endog=df['target'],exog=sm.add_constant(df[df.columns[0:6]])).fit()stargazer=Stargazer([est,est2])
HTML示例
stargazer.render_html()
Dependent variable: | ||
(1) | (2) | |
ABP | 416.674*** | 397.583*** |
(69.495) | (70.87) | |
Age | 37.241 | 24.704 |
(64.117) | (65.411) | |
BMI | 787.179*** | 789.742*** |
(65.424) | (66.887) | |
S1 | 197.852 | |
(143.812) | ||
S2 | -169.251 | |
(142.744) | ||
Sex | -106.578* | -82.862 |
(62.125) | (64.851) | |
const | 152.133*** | 152.133*** |
(2.853) | (2.853) | |
Observations | 442.0 | 442.0 |
R2 | 0.4 | 0.403 |
Adjusted R2 | 0.395 | 0.395 |
Residual Std. Error | 59.976(df = 437.0) | 59.982(df = 435.0) |
F Statistic | 72.913***(df = 4.0; 437.0) | 48.915***(df = 6.0; 435.0) |
Note: | p<0.1; p<0.05; p<0.01 |
乳胶示例
stargazer.render_latex()