Shu*_*han 3 python machine-learning linear-regression statsmodels
我正在尝试使用普通最小二乘进行多元回归。但是它说statsmodels没有属性'OLS'。式。api库。我正在遵循有关Udemy的演讲中的代码,代码如下:
import statsmodels.formula.api as sm
X_opt = X[:,[0,1,2,3,4,5]]
#OrdinaryLeastSquares
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit(
Run Code Online (Sandbox Code Playgroud)
错误如下:
AttributeError Traceback (most recent call last)
<ipython-input-19-3bdb0bc861c6> in <module>()
2 X_opt = X[:,[0,1,2,3,4,5]]
3 #OrdinaryLeatSquares
----> 4 regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
AttributeError: module 'statsmodels.formula.api' has no attribute 'OLS'
Run Code Online (Sandbox Code Playgroud)
Mat*_*ava 14
我已经尝试了上述方法,而
import statsmodels.api as sm
Run Code Online (Sandbox Code Playgroud)
导入对我有用。当我运行下一段代码时
X_opt = X[:, [0, 1, 2, 3, 4, 5]]
regressor_OLS = sm.OLS(endog=y, exog=X_opt).fit()
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误。
类型错误:输入类型不支持 ufunc 'isfinite',并且无法根据转换规则 ''safe'' 将输入安全地强制转换为任何受支持的类型
如果您收到上面提到的错误,您可以通过指定解决它dtype
的np.array
。
代替
X_opt = X[:, [0, 1, 2, 3, 4, 5]]
Run Code Online (Sandbox Code Playgroud)
和
X_opt = np.array(X[:, [0, 1, 2, 3, 4, 5]], dtype=float)
Run Code Online (Sandbox Code Playgroud)
che*_*fer 10
仅出于完整性考虑,如果使用statsmodels,则代码应如下所示。版本是0.10.0:
import statsmodels.api as sm
X_opt = X[:,[0,1,2,3,4,5]]
#OrdinaryLeastSquares
regressor_OLS = sm.OLS(endog=y, exog=X_opt).fit()
Run Code Online (Sandbox Code Playgroud)
我正在使用statsmodels 0.11.1,这对我有用。
import statsmodels.api as sm
X_opt = np.array(X[:, [0, 1, 2, 3, 4, 5]], dtype=float)
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5494 次 |
最近记录: |