728x90
반응형
-카테고리(categorical)형 데이터를 수치형(numerical) 데이터로 변환해주는 작업은 필수로 해줘야 하는 전처리 작업임.
카테고리형(categorical) => 수치형(numerical) 데이터로 변경하는 2가지 방법을 소개한다.
titanic_df = pd.read_csv('titanic_train.csv')
titanic_df.head(3)
1. astype('category').cat.codes (cat.codes를 호출해 주면 자동으로 숫자형 리턴을 함)
train['Sex']=train['Sex'].astype('category').cat.codes
train['Sex']
0 1 #male
1 0 #female
2 0
3 0
4 1
..
886 1
887 0
888 0
889 1
890 1
Name: Sex, Length: 891, dtype: int8
male => 1
female => 0
으로 자동으로 변환됨
단점: 어떤 클래스가 숫자형으로 변환되었는지 확인하기 어려움
2. LabelEncoder (sklearn.preprocessing 안에 있는 모듈인 LabelEncoder 를 활용)
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
result = le.fit_transform(train['Sex'])
print(result)
[1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1
....
1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1]
# 변환된 label classes 확인
le.classes_
array(['female', 'male'], dtype=object)
어떤 클래스가 숫자형으로 변환되었는지 확인이 가능함!
728x90
반응형
'python' 카테고리의 다른 글
[python] object 형 => numerical 형태로 변경해주는 to_numeric 함수 (0) | 2022.03.22 |
---|---|
[python] 결정 트리 시각화 Graphviz 설치 (0) | 2022.03.20 |
[python] apply, lammda 함수의 활용 (0) | 2022.03.18 |
[python] 파이썬 클래스 python class (0) | 2022.02.22 |
[python] 데이터 분석할때 필요한 코드 / 함수 정리 (0) | 2022.02.20 |