如何使用 statsmodels.formula.api (python) 预测新值

2024-02-29

我使用以下来自乳腺癌数据的数据来训练逻辑模型,并且仅使用一个特征“mean_area”

from statsmodels.formula.api import logit
logistic_model = logit('target ~ mean_area',breast)
result = logistic_model.fit()

训练模型中有一个内置的预测方法。然而,这给出了所有训练样本的预测值。如下

predictions = result.predict()

假设我想要预测一个新值(例如 30),如何使用经过训练的模型来输出该值? (而不是读取系数并手动计算)


您可以为.predict()模型如输出#11所示notebook http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/discrete_choice.html来自文档的单个观察。您可以提供多个观察结果:2d array,例如DataFrame - see docs http://statsmodels.sourceforge.net/0.6.0/generated/statsmodels.discrete.discrete_model.Logit.predict.html#statsmodels.discrete.discrete_model.Logit.predict.

由于您使用的是公式 API,因此您的输入需要采用以下形式:pd.DataFrame以便列参考可用。在你的情况下,你可以使用类似的东西.predict(pd.DataFrame({'mean_area': [1,2,3]}).

statsmodels .predict()当没有提供替代方案时,仅使用用于拟合的观测值作为默认值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 statsmodels.formula.api (python) 预测新值 的相关文章

随机推荐