我一直在关注有关Udemy的机器学习教程。我正在使用statsmodels.formula.api
库,但是类OLS
不在其中,并且我猜它已经移动了,因为我找到了一个说要使用statsmodels.api
的线程并将其导入。问题是,当我在下面的代码fit()
上运行sm.OLS()
方法时,出现错误'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)
,它可以正常工作,但不是我想要的结果。
答案 0 :(得分:1)
将其更改为
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, exog = X_opt)
res=regressor_OLS.fit()
这是因为初始化后必须安装回归器。在其他注意事项上,只是注意到它不是exorg
希望这会有所帮助。