목록ML & DL/Data Preprocessing (5)
코딜기

데이터를 왜 train data / valid data / test data로 나눌까요? 경진대회에서는 보통 train data와 test data를 기본적으로 나눠서 제공합니다. train data로 모델을 학습시키고, 학습된 모델을 통해 제공받은 test data를 예측하여 제출하는 방식으로 진행됩니다. 1. train data와 test data의 쓰임 예측이 필요한 데이터를 모델에 적용시키려면 모델을 학습시킬 데이터가 필요한데 이를 train data라고 합니다. 학습된 모델을 가지고 예측을 하는데 예측 과정에서 쓰이는 데이터를 test data라고 합니다. train data에는 예측해야 하는 변수가 포함되어있지만 test data에는 포함되어있지 않는 것이 특징입니다. train data로 모..

범주형 변수는 왜 인코딩을 해야 할까요?? 범주형 변수를 분류 모델에 넣으면 모델은 데이터를 인식하지 못하고 에러가 발생합니다. 이를 해결하기 위해 범주형 변수를 수치형 변수로 인코딩 처리를 해줘야 합니다. 인코딩 방법으로 대표적으로 Label Encoding과 One-hot Encoding이 있습니다. Label Encoding n개의 범주형 데이터를 0 ~ n-1의 연속적인 수치 데이터로 표현합니다. 인코딩 된 데이터들 간의 차이가 수치적인 차이가 아니기 때문에 데이터의 범주가 3개 이상일 때는 주의해서 사용해야 합니다. 두 개의 범주일 때는 독립적인 의미로 사용이 가능합니다. 라벨 인코딩은 한번 실행시킬 때 단 하나의 컬럼만 실행이 가능합니다. 트리 결정 나무의 분류 모델에서는 범주가 3개 이상이어..
데이터 전처리 과정에서 결측치 처리는 왜 해야 할까요?? 데이터의 결측은 모델 학습과정에서 문제를 일으킬 수 있습니다. (결측치를 고려하여 예측을 하는 모델도 있습니다.) 이를 해결하기 위해 여러 방법으로 결측치 처리를 해줘야 합니다. 결측치 처리 방법으로 크게 제거(Deletion)와 대치(Imputation)가 있습니다. 이전 포스팅에서 결측치를 확인하는 방법과 제거를 통한 처리 방법을 포스팅했으므로 이어서 대치를 통한 처리 방법을 포스팅하겠습니다. 대치 (Imputation) 1. 평균을 이용한 대치 평균은 중심에 대한 경향성을 알 수 있는 척도입니다. 하지만 평균은 모든 관측치의 값을 모두 반영하므로 이상치의 영향을 많이 받기 때문에 주의하여 사용해야 합니다. 평균을 이용하기 때문에 수치형 변수만..

데이터 전처리 과정에서 결측치 처리는 왜 해야 할까요?? 데이터의 결측은 모델 학습과정에서 문제를 일으킬 수 있습니다. (결측치를 고려하여 예측을 하는 모델도 있습니다.) 이를 해결하기 위해 여러 방법으로 결측치 처리를 해줘야 합니다. 결측치 처리 방법으로 크게 제거(Deletion)와 대치(Imputation)가 있습니다. 결측치 확인 1. isna() 사용 데이터 프레임 내에 결측 값을 확인하여 그 결과를 True / False로 반환합니다. isna()를 따로 사용하기보다 sum()을 같이 사용하여 주로 결측치의 개수를 파악합니다. import pandas as pd # 데이터 프레임 개별값들의 결측 여부(True/False)를 알고 싶을 때 사용 pd.isna(data) # 컬럼별로 결측치 갯수를..

데이터 전처리 과정에서 스케일링은 왜 해야 할까요?? 수치형 변수의 크기(단위)가 변수마다 다르다면 종속 변수에 미치는 영향력이 제대로 표현되지 않을 수 있습니다. 이를 해결하기 위해 모든 변수의 범위를 조절해주는 과정이 스케일링입니다. 스케일링은 분포의 모양을 바꿔주진 않습니다. Scikit-learn에서는 여러 종류의 스케일링 함수를 제공하고 있지만 가장 많이 쓰이는 Min-Max Scaling과 Standard Scaling을 다뤄보겠습니다. Min-Max Scaling 변수의 범위를 바꿔주는 정규화 스케일링 기법입니다. (기본값은 0~1입니다.) 이상 값 존재에 민감합니다. 분류 모델보다 회귀 모델에 적합합니다. 보통 이미지쪽에서 쓰입니다. Scaling은 값을 조정하는 과정이기 때문에 수치형 변..