그동안 혼자 책보고 공부하면서 노션에 적었던 글을 옮겨 적으면서 복습하려고 적는 글입니다.

머신러닝의 세가지 종류

  1. 지도 학습
  2. 비지도 학습
  3. 강화 학습

특성은 데이터를 표현하는 하나의 성질

훈련: 머신러닝 알고리즘이 데이터에서 규칙을 찾는 과정(fit() 메서드)

머신러닝 프로그램에서는 알고리즘이 구현된 객체를 모델이라고 부름. 종종 알고리즘 자체를 모델이라고도 부름

지도학습에서는 데이터와 정답을 입력타깃이라고 하고, 이 둘을 합쳐 훈련 데이터라고 부름

데이터 전처리

가장 널리 사용하는 전처리 방법 중 하나는 표준점수

표준점수: 각 특성값이 평균에서 표준편차의 몇 배만큼 떨어져 있는지를 나타냅니다. 이를 통해 실제 특성값의 크기와 상관없이 동일한 조건으로 비교할 수 있습니다.

스케일을 조정하는 방법은 표준점수 말고도 더 있지만 대부분의 경우 표준점수로 충분.

Chapter3

지도 학습 알고리즘은 크게 분류와 회귀로 나뉨.

K-최근접 이웃 회귀

회귀를 통해 클래스가 아닌 임의의 수치를 예측하는 것이므로 수치들의 평균을 이용하면 된다.

결정계수: 회귀 모델에서 독립변수가 종속변수를 얼마만큼 설명해 주는지를 가리키는 지표

  • 과대적합: 훈련 세트에서 점수가 굉장히 좋았는데 테스트 세트에서는 점수가 굉장히 나쁠 때
  • 과소적합: 훈련 세트보다 테스트 세트의 점수가 높거나 두 점수가 모두 낮은 경우

과소적합의 경우 모델을 조금 더 복잡하게 만들면 됌.

knr을 사용해서 농어의 무게를 예측했을 때 발생하는 문제는 훈련 세트 범위 밖의 샘플을 예측할 수 없다. knr은 아무리 멀리 떨어져 있더라도 가까운 샘플의 타깃을 평균하여 예측한다.

→ 문제를 해결하기위해 선형 회귀 사용

선형 회귀는 훈련 세트에 잘 맞는 직선의 방정식을 찾는 것. 가장 잘 맞는 직선의 방정식을 찾는다는 것은 최적의 기울기와 절편을 구한다는 의미.(선형 회귀 모델의 coef와 intercept 속성에 저장)

하지만 모델이 단순하여 농어의 무게가 음수일 수도 있다!

→ 해결하기 위해 다항 회귀 사용

다항 회귀는 다항식을 사용해 특성과 타깃 사이의 관계를 나타냄. 이 함수는 비선형일 수 있지만 여전히 선형 회귀로 표현할 수 있음.

‘농어 길이 x 농어 높이’ → 새로운 특성을 생성 → 이렇게 기존의 특성을 사용해 새로운 특성을 뽑아내는 작업을 특성 공학이라고 부름

Sklearn은 특성을 만들거나 전처리하기 위한 다양한 클래스를 제공함. 사이킷런에서는 이런 클래스를 변환기라고 부름.

사이킷런의 모델 클래스에 일관된 fit(), score(), predict() 메서드가 있는 것처럼 변환기 클래스는 모두 fit(), transform() 메서드를 제공.

fit() 메서드는 새롭게 만들 특성 조합을 찾고 transform() 메서드는 실제로 데이터를 변환

규제

규제는 훈련 세트를 너무 과도하게 학습하지 못하도록 훼방하는 것을 말한다.(오버피팅 방지)

선형 회귀 모델에 규제를 추가한 모델을 릿지라쏘라고 부름

릿지: 계수를 제곱한 값을 기준으로 규제를 정함(L2 규제)

라쏘: 계수의 절댓값을 기준으로 규제를 적용(L1 규제)

일반적으로 릿지를 조금 더 선호

로지스틱 회귀

  • 로지스틱 회귀는 이름은 회귀지만 분류모델임.
  • 이 알고리즘은 선형 회귀와 동일하게 선형 방정식을 학습.

0개의 댓글