[AI Bootcamp] N112 - Feature Engineering

HYUNG JIN·2021년 7월 10일
0

AI Bootcamp

목록 보기
2/17
post-thumbnail

Session Review

Feature Engineering

도매인 지식과 창의성을 바탕으로, 데이터셋에 존재하는 feature(columns)들을 재조합하여 새로운 feature들을 만드는 것 -> 도매인 지식데이터를 다루는 사람의 인사이트가 중요

❗️Feature engineering은 단순히 아무거나 조합하는 것이 아니라 데이터셋에 대한 이해와 인사이트를 바탕으로 연구 목적에 맞는 유의미한 feature를 만들어내는 것

e.g. BMI 지수: 몸무게, 신장(키) 라는 feature를 조합(사칙연산 이용) -> 새로운 feature 만듦

Pandas DataFrame

테이블 형태의 데이터
일반적으로 하나의 행에는 하나의 데이터, 하나의 열에는 하나의 feature를 기반으로 저장: tidy 형태

❓ what is "tidy"?
컴퓨터가 이해하기 쉬운 형태로 바꾼 상태
❓ series vs. dataframe 참고자료
Series is a one-dimensional object that can hold any data type such as integers, floats and strings
DataFrames is two-dimensional object that can hold series, list, dictionary

Dataset

# 판다스 데이터 불러오기
import pandas as pd

df = pd.read_csv(url, names = header)

# data type 확인
df.dtypes

❓Na, Null, NaN, 0, Undefined의 차이? 참고자료 참고자료2

  • R에서는 Na: 잘못된 값, Null: 아직 정해지지 않은 값
  • Python에서는 NaN(Na), Null 모두 '정해지지 않은 값'의 의미로 사용 -> NaN으로 Na와 Null 모두 표현
    - NaN 값은 데이터 타입 float (실수형에서 정의되기 때문)
  • NaN 값 처리하기 참고자료
    DataFrame.fillna() # 다른 값으로 대체 DataFrame.dropna() # NaN 데이터 있는 row 삭제
  • undefined: 선언은 되었으나 값이 할당되지 않은 변수

Data 형변환

숫자열

int(integer)
정수형
float
소수형

문자열

str(string)
문자열
일반적으로 머신러닝 모델링에서는 문자열로 이루어진 값 사용하지 않음 -> 숫자열로 변환하는 과정 필요

  1. replace 함수
    string variable.replace('삭제할 글자','대체할 글자')
  2. apply 함수
    DataFrame.apply(함수)
  3. int() 함수
    int() # 정수가 아닌 문자열 입력시 ValueError 발생, 문자열이 아닌 실수는 정수로 반환됨

Assignment

iloc, loc: https://azanewta.tistory.com/34

profile
Always stay confident

0개의 댓글