문제 개요
기계 학습 분류 문제에서는 큰 비중을 차지합니다. 범주형 변수의 수는 특정 인코딩 기술이 필요한 문제를 야기합니다. 그러한 기술 중 하나는 데이터를 분류자에게 전달하기 전에 일반적으로 사용되는 하나의 핫 인코딩입니다.
접근 방식 1: Pandas의 pd.get_dummies 활용
한 가지 일반적인 접근 방식은 pd를 사용하는 것입니다. Pandas에서 get_dummies. 범주형 열을 각각 다른 범주를 나타내는 여러 더미 열로 변환합니다.
예:
import pandas as pd s = pd.Series(list('abca')) pd.get_dummies(s) Out[]: a b c 0 1.0 0.0 0.0 1 0.0 1.0 0.0 2 0.0 0.0 1.0 3 1.0 0.0 0.0
또는 접두사를 지정하면 각 더미에 대해 여러 열이 생성됩니다.
df = pd.DataFrame({ 'A':['a','b','a'], 'B':['b','a','c'] }) df Out[]: A B 0 a b 1 b a 2 a c one_hot = pd.get_dummies(df['B'], prefix='B') df = df.drop('B',axis = 1) df = df.join(one_hot) df Out[]: A Ba Bb Bc 0 a 0 1 0 1 b 1 0 0 2 a 0 0 1
접근 방식 2: Scikit-learn 사용
Scikit-learn의 OneHotEncoder는 하나의 핫 인코딩에 강력하고 유연한 접근 방식을 제공합니다.
예:
from sklearn.preprocessing import OneHotEncoder enc = OneHotEncoder() enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]]) enc.transform([[0, 1, 1]]).toarray() array([[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]])
제공된 코드 조각은 샘플 데이터의 맞춤 및 변환을 보여주며 바이너리 원-핫 인코딩을 보여줍니다.
계산 리소스를 신중하게 고려해야 합니다. 특히 대규모 데이터 세트의 경우 하나의 핫 인코딩에 필요합니다. 효율적인 데이터 처리 및 특징 선택 기술은 성능을 최적화하고 성공적인 분류 결과를 달성하는 데 매우 중요합니다.
위 내용은 One Hot Encoding은 Python에서 범주형 변수를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!