특성공학:pandas

Pywiki
Sam (토론 | 기여)님의 2022년 8월 3일 (수) 16:55 판 (새 문서: == 개요 == pandas를 활용하여 특성을 다루는 방법에 대해 다룬 문서. = 시작하기 전에 = {| class="wikitable" !전략 !설명 !예시 |- |칼럼별 값 파악...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 가기 검색하러 가기

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,
    ....