-
[n112] Feature EngineeringAI 부트캠프 2021. 9. 10. 16:25
Feature Engineering란 무엇인가
Raw data에서 수학, 통계, 도메인 knowledge들을 이용하여 유용한 features를 재조합 및 추출하는 과정이다.
예를 들어, outlier detection, one hot encoding, handling missing values 등이 있다.
Garbage In -> Garbage Out, 즉 정돈 되지 않은 데이터를 넣으면 결과값도 garbage일 수 밖에 없다.
그러므로 Feature engineering으로 유용한 데이터를 추출할 필요가 있다.
DataFrame
간단히 설명하자면, 데이터 프레임은 테이블 형태의 데이터이다.
NaN, Null, 0, Undefined 의 차이는 무엇인가
Nan는 float 타입을 갖는다.
String Replace
str.replace("바꾸고자 하는 단어", "새로운 단어")
int로 변환하기
같은 함수를 한 feature에 전부 다 적용할 때, 하나하나 반복할 필요 없이 한번에 해결 할 수 있다.
예를 들어, string을 int로 바꾸는 함수 toInt를 정의한 뒤, '자본총계'에 적용 할 때 다음과 같다.
def toInt(string): return int(string.replace(',','')) df['자본총계'] = df['자본총계'].apply(toInt)
쉼표 ',' 생략하기
1. 파일을 불러올 때 생략하는 방법
df = pd.read_csv(url, names=headers, thousands = ',') df
2. replace() 함수 사용하는 방법
string.replace(',','')
DataFrame 생성 하기
d = {'구분': ['18년', '19년'], '시가총액':[2, 4] , '점유율':[62, 63.5], '시장의 규모':[12, 14], 'PDR': [3, 9] } df = pd.DataFrame(data=d) df
DataFrame 인덱싱
# df.loc["row", "column"] df.loc[:, "점유율"]
# iloc는 인덱스 값으로 인덱싱한다. # row는 ':'이므로 전체, column은 0:2이므로 인덱스 0부터 1까지. df.iloc[:, 0:2]
Describe()로 Summary Statistics 확인하기
평균값, 표준편차, 최소값 등을 알 수 있다.
df_except_quarter.describe()
결측치를 Mean Imputation 방법으로 처리하기
결측치 값이 있는 부분에 해당 컬럼의 평균값으로 대체할 수 있다.
df.loc[2, '당기순이익(비지배)'] = None df = df.fillna(df.mean()) df
DataFrame에서 특정 컬럼 제외 하기
# 컬럼 '분기'를 제외한다 df_except_quarter = df[df.columns.difference(['분기'])]
모든 데이터를 수치화 하기 (int, float)
df_except_quarter = df_except_quarter.apply(pd.to_numeric) df_except_quarter
부트캠프 공부 내용 한 눈에 보기
[인덱스] 코드 스테이츠 AI 부트캠프
구성 2021.09.09 ~ 2022.04 (총 28주) 배우는 내용 Section 1. 데이터 분석 입문 SPRINT 1. EDA SPRINT 2. Statistics SPRINT 3. DAY 1 EDA 데이터 전처리 Pandas in Colab 가설 검정 (t-test) T-Test 행렬 및 벡..
da-journal.com
'AI 부트캠프' 카테고리의 다른 글
[n121] 가설 검정 (t-test) (0) 2021.09.16 [n114] 미분 개념과 경사하강법 (0) 2021.09.14 [n113] Data Manipulation (concat, merge, melt, pivot, conditioning) (0) 2021.09.13 [n111] Pandas in Colab (0) 2021.09.09 [n111] EDA 데이터 전처리 (0) 2021.09.09