【发布时间】:2019-10-29 20:57:39
【问题描述】:
我一直在关注有关 Udemy 的机器学习教程。我正在使用statsmodels.formula.api 库,但OLS 类不在其中,我猜它已被移动,因为我发现一个线程说要使用statsmodels.api 并导入。问题是当我在sm.OLS() 上运行fit() 方法时,代码如下,我得到错误'NoneType' Object has no attribute 'shape'。这是代码和错误。
import statsmodels.api as sm
X = np.append(arr = np.ones((len(X), 1)).astype(int), values = X , axis = 1)
X_opt = X[:, [0, 1, 2, 3, 4, 5]]
regressor_OLS = sm.OLS(endog = y, exorg = X_opt).fit()
在线错误regressor_OLS = sm.OLS(endog = y, exorg = X_opt).fit()
AttributeError: 'NoneType' object has no attribute 'shape'
注意:如果我排除 .fit() 就像只运行 regressor_OLS = sm.OLS(endog = y, exorg = X_opt) 一样,它可以正常工作,但不是我想要的结果。
【问题讨论】:
-
错字
exorg->exog。这是一个位置参数,但如果拼写正确,python 允许使用关键字 -
@Josef 感谢您的帮助。我想到了。事实证明,我只需要将
regressor_OLS = sm.OLS(endog = y, exorg = X_opt)替换为regressor_OLS = sm.OLS(y, X_opt)。我是新手,所以我不知道关键字 args where 是什么,而且我的错误是没有阅读基本文档。再次感谢
标签: python machine-learning statsmodels