특성공학:pandas

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