[2022 하계 모각코] 3주차 목표 및 결과

vvon_joon·2022년 7월 20일
0

목표

3회차: 7/20 14:00 ~ 17:00
계획: 딥러닝 교재 Chapter3 학습, (시간이 남을 시 파이썬 복습)

결과

3-1. k-최근접 이웃 회귀

개념정리

회귀

  • 임의의 수치를 예측하는 문제
  • 타깃값도 임의의 수치가 됨

k-최근접 이웃 회귀

  • k-최근접 알고리즘을 사용해 회귀 문제를 품
  • 가장 가까운 이웃 샘플을 차ㅡㅈ고 이 샘플들의 타깃값을 평균하여 예측으로 삼음

결정계수(R2R^2)

  • 회귀 문제의 성능 측정 도구
  • 1에 가까울수록 좋고, 0에 가깝다면 성능이 나쁨

과대적합

  • 모델의 훈련 세트 성능이 테스트 세트 성능보다 훨씬 높을 때 발생
  • 모델이 훈련 세트에 너무 집착홰서 데이터에 내재된 거시적인 패턴을 감지하지 못 함

과소적합

  • 훈련 세트와 테스트 세트 성능이 모두 동일하게 낮거나 테스트 세트 성능이 오히려 더 높을 때 발생
  • 더 복잡한 모델을 사용해 훈련 세트에 잘 맞는 모델을 만들어야 함

패키지 및 함수

skiti-learn 패키지

KNeighborsRegressor

  • k-최근접 이웃 회귀 모델을 만드는 사이킷런 클래스
  • n_neighbors 매개변수로 이웃의 개수를 지정, 기본값은 5
  • 다른 매개변수는 kNeighborsClassifier 클래스와 거의 동일

mean_absolute_error()

  • 회귀 모델의 평균 절댓값 오차를 계산
  • 첫 번째 매개변수는 타깃, 두 번째는 예측값을 전달

mean_squared_error()

  • 타깃과 예측을 뺀 값을 제곱한 다음 전체 샘플에 대해 평균한 값을 반환

실습

Practice 3-1

3-2. 선형 회귀

개념정리

선형 회귀

  • 특성과 타깃 사이의 관계를 가장 잘 나타내는 선형 방정식을 찾음
  • 특성이 하나라면 직선 방정식이 됨
  • 선형 회귀에서 찾은 특성과 타깃 사이의 관계는 선형 방정식의 계수 또는 가중치에 저장됨
  • 머신 러닝에서 가중치는 방정식의 기울기와 절편을 모두 의미하는 경우가 많음

모델 파라미터

  • 선형 회귀가 찾은 가중치처럼 머신러닝 모델이 특성에서 학습한 파라미터

다항 회귀

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

패키지 및 함수

skiti-learn 패키지

Linear Regression

  • 사이킷런의 선형 회귀 클래스
  • fit_intercept 매개변수를 False로 지정하면 절편을 학습하지 않음, 기본값은 True
  • 학습된 모델의 coef_ 속성은 특성에 대한 계수를 포함한 배열, 배열의 크기는 특성의 개수와 같음
  • intercept_ 속성에는 절편이 저장되어 있음

실습

Practice 3-2

3-3. 특성 공학과 규제

개념정리

다중 회귀

  • 여러 개의 특성을 사용하는 회귀 모델
  • 특성이 많으면 선형 모델은 강력한 성능을 발휘

특성 공학

  • 주어진 특성을 조합해 새로운 특성을 만드는 일련의 작업 과정

릿지

  • 규제가 있는 선형 회귀 모델
  • 선형 모델의 계수를 작게 만들어 과대적합을 완화
  • 효과가 좋아 널리 사용되는 규제 방법

라쏘

  • 또 다른 규제가 있는 선형 회귀 모델
  • 릿지와 달리 계수 값을 아예 0으로 만들 수도 있음

하이퍼파라미터

  • 머신러닝 알고리즘이 학습하지 않는 파라미터
  • 사람이 사전에 지정해야 함
  • e.g. 릿지와 라쏘의 규제 강도 alpha 파라미터

패키지 및 함수

pandas 패키지

read_csv()

  • CSV 파일을 로컬 컴퓨터나 인터넷에서 읽어 판다스 데이터프레임으로 변환하는 함수
  • 매개변수: sep(CSV 파일의 구분자를 지정, 기본값 ','), header(데이터프레임의 열 이름으로 사용할 CSV 파일의 행 번호를 지정, 기본적으로 첫 번째 행을 열 이름으로 사용), skiprows(파일에서 읽기 전에 건너뛸 행의 개수를 지정), nrows(파일에서 읽을 행의 개수를 지정)

skiti-learn 패키지

PolynomialFeatures

  • 주어진 특성을 조합해 새로운 특성을 만듦
  • degree는 최고 차수를 지정하며, 기본값은 2
  • interaction_only가 True이면 거듭제곱의 항은 제외되고 특성 간의 곱셈 항만 추가됨, 기본값은 False
  • include_bias가 False이면 절편을 위한 특성을 추가하지 않음, 기본값은 True

Ridge

  • 규제가 있는 회귀 알고리즘인 릿지 회귀 모델을 훈련
  • alpha 매개변수로 규제의 강도를 조절, 값이 클수록 규제가 세짐, 기본값은 1
  • solver 매개변수에 최적의 모델을 찾기 위한 방법을 지정 가능
  • 기본값은 'auto'이며 데이터에 따라 자동으로 선택됨
  • 'sag' 및 'saga'는 확률적 평균 경사 하강법 알고리즘으로 특성과 샘플 수가 많을 때 유용
  • random_state는 solver가 'sag'나 'saga'일 때 넘파이 난수 시드값을 지정 가능

Lasso

  • 규제가 있는 회귀 알고리즘인 라쏘 회귀 모델을 훈련
  • 좌표 하강법(좌표축을 따라 최적화를 수행)을 사용
  • alpha와 random_state 매개변수는 Ridge 클래스와 동일
  • max_iter는 알고리즘의 수행 반복 횟수를 지정, 기본값은 1000

실습

Practice 3-3

profile
김찬호 화이팅

0개의 댓글