Python์์ ํ๋ก๊ทธ๋จ์ ์คํ ์ค์ด๋ฉฐ ๋ฐฐ์ด์์ ํต๊ณ ์ถ๋ ฅ์ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค.
์ฝ๋ ๋ผ์ธ:
regressor_OLS = sm.OLS(y,X_opt).fit()
์ ๊ตํ ์ค๋ฅ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
์ด๊ฒ์ ์ฝ๋์ ๋๋ค
numpy๋ฅผ np๋ก ๊ฐ์ ธ์ค๊ธฐ
matplotlib.pyplot์ plt๋ก ๊ฐ์ ธ์ค๊ธฐ
pandas๋ฅผ pd๋ก ๊ฐ์ ธ์ค๊ธฐ
๋ฐ์ดํฐ ์ธํธ = pd.read_csv('50_Startups.csv')
X = ๋ฐ์ดํฐ์ธํธ.iloc[:,:-1].๊ฐ
y = ๋ฐ์ดํฐ์ธํธ.iloc[:,4].๊ฐ
์ธ์(๋ฐ์ดํฐ ์ธํธ)
sklearn.preprocessing ๊ฐ์ ธ์ค๊ธฐ OneHotEncoder์์
sklearn.compose์์ ColumnTransformer ๊ฐ์ ธ์ค๊ธฐ
ct = ColumnTransformer([("๊ตญ๊ฐ", OneHotEncoder(), [3])], ๋๋จธ์ง = 'ํต๊ณผ')
X = ct.fit_transform(X)
X = X[:, 1:]
sklearn.model_selection import train_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์์ LinearRegression ๊ฐ์ ธ์ค๊ธฐ
ํ๊ท์ = 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), ๊ฐ = X, ์ถ =1)
X_opt = X[:,[0,1,2,3,4,5]]
regressor_OLS = sm.OLS(y,X_opt).fit()
regressor_OLS.summary()
```ํ์ด์ฌ
numpy๋ฅผ np๋ก ๊ฐ์ ธ์ค๊ธฐ
ufunc 'isfinite'๋ ์ ๋ ฅ ์ ํ์ ๋ํด ์ง์๋์ง ์์ผ๋ฉฐ ์ ๋ ฅ์ ์บ์คํ ๊ท์น ''safe''์ ๋ฐ๋ผ ์ง์๋๋ ์ ํ์ผ๋ก ์์ ํ๊ฒ ๊ฐ์ ๋ณํ๋ ์ ์์ต๋๋ค.
ํ์ผ "C:UsersmoranaDocumentsAIUDEMYMachine Learning A-ZPart 2 - RegressionSection 5 - Multiple Linear Regressionmultiple linear regression.py", ๋ผ์ธ 46, in
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=๊ฐ์ค์น, 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__
**์ฝฐ๋ฅด๊ทธ)
ํ์ผ "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py", 91ํ, _handle_data
๋ฐ์ดํฐ = ํธ๋ค_๋ฐ์ดํฐ(endog, exog, ๋๋ฝ, hasconst, **kwargs)
ํ์ผ "C:UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py", 635ํ, handle_data
**์ฝฐ๋ฅด๊ทธ)
ํ์ผ "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''์ ๋ฐ๋ผ ์ง์๋๋ ์ ํ์ผ๋ก ์์ ํ๊ฒ ๊ฐ์ ๋ณํ๋ ์ ์์ต๋๋ค.
์คํ์ด๋ 4.0.0
1.17.4 3.7.3(๊ธฐ๋ณธ๊ฐ, 2019๋
4์ 24์ผ, 15:29:51) [MSC v.1915 64๋นํธ(AMD64)]
์ด๋ด!
X_opt ๋ฐฐ์ด์ dtype ๊ฐ์ฒด๊ฐ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. float๋ก ๋ฐ๊ฟ๋ณด์ธ์. ์๋ฅผ ๋ค์ด ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
X= np.append(arr = np.ones((50,1)).astype(int), ๊ฐ = X, ์ถ =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 ๊ฐ์ฒด๊ฐ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. float๋ก ๋ฐ๊ฟ๋ณด์ธ์. ์๋ฅผ ๋ค์ด ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
X= np.append(arr = np.ones((50,1)).astype(int), ๊ฐ = X, ์ถ =1)
X_opt = X[:,[0,1,2,3,4,5]]
X_opt = np.array(X_opt, dtype=float)
์ฆ๊ฒ๊ฒ ๋ณด๋ด์ธ์ :D