오늘의 노래 추천 🛳️
- 아티스트
- 김세정
- 앨범
- 문(門)
- 발매일
- 1970.01.01
비오는 날엔 시원한 노래 듣자
DAY 7
[ Linear Regression Model ]
선형 회귀 모델
y = ax + b
* 기울기, 절편

x1, x2 등의 각각 특징의 기울기 ( 가중치 ) 를 구함

ㅡ > 평균제곱오차가 최소인 w 와 b 값을 구한다

비용함수로 수식을 검증
" 경사하강법 "
ㅡ Linear Model 정규화 ㅡ
Reguralization ( Lasso, Ridge )

모형이 과도하게 최적화 되었을 때 제약조건을 통해
ㅡ> 선형회귀 계수(w) 의 값에 제약을 주어 overfit 방지

Lasso : 모든 원소를 똑같은 힘으로 규제해 특정 계수들은 0이됨
* 특정선택 ( Feature Selection ) 이 자동으로 이뤄짐
** alpha 으로 규제의 광도 설정
Ridge : 모든 원소를 골고루 규체를 적용해 0에 가깝게 수렴하도록 만듬
ElasticNet : L1, L2 모델을 적절히 혼합해 사용
ㅡ Lasso 적용 ㅡ
Lasso

linear_model 에서 Lasso를 import 하고 alpha 값을 조정
ㅡ Lasso 모델 학습 후 weight 값 확인 ㅡ
coef_


ㅡ Lasso 모델 train, test 의 score 값 비교 ㅡ
score

규제값 ( alpha ) 을 늘려가면서 조절
ㅡ Ridge 적용 ㅡ
Ridge

linear_model 에서 Ridge을 import 하고 alpha 값을 조정
ㅡ Ridge 모델 학습 후 weight 값 확인 ㅡ
coef_


ㅡ Ridge 모델 train, test 의 score 값 비교 ㅡ
score

규제값 ( alpha ) 을 늘려가면서 조절
ㅡ 정규화 모델 평가지표 MSE, MAE, RMSE, R2 SCORE ㅡ
MSE, MAE, RMSE, R2 SCORE
MSE : 평균제곱오차
MAE : 평균절대오차
R2 SCORE : 결정계수, R2 스코어
RMSE : np.sqrt (MSE)
* RMSE 는 sklearn 에서 제공안됨
정규화 평가지표 ㅡ> 실제 답안지와 예측 답안지가 있어야함
ㅡ Lasso 평가지표 import ㅡ
MSE, RMSE, MAE, R2 score


ㅡ Lasso 평가 ㅡ
MSE, RMSE, MAE, R2 score

ㅡ Ridge 평가 ㅡ
예측 답안지 생성


ㅡ 평가지표 결과 확인 ㅡ
결과 확인


ㅡ 정규화 모델 parameter tuningㅡ
lasso parameter tuning

ㅡ 반복문으로 리스트에 값 넣어주기 ㅡ
Lasso

for 반복문에서 모델을 생성, 학습, 예측 한뒤 예측값을 통해 RMSE 값을 구하고 리스트에 저장
ㅡ 구한 RMSE 값을 그래프로 작성 ㅡ
plt.plot


ㅡ 반복문으로 리스트에 값 넣어주기 ㅡ
Ridge

for 반복문에서 모델을 생성, 학습, 예측 한뒤 예측값을 통해 RMSE 값을 구하고 리스트에 저장
ㅡ 구한 RMSE 값을 그래프로 작성 ㅡ
plt.plot


ㅡ ElasticNet 을 활용한 정규화 진행 ㅡ
plt.plot
l1_ratio : L1, L2 의 규제 비율을 나타냄

ㅡ weight 값 확인 ㅡ
coef_


ㅡ 예측값 생성 ㅡ
predict

ㅡ 예측값 생성 및 MSE, MAE, RMSE, R2_SCORE 값 구하기 ㅡ
MSE, MAE, RMSE, R2_SCORE

ㅡ 값 확인 ㅡ
MSE, MAE, RMSE, R2_SCORE

[ Data Scaling ]
데이터 스케일링
특성 ( Feature ) 과 범위 ( range ) 를 정규화하는 작업
* 특성마다 범위가 다를경우 학습하기 어려울 수 있음
학습의 안정성과 속도를 개선하지만 모델 종류나 특성에 따라 특성의 개수를 유지하는 게 좋을 수도 있음

ㅡ Standard Scaler ㅡ
변수의 평균, 표준편차를 이용해 정규분표 형태로 변환 ( 평균 0, 분산 1 )
* 이상치 ( Outlier ) 에 민감함
ㅡ Robust Scaler ㅡ
변수의 사분위수를 이용해 변환
* 이상치 ( Outlier ) 가 있는 데이터 변환 시 사용
ㅡ MinMax Scaler ㅡ
변수의 Max, Min 값을 이용해
*
ㅡ Normalizer Scaler ㅡ
ㅡ data scaling code ㅡ
스케일링 코드

데이터 스케일링 코드
sklearn.processing 에서 scaler 를 불러온 뒤 객체 생성 후 학습시키고 transform 으로 스케일 변환
ㅡ fit, transform 스케일링 방법 ㅡ
fit, transform
fit_transform () : fit, transform 기능을 한번에 처리
fit (), transform () : fit, transform 기능을 따로 처리


* fit 은 한번만
[ data scaling 실습 ]
ㅡ 스케일러 import ㅡ
MinMaxScaler

ㅡ MinMax scaler 모델 생성 및 학습ㅡ
MinMaxScaler, fit_transform

ㅡ Standard scaler 모델 생성 및 학습ㅡ
StandardScaler, fit_transform

[ iris 데이터를 이용한 data scaling 실습 ]
ㅡ data 불러오고 DataFrame 으로 만들기 ㅡ
load_iris, pd.DataFrame



describe 를 통해 min, max 값 등을 확인, mean,var 값 확인
ㅡ Standard 스케일링 ㅡ
StandardScaler (), fit_transform

ㅡ Standard 스케일링된 data를 DataFrame 형태로 변환 ㅡ
pd.DataFrame

ㅡ 스케일된 데이터의 mean,var 값 확인 ㅡ
mean, var

ㅡ MinMax 스케일링 ㅡ
MinMaxScaler (), fit_transform


* df 명이 겹치치 않도록 DataFrame 을 새로 생성해주고 MinMax Scaling 진행
ㅡ MinMax 스케일링된 data를 DataFrame 형태로 변환 ㅡ
pd.DataFrame

ㅡ MinMax 스케일링된 data를 DataFrame 형태로 변환 ㅡ
pd.DataFrame
수정중

BYE