web-dev-qa-db-ja.com

AttributeError:モジュール 'statsmodels.formula.api'に属性 'OLS'がありません

多変数回帰に通常の最小二乗法を使用しようとしています。しかし、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(

エラーは次のとおりです。

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'
9
Shubham Trehan

完全を期すために、statsmodels .versionが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()
21
chefer

このインポートを使用します。

import statsmodels.api as sm
7
Ankit Pal

私は上記の方法を試しました

import statsmodels.api as sm

インポートは私にとってはうまくいきます。次のコードを実行すると

X_opt = X[:, [0, 1, 2, 3, 4, 5]]
regressor_OLS = sm.OLS(endog=y, exog=X_opt).fit()

それは私にこのエラーを与えます。

TypeError:入力タイプではufunc 'isfinite'はサポートされておらず、キャストルール '' safe ''に従って、サポートされているタイプに入力を安全に強制変換できませんでした

上記のエラーが発生した場合は、np.arraydtypeを指定することで解決できます。

交換する

X_opt = X[:, [0, 1, 2, 3, 4, 5]]

X_opt = np.array(X[:, [0, 1, 2, 3, 4, 5]], dtype=float)
6
Matus Dubrava

代わりにこれを試して、私のために働いた:

import statsmodels.regression.linear_model as sm
2
Tanish Kushwaha

私は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()
1
Subhashi

Statsmodelsライブラリがインポートされる方法を除いて、すべてが素晴らしいように見えます。それは以下の通りです:

import statsmodels.api as sm

の代わりに、

import statsmodels.formula.api as sm
0
kv89