使用statesmodels的逻辑回归模型:
log_reg = st.logit(formula = 'label ~ pregnant + glucose + bp + insulin + bmi + pedigree + age', data=pima).fit()
是否有任何简短的方法来编写公式的第二部分(怀孕+葡萄糖+ bp +胰岛素+ bmi +血统+年龄)?这里必须明确提到所有列。如果列数超过100列,则难以编写,而且语句也会很长。
答案 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])