여러 변수가 올때 linear Regression구하는 식
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
데이터에 null데이터가 없다는 것을 확인했다.
인덱스 3의 State는 문자열로 되어있으므로 onehot인코딩을 써야한다.
숫자로 되어있는 데이터들의 크기가 들쑥날쑥하다.
X = df.iloc[:,:3+1]
y = df.Profit
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer([('encoder',OneHotEncoder(),[3])],remainder='passthrough')
X=ct.fit_transform(X) #df자체를 ct에 넣게 되면 원핫인코딩을 하는 컬럼이 앞으로 나오게 된다.
from 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 =7)
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)
y_pred=regressor.predict(X_test)
#MSE
((y_test - y_pred)**2).mean()
>>> 100911162.8059515
캘리포니아에 있는 회사이고, 연구개발비는 210,000달러, 운영비는 170,000달러 마케팅비는 500,000달러를 쓰는 회사가 있는데, 이회사는 얼마의 수익을 벌까?
new_data=np.array([1,0,0,210000,170000,500000])
new_data=new_data.reshape(1,-1)
new_data
>>> array([[ 1, 0, 0, 210000, 170000, 500000]])
regressor.predict(new_data)
>>> array([229038.02831337])
[머신러닝]Logistic Regression (0) | 2021.05.17 |
---|---|
[머신러닝] Label Encoding / One-Hot Encoding (0) | 2021.05.17 |
[머신러닝] sklearn으로 쉬운 Feature scaling 피처 스케일링 (0) | 2021.05.06 |
[머신러닝]Linear Regression 연봉예측 (0) | 2021.05.06 |
[머신러닝]Linear Regression (0) | 2021.05.04 |