분류:데이터 전처리

Pywiki
Sam (토론 | 기여)님의 2022년 1월 21일 (금) 14:42 판 (→‎Min-Max Normalization(최소-최대 정규화))
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 가기 검색하러 가기

1 개요[편집 | 원본 편집]

결측치를 제거하거나 새로운 값을 부여하거나, 범주형 변수를 어떻게 처리할지에 대한 지식을 모아둔 분류.

2 전처리[편집 | 원본 편집]

데이터마다 스케일의 크기가 다르다. 어떤 것은 1~5 사이인데, 어떤 것은 100~1000 사이이기도 하고.. 요소마다 스케일이 다르기도 한데, 크기가 큰 항목에 더 크게 영향을 받기 때문에 이들에 대한 전처리가 필요하다.

1. 텍스트 데이터의 경우.

컴퓨터가 이해할 수 있는 평태로 변환.

단어를 인덱싱하여 벡터화 해 수치화.

2. 정규화

데이터 크기 자체에 영향을 받지 않게끔.

2.1 정규화 방법[편집 | 원본 편집]

2.1.1 Min-Max Normalization(최소-최대 정규화)[편집 | 원본 편집]

모델의 가장 작은 값을 0으로, 가장 큰 값을 1로 맞춘다.

이상치에 취약하다는 약점이 있다.(값이 1개라도 이상하게 크게 튀면 나머지 모두가 영향을 받아버린다.)

2.1.2 Z-Score Normalization(Z-점수 정규화), 표준화[편집 | 원본 편집]

위 정규화의 약점을 해결하기 위해 나온 전략. 표준화라고도 한다. 평균이 0이고, 분산이 1인 상태로 만들어 다루는 것.(사이킷런에서 기본적으로 제공하는 기능이다.)

평균과 표준편차를 이용해 데이터가 정규분포(가우시안분포)에 해당하게 바꾸어주는 과정이다.

3 모델 평가를 위한 데이터 분류[편집 | 원본 편집]

데이터는 일반적으로 다음의 3개로 분류한다.

데이터 의도
훈련데이터 가중치(매개변수)를 학습하는 데 쓰이는 데이터.
검증데이터 모델 평가에 사용.

테스트 데이터와의 차이는 무엇일까? => 하이퍼파라미터를 조절하는 데 사용. 검증세트에 맞게끔 모델을 튜닝하다 보면 오히려 여기에 과적합 되어 테스트에 맞지 않게 될 수도 있다.(이를 정보누설이라 한다.)

때문에 테스트 데이터는 최종적으로 한 번만 사용하게끔 개발계획을 잡는 것이 이상적.

시험데이터 완전히 다른 데이터셋으로 최종적으로 테스트.(모델은 간접적으로라도 테스트세트에 대한 어떠한 정보도 얻어선 안된다.)

3.1 dataframe을 배열로[편집 | 원본 편집]

일반적으로 데이터 관리에서 데이터프레임을 사용하지만, 인공지능에선 넘파이 배열을 사용한다.

import numpy as np

x_train = np.asarray(x_train).astype('float32')
# 시간형은 어떻게 바꾸지?

하위 분류

다음은 이 분류에 속하는 하위 분류 4개 가운데 4개입니다.

"데이터 전처리" 분류에 속하는 문서

다음은 이 분류에 속하는 문서 8개 가운데 8개입니다.