Pythonでプログラムを実行していて、配列から統計出力を生成しようとしています。
コード行:
regressor_OLS = sm.OLS(y、X_opt).fit()
手の込んだエラーが発生します。
これはコードです
numpyをnpとしてインポートします
matplotlib.pyplotをpltとしてインポートします
パンダをpdとしてインポートする
データセット= pd.read_csv( '50_Startups.csv')
X = dataset.iloc [:、:-1] .values
y = dataset.iloc [:、4] .values
印刷(データセット)
sklearn.preprocessingからインポートOneHotEncoder
sklearn.composeからimportColumnTransformer
ct = ColumnTransformer([( "Country"、OneHotEncoder()、[3])]、remainder = 'パススルー')
X = ct.fit_transform(X)
X = X [:、1:]
sklearn.model_selectionからimporttrain_test_split
X_train、X_test、y_train、y_test = train_test_split(X、y、test_size = 0.2、random_state = 0)
sklearn.linear_modelからimportLinearRegression
regressor = LinearRegression()
regressor.fit(X_train、y_train)
y_pred = regressor.predict(X_test)
statsmodels.apiをsmとしてインポートします
X = np.append(arr = np.ones((50,1))。astype(int)、values = X、axis = 1)
X_opt = X [:、[0,1,2,3,4,5]]
regressor_OLS = sm.OLS(y、X_opt).fit()
regressor_OLS.summary()
`` `python
numpyをnpとしてインポートします
ufunc'isfinite 'は入力タイプでサポートされておらず、キャストルール' 'safe' 'に従って、サポートされているタイプに入力を安全に強制変換できませんでした。
ファイル「C:UsersmoranaDocumentsAIUDEMYMachineLearning A-ZPart 2-RegressionSection 5-Multiple Linear Regressionmultiple linearregression.py」、46行目
regressor_OLS = sm.OLS(y、X_opt).fit()
ファイル "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsregressionlinear_model.py"、行838、__ init__
hasconst = hasconst、** kwargs)
ファイル「C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsregressionlinear_model.py」、684行目、__ init__
weights = weights、hasconst = hasconst、** kwargs)
ファイル "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsregressionlinear_model.py"、行196、__ init__
super(RegressionModel、self).__ init __(endog、exog、** kwargs)
ファイル "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py"、行216、__ init__
super(LikelihoodModel、self).__ init __(endog、exog、** kwargs)
ファイル「C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py」、68行目、__ init__
** kwargs)
ファイル "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py"、行91、_handle_data
data = handle_data(endog、exog、missing、hasconst、** kwargs)
ファイル「C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py」、635行目、handle_data
** kwargs)
ファイル「C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py」、80行目、__ init__
self._handle_constant(hasconst)
ファイル "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py"、行125、_handle_constant
np.isfinite(ptp _)。all()でない場合:
TypeError:ufunc'isfinite 'は入力タイプでサポートされておらず、キャストルール' 'safe' 'に従って、サポートされているタイプに入力を安全に強制変換できませんでした
Spyder 4.0.0
1.17.4 3.7.3(デフォルト、2019年4月24日、15:29:51)[MSC v.1915 64ビット(AMD64)]
おい!
X_opt配列にオブジェクトのdtypeがあり、これがエラーの原因である可能性があります。 フロートに変更してみてください。 たとえば、これを使用できます。
X = np.append(arr = np.ones((50,1))。astype(int)、values = X、axis = 1)
X_opt = X [:、[0,1,2,3,4,5]]
X_opt = np.array(X_opt、dtype = float)
楽しんでください:D
あなたの解決策をありがとう@ filip-stolinski
@ filip-stolinskiソリューションをありがとうございました。 それは間違いなく機能します
閉鎖。 必要に応じて、再度開くか、新しい問題を開いてください。
ありがとう@ filip-stolinski
ありがとう
最も参考になるコメント
おい!
X_opt配列にオブジェクトのdtypeがあり、これがエラーの原因である可能性があります。 フロートに変更してみてください。 たとえば、これを使用できます。
X = np.append(arr = np.ones((50,1))。astype(int)、values = X、axis = 1)
X_opt = X [:、[0,1,2,3,4,5]]
X_opt = np.array(X_opt、dtype = float)
楽しんでください:D