Statsmodels:编写公式

时间:2016-02-20 02:38:50

标签: python statsmodels patsy

使用statesmodels的逻辑回归模型:

log_reg = st.logit(formula = 'label ~ pregnant + glucose + bp + insulin + bmi + pedigree + age', data=pima).fit()

是否有任何简短的方法来编写公式的第二部分(怀孕+葡萄糖+ bp +胰岛素+ bmi +血统+年龄)?这里必须明确提到所有列。如果列数超过100列,则难以编写,而且语句也会很长。

2 个答案:

答案 0 :(得分:0)

公式没有特定的快捷方式。

您可以使用python字符串操作来构建公式,例如基于pandas数据帧列名。

或者您直接使用数组或数据框。但即使这样,如果你想要人类可读的输出,你需要一个名单列表,例如在summary()中。如果您只需要预测,那么没有变量名的数组就很有用。

答案 1 :(得分:0)

如果df是pd.DataFrame,而y是目标变量,则此函数返回您要查找的公式的字符串。

def formula_from_cols(df, y):
    return y + ' ~ ' + ' + '.join([col for col in df.columns if not col==y])