2021. 3. 8. 22:56ㆍ프로그래밍-AI & 빅데이터/머신러닝
<데이터 인코딩>
1. Label Encoding: 카테고리 피처를 코드형 숫자로 변환(ex) 메로나1: 1, 스크류바: 2...)
사이킷런의 LabelEncoder를 이용
단, 단순한 코드일 뿐이지만 어쨋든 숫자임으로 크고작음을 인식할 우려가 있다.
이러한 이유로 회귀같은 알고리즘에선 사용되지 않는다
2. One-Hot Encoding: 크기에 따른 가중치 설정을 방지하기 위해, 배열을 만들고 해당 컬럼만 1로 표시하는 방법
이 경우에는 일단 label encoder를 통해 숫자로 데이터를 바꾼 후, 인코딩을 한번 더 진행한다
판다스에 굉장히 편한 api가 있었다....
굳이 인코더를 두개나 쓸 필요가 없다
<피쳐 스케일링과 정규화>
- 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업
Standardization: 기존value에서 평균을 빼고 표준편차로 나누기
Normalization: 기존 value에서 최소값을 빼고, 이를 (최대값-최소값)으로 나누기
vector Normalization: 개별 벡터의 크기를 맞추기 위한 변환. 즉 3차원에서 단위 벡터 구하는 방식
- 학습데이터에서 fit()을 사용했다면, 테스트 데이터에서도 fit을 사용했던 스케일러를 그대로 사용해야함, 그렇지 않으면 서로 다른 기준으로 fit을 하게되어 스케일링이 의미가 없게됨
- 따라서 전체 데이터의 스케일링 변환 후 학습과 테스트 데이터를 분리하는게 좋음
1) StandardScaler
2) MinMaxScaler : 0과 1 사이의 값으로 변환
'프로그래밍-AI & 빅데이터 > 머신러닝' 카테고리의 다른 글
[파이썬 머신러닝] 4. Evaluation (1) | 2021.03.09 |
---|---|
[파이썬 머신러닝] 사이킷런을 이용해 타이타닉 생존자 예측하기 (0) | 2021.03.08 |
[파이썬 머신러닝] 3. 싸이킷런 (2) - Model Selection (1) | 2021.03.04 |
[파이썬 머신러닝] 3. 사이킷런 (1) (0) | 2021.02.03 |
[파이썬 머신러닝] 2. 판다스(2)- 데이터 셀렉션 및 필터링 (0) | 2021.01.25 |