밍꽁✨
코딩하는 감자
밍꽁✨
전체 방문자
오늘
어제
  • 분류 전체보기 (27)
    • python (16)
      • 파이썬 머신러닝 완벽가이드 (6)
      • 코딩테스트 (4)
      • 머신러닝&딥러닝 (2)
      • 파이썬 기초 (4)
    • Qgis (1)
    • Tableau (6)
    • 빅데이터 분석 기사 (0)
    • 금융데이터 뚝딱이기 (4)
      • 신협 대학생 인턴십 (1)
      • 기사 스크랩 (3)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • python
  • bisect_left
  • Light GBM
  • 태블로
  • 머신러닝
  • 인프런
  • 파이썬
  • 기사스크랩
  • 웰컴투태블로월드
  • NLP
  • Tableau
  • 피처백터화
  • bisect_right
  • 역머니무브
  • 신협인턴십
  • sys.stdin.readline()
  • LGBM
  • 코딩테스트
  • Python기초
  • 파이썬기초

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
밍꽁✨

코딩하는 감자

python/머신러닝&딥러닝

[python] LabelEncoder

2021. 12. 23. 14:12
반응형

범주형 컬럼을 인코딩하려는 데 컬럼이 너무 많아서 원핫인코딩을 사용할 수 없는 상황이다

그래서 LabelEncoder를 사용하려고 했으나 array가 1차원 형식이어야 한다는 조건 때문에 train데이터에 적용이 안되는 문제가 있었다

LabelEncoder 사용시 전체 컬럼에 적용할 것인지, 또는 특정 컬럼에 적용할 것인지에 따라 약간씩 코드가 달라진다

 

하나의 컬럼에 LabelEncoder 적용하기

인코딩 할 컬럼이 몇 개 되지 않는 경우에는 하나씩 적용하면 사용하면 좋다!원래 LabelEncoder를 사용할 시 여러 개를 한 번에 돌리는 것보다 하나의 컬럼을 각각 확인해가며 변환하는 것이 가장 좋은 방법이라고 한다

from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
X_train['컬럼명'] = encoder.fit_transform(np.array(X_train['컬럼명'].reshape(-1,1))

 

여러 컬럼에 LabelEncoder 적용하기 

하지만,, 하나의 컬럼 각각 적용하기에 컬럼의 개수가 너무 많은 경우에는 

그냥 냅다 X_train에 LabelEncoder를 입혀버리는 경우도 있다

from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
train.loc[:,:] = \  ## =\는 아래 코드와 같음을 의미, 즉 인코딩한 train을 다시 train에 넣어줌
train.loc[:,:].apply(LabelEncoder().fit_tranform)

 

여러 컬럼 중 특정 컬럼에 LabelEncoder 적용하기

나의 경우에서는 명목형 변수와 순서형 변수가 섞여있었기 때문에 순서형 변수를 제외하고 인코딩을 해주어야 했다

처음엔 뭣 모르고 명목형에 해당하는 30여개의 변수를 loc로 하나하나 추가해주고 있었는데,,

애초에 순서형 drop 후 명목형을 인코딩해주고 두개를 concat해주면 되는 문제였다!

train_encode = train.drop(['버릴 컬럼'], axis=1)

print(train_encode.columns) # 명목형만 남기고 잘 버려졌는지 확인 

from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
train_encode.loc[:,:] = \
train_encode.loc[:,:].apply(LabelEncoder().fit_transform)

# 인코딩 된 컬럼과 순서형 컬럼 concat
train_concat = pd.concat([train_encode, train.loc[:,['순서형 컬럼']]], axis=1)
반응형

'python > 머신러닝&딥러닝' 카테고리의 다른 글

[python] colab pycaret 설치  (0) 2022.01.17
    'python/머신러닝&딥러닝' 카테고리의 다른 글
    • [python] colab pycaret 설치
    밍꽁✨
    밍꽁✨
    감자의 데이터 분석 일지

    티스토리툴바