使用 ols().fit() 使用 statsmodels.api 时出错

Error using statsmodels.api using ols().fit()

我一直在关注 Udemy 上的机器学习教程。我正在使用 statsmodels.formula.api 库,但 class 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'

注意:如果我像 运行 regressor_OLS = sm.OLS(endog = y, exorg = X_opt) 那样排除 .fit(),它可以正常工作,但不是我想要的结果。

改为

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()

这是因为你必须在初始化后拟合你的回归量。在另一张纸条上,我注意到它是 exog 而不是 exorg

希望对您有所帮助。