본문 바로가기

Python-머신러닝

linear regression 실습 + 미지수, 상수값: coef_, intercept_

반응형

ex) auto-mpg.csv 데이터를 통해,  mpg (mile per gallern, 자동차 연비)  를 예측하는 모델을 만드세요.

 

 

 

- 카테고리컬 데이터를 각 확인한다.

df['yr'].nunique()

df.shape

df['yr'].unique()

df['yr'].value_counts()

df['origin'].value_counts()

 

- Nan 확인

df.isna().sum()

 

- X,y 설정

y = df['mpg']
X = df.loc[ : ,'cyl': 'origin']

- mpg를 예측하는 데 자동차 이름(‘name’)은 필요없을 것 같다. 고로 지운다. 

 

- 학습용과 테스트용으로 데이터 분리

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 = 50)

 

- 모델링

from sklearn.linear_model import LinearRegression

regressor = LinearRegression()
regressor.fit(X_train,y_train)

 

- 성능측정

y_pred = regressor.predict(X_test)

error = y_test - y_pred
(error**2).mean()

 

- 그래프

import numpy as np
import matplotlib.pyplot as plt

plt.plot(y_test.values)
plt.plot(y_pred)

plt.legend(['Real','Pred'])
plt.savefig('chart3.jpg')

plt.show()

 

regressor.fit(X_train,y_train)을 실행 했을 경우,

- 컬럼이 7개니까, 7개의 미지수를 세웠을 것

- 아마도 하기 식처럼 세웠을 것

 y = ax1 + bx2 + cx3 + dx4 + ex5 + fx6 + gx7 +h

 

regressor.coef_

ㄴ 코에프션: x 옆에 있는 각 미지수 값. a,b,c,d,e,f,g의 값

 

regressor.intercept_

ㄴ 방정식 맨 뒤에 있는 상수값: h

 

->  y = -0.66188277x1 + 0.02505099x2 + ..... -18.51547791423283

 

반응형