데이터 전처리
모델을 학습시키기 전에 데이터를 깨끗하게 다듬고
모델이 이해할 수 있는 형태로 변환하는 과정
데이터 인코딩
머신러닝 모델은 일반적으로 문자열 값을 인식하지 못함
따라서 모든 문자열 값은 숫자형으로 변환하는 과정이 필요
문자열 변수는 일반적으로 카테고리형, 텍스트형으로 나뉨
텍스트형은 feature vectorization 등의 기법으로 벡터화하거나 불필요하다고
판단되면 삭제하는 게 좋음
카테고리형은 라벨인코딩과 원핫인코딩으로 적용할 수 있음
라벨인코딩
카테고리 데이터를 숫자 라벨로 바꾸는 방법
과정
1. 고유한 범주를 식별
2. 각 범주에 숫자를 부여
3. 데이터를 숫자로 변환
라벨인코딩 장단점
장점
간단하고 빠름
메모리를 적게 차지
단점
숫자에 순서/대소 관계가 없는데도 순서가 있다고 오해할 수 있음
트리 기반 모델은 크게 상관없지만 선형 회귀·신경망 같은 모델에서는 잘못된 결과 초래
원핫인코딩
카테고리를 이진 벡터로 변환하는 방식
과정
1.고유한 범주를 식별
2.각 범주마다 하나의 열을 만듦
3.해당하는 범주는 1, 나머지는 0
원핫인코딩 장단점
장점
범주 간 순서 관계가 존재하지 않음
많은 머신러닝 모델에서 안전하게 사용 가능
단점
카테고리 수가 많으면 차원이 폭발
희소 행렬 문제 발생
회귀란?
숫자를 예측하는 문제
선형 회귀란?
입력 변수(X)와 출력 값(y) 사이의 관계를 직선으로 모델링하는 방법
라쏘 회귀
선형 회귀의 또 다른 규제된 버전
-> 라쏘 회귀 = 선형 회귀 + 변수 줄이기 기능
목적 - 중요하지 않은 변수를 자동으로 제거하여 모델을 단순화하고 과적합 방지
규제 방식 - * L1 정규화 사용
*L1 정규화란?
모델이 너무 복잡해지는 걸 막기 위해
가중치에 벌점을 주는 방법
장단점
장점
과적합 방지
변수 선택 기능
모델 해석이 쉬움
고차원 데이터에 유리
단점
변수들 간에 상관관계가 높으면 불안정하게 동작할 수 있음
일반 선형 회귀와 차이점
| 항목 | 선형 회귀 | 라쏘 회귀 |
| 규제 | 없음 | 있음 |
| 과적합에 취약 | 예 | 아니요 |
| 변수 선택 | 안 됨 | 자동으로 일부 변수 제거 |