혼공단

[혼공단 11기] 혼공머신 2주차

kyj0015 2024. 1. 17. 10:36

<기본 미션>

Ch.03(03-1) 2번 문제 출력 그래프 인증하기

n이 커질수록 모델이 단순해지는 걸 알수 있다. 그러면 왜 n이 커지면 모델이 단순해지는가? 이 모델은 k-최근접 이웃 회귀로 주변에 있는 값들을 바탕으로 예측값을 만든다. 그러면 n이 커질 수록 주변에 있는 점들을 많이 사용하게 된다. 그러면 예측값의 편차가 줄어든다. 그렇게 특정 데이터에 딱 들어맞지 않고 모델이 단순해지는 거다. 

 

 

 

 

 

<선택 미션>

모델 파라미터에 대해 설명하기

모델 파라미터란? 가중치처럼 모델이 학습하면서 찾은 값을 말한다. 

그리고 하이퍼파라미터란? 기계가 찾는 값이 아닌 사람이 설정해줘야하는 횟수를 말한다. 랜덤으로 막 정할 수도 있고, 모든 수를 넣어봐서 최적의 수를 찾을 수도 있다. 

 

 

 

 

 

<메모>

모델 클래스(linear regression)의 메서드: fit(학습), score(정확도), predict(예측값)

변환기 클래스(polynomial Features)의 메서드: fit(trainset으로 학습), transform(학습한걸 바탕으로 trainset, testset 데이터 변형)

 

polynomial Features: 각 특성의 제곱을 곱해서 추가한다. 

[2, 3] -> [1, 1*2, 1*3, 2*2, 2*3, 3*3] -> [2, 3, 4, 6, 9]

1은 include_bias=False로 설정해서 없앨 수 있지만 보통 모델이 학습할 때 알아서 제외해준다. 

 

규제

Ridge: 모든 계수를 줄인다

Lasso: 몇몇 계수를 아예 0으로 만들어 없앴다

-> 주로 선형회귀에서 쓰이며, 비선형 모델에서 쓰이기도 하지만 sklearn에 내장이 되어있지는 않은듯.