linear regression(ridge & lasso) coding implementation

2023. 11. 22. 20:24데이터분석

 

 

 

 

 

 

 

to_numpy를 활용하면 행렬 연산이 가능한 형태로 변화 

x의 feature는 5개

 

matmul은 행렬곱 함수(전치x 곱하기 x)

위의 w변수의 각각의 계수와 데이터프레임의 각 첫번째 행을 곱하기.(w곱하기 x_train)

predicted_y_train 은 위에 수기로 계산한 것과 동일한 계산 값들임.(w계수와 train_x를 곱한것) 

첫번째 값이 23.07245881로 동일한 것을 알 수 있음

 

잔차는 관측값 - 예측값 -> 그것을 제곱하기 -> 잔차의  평균을 구함

마찬가지로 y_test에 대해 잔차를 구하는 과정 

 

 

 

 

선형회귀 모델을 만들고 fit을 이용해 학습시키기 (X_train, y_train)사용

 

절편 확인

 

 

mes값 구하기 \ & 결정계수 구하는 벙법

 

 

quiz!

 

# 1. Student_Performance_new 데이터를 활용여 x:math percentage, reading score percentage y:writing score percentage 로 설정하여   regression model을 학습하시오 
# 2. Random하게 8:2로 데이터를 분할했을때, train 데이터에서의 MSE와 test 데이터에서의 MSE를 계산하시오 

 

 

선형회귀 모델 만드는 단계 정리 

1) 데이터 불러오기 

2)데이터 전처리(선택)

3)train, test 데이터 분리 

4)모델학습 (fit)

5)모델예측 (predict) 

6)성능계산 / 평가 (evaluation)

- MSE / R^2 

 

 

[다중 선형 회귀]

 

데이터 입력하기

 

 

 

다중회귀는 선형회귀 모델 lr, pr로 2개 만들기

 

-degree파라미터를 통해 차수를 변경한다

 

 

 

다항 회귀의 mse와 결정계수를 구하기

 

 

 

 

 

 

 

 

10차로 선정하면 학습데이터는 높으나 테스트 데이터는 하락한 것을 확인 가능함

->다소 과적합 되었다고 볼 수 있음 

알맞은 차수를 선택하는 것은 트레인 데이터와 테스트 데이터의 결정계수가 적절해야함 (과적합이나 과소적합되면 안됨)