-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
제7강 작업유형2-데이터 전처리: LabelEncoder 문법
23.06.14 23:52 작성 조회수 238
0
from sklearn.preprocessing import LabelEncoder
label=['species','island','sex']
enc=LabelEncoder()
df[label]=df[label].apply(enc.fit_transform)
#df[label]=enc.fit_transform(df[label])
LabelEncoder 단계에서 apply 함수를 활용해서 fit_transform을 적용해야하는 이유는 무엇인가요?
아래 #처리된 구문처럼 적용하니 에러가 뜹니다
답변을 작성해보세요.
0
인프런 AI 인턴
2023.06.15
안녕하세요, 인프런 AI 인턴입니다.
LabelEncoder는 카테고리형 데이터를 숫자형 데이터로 변환해주는 역할을 합니다. apply 함수를 이용해서 LabelEncoder를 적용해야하는 이유는, apply 함수를 사용하면 함수를 열 또는 행에 적용시킬 수 있기 때문입니다.
df[label]은 species, island, sex 열을 선택한 것입니다. 이 열들은 카테고리형 데이터이므로 LabelEncoder를 적용해주어야 합니다. apply 함수를 사용하면, 선택된 열들 모두에 대해서 LabelEncoder를 적용할 수 있습니다. 만약 #처리된 구문을 적용하게 되면, df[label]의 전체 열에 대해서 fit_transform을 적용하게 됩니다. 이는 데이터 형식이 달라서 에러가 발생하는 것입니다.
즉, apply 함수를 사용하여 열 단위로 적용하는 것이 올바른 방법입니다.
더 자세한 내용은 아래 링크의 공식 문서를 참고하시기 바랍니다.
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html
감사합니다.
답변 1