특성공학:pandas
둘러보기로 가기
검색하러 가기
1 개요[편집 | 원본 편집]
pandas를 활용하여 특성을 다루는 방법에 대해 다룬 문서.
2 시작하기 전에[편집 | 원본 편집]
전략 | 설명 | 예시 |
---|---|---|
칼럼별 값 파악 | 특정 칼럼에 어떤 값들이 몇 개 있는지 알려준다. ex) 학생 20, 선생 10, 민간인 5, .... | df['칼럼'].value_counts() |
3 다양한 전략[편집 | 원본 편집]
3.1 매핑[편집 | 원본 편집]
컴퓨터는 단어를 인식하지 못하므로 단어를 벡터화 해주어야 한다.
mapping = {"male": 0, "female": 1} # 매핑 데이터를 사전으로 정의한다.
for df in train_df: # train_df 안에 있는 df들 전체에 대한 매핑을 수행한다.
df['sex'] = df['sex'].map(mapping)
3.1.1 스케일링[편집 | 원본 편집]
매핑을 할 때엔 가능하면 0~1 사이의 값을 갖게 하는 편이 좋다.(0, 1의 매핑보다 0~10의 매핑에서 input 값이 크기 때문에 더 중요한 특성이라 판단하고 만다.)
3.2 비닝[편집 | 원본 편집]
binning. 특정 데이터를 가진 값들을 범주화 한다.
논리연산을 이용하여 해당 필터에 걸리는 것들에 값을 부여한다.(예컨대 사람을 나이가 아니라 청소년, 청년, 노인으로 구분할 때.)
for df in train_df: # train_df 안에 있는 df들 전체에 대한 매핑을 수행한다.
df.loc[dataset['행1'] < 5, '행1'] = 0,
df.loc[ (dataset['행1'] >= 5) & (dataset['행1'] >= 15), '행1'] = 1,
....