반응형
# 범주형을 수치형으로..
- 원핫인코딩과 라벨인코딩 사용
1. 원핫인코딩
- 범주형 데이터(Object 타입)가 가진 의미를 버리지 않고 함축된 의미를 유지핸 채 숫자형 데이터로 변경, 즉 0 또는 1로 변경
. pandas의 get_dummies() 함수
. 그냥 사용할 경우 1개의 범주형 컬럼당 2개의 컬럼이 생성되어 가독성이 떨어짐
. drop_first=True 옵션을 주면 1개의 컬럼에 1과 0이 모두 표현
ex) print(pd.get_dummies(X['컬럼명'], drop_first = True))
2. 라벨인코딩
- 범주형 변수를 일련번호를 부여하는 방식으로 변환하는 방식
. sklearn 라이브러리의 LabelEncoder 함수 사용
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
print(encoder.fit_transform(X['am']))
범주의 값들이 0 ~ 9까지의 숫자로 변환된다.
3. 수동으로 인코딩
- replace 함수를 이용
ex) X['day_new'] = X['day'].replace('mon',0).replace('wen',1)
# 데이터타입 변경하기..
astype()함수 사용
X['gear'] = X['gear'].astype('int64')
print(X.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 32 entries, 0 to 31
Data columns (total 10 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 cyl 32 non-null float64
1 disp 32 non-null float64
2 hp 32 non-null int64
3 drat 32 non-null float64
4 wt 32 non-null float64
5 qsec 32 non-null float64
6 vs 32 non-null int64
7 am 32 non-null object
8 gear 32 non-null int64
9 carb 32 non-null float64
dtypes: float64(6), int64(3), object(1)
memory usage: 2.6+ KB
None
반응형
'독서' 카테고리의 다른 글
이클립스 Dynamic Web Project에 WebContent 없음 (폴더 구조 수정방법) (0) | 2022.06.02 |
---|---|
파이썬 패키지명을 찾는 방법 (0) | 2022.06.02 |
사용자 스토리(User Story) 작성법 (0) | 2022.04.05 |
(무료폰트) 한국출판인회의 KoPub 서체 (0) | 2022.01.13 |
습관의 힘 (0) | 2021.11.23 |