我使用以下来自乳腺癌数据的数据来训练逻辑模型,并且仅使用一个特征“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(使用前将#替换为@)