[데이터 사이언스] 피처 엔지니어링이란?

피처 엔지니어링

image

  • 피처 엔지니어링은 도메인 지식과 창의성을 바탕으로, 데이터셋에 존재하는 피처를 재조합하여 새로운 피처로 만드는 것이다.
    • 예를 들어, 비만도를 계산(BMI)하여 새로운 피처로 만들 수 있다.

목적

  • 통계 분석 혹은 머신러닝, 더 나아가 딥러닝까지 대부분의 분석은 데이터에 있는 패턴을 인식하고, 해당 패턴들을 바탕으로 예측을 하기 때문에 더 좋은 퍼포먼스를 위하여 더 새롭고 더 의미있는 패턴을 제공하는 것이 궁극적인 피처 엔지니어링의 목적이다.

데이터 프레임

  • 데이터 프레임은 테이블 형태의 데이터이다.

tidy 형태

  • 하나의 행에는 하나의 데이터 혹은 관측치, 하나의 열에는 하나의 feature를 기반으로 저장(다른 라이브러리들과의 호환성을 위해) 한 것이다.

Na, Null, NaN, 0, Undefined의 차이

  • Na(Not Available): 결측 값
  • Null: 값이 없음
  • NaN(Not a Number): 무한대
  • 0: 실수
  • Undefined: 오류

str, int

  • 일반적으로 머신러닝 모델링에서 문자열로 이루어진 값은 사용할 수 없다.

string replace

  • 숫자에 표기 된 문자열을 변경한다.
1
2
3
string_variable.replace('삭제할 글자', '')

s.replace(',', '')

column 단위 replace 함수 사용

  • 모든 문자열에 대해 일일이 적용 할 수 없기 때문에 column 단위로 함수를 적용한다.
1
2
3
4
5
# 입력된 문자열에 대해서 같은 작업을 하는 함수 작성
def to_int(string):
    return int(string.replace(',',''))

df['index1'] = df['index2'].apply(to_int)
0%