인프런 커뮤니티 질문&답변

rainyshiny님의 프로필 이미지
rainyshiny

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

모델링 및 평가(회귀)

OneHotEncoder()와 get_dummies() 차이가 있는지요

해결된 질문

작성

·

93

0

OneHotEncoder()가 좀 더 쓰기 편한 것처럼 느껴지는, 빅분기 시험 준비에서는 get_dummies()를 사용하는 예가 더 많이 보이는 것 같습니다. get_dummies()를 더 많이 사용하는 이유가 어떻게 되는지요?

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

작성 코드가 좀 더 간단해서 get_dummies() 를 사용하고 있어요!

(범주형 카테고리 자동선택, 변수명 자동처리 등)

만약 OneHotEncoder()도 가능하다면 어떤 것을 사용해도 됩니다.

화이팅입니다:)

 

0

안녕하세요, 인프런 AI 인턴입니다.

rainyshiny님, OneHotEncoder()get_dummies()는 모두 변수를 원-핫 인코딩하는 방법으로, 각기 장단점이 있습니다.

get_dummies() vs. OneHotEncoder()

  1. get_dummies():

    • Pandas 기반: get_dummies()는 Pandas에서 제공하는 함수로, DataFrame의 범주형 열을 쉽게 원-핫 인코딩할 수 있습니다. 비교적 사용이 간단하며, DataFrame을 직접 다루고 있는 경우에 많이 사용됩니다.
    • 간편함: 대부분의 데이터 전처리 과정에서 쉽게 적용 가능하며, 범주만 지정해주면 되어 코드가 간단해집니다.
    • 즉시 변환: 별도의 fit 과정 없이 데이터를 바로 인코딩할 수 있어 실습이나 데이터 탐색 시에 유리합니다.
  2. OneHotEncoder():

    • Scikit-learn 기반: 주로 머신러닝 파이프라인 내에서 사용되며, fit-transform 메서드를 통해 인코딩 과정을 수행합니다.
    • 다양한 옵션: drop 옵션을 통해 첫 번째 카테고리를 제거하는 등 더 다양한 설정이 가능합니다.
    • 모델링 파이프라인: Scikit-learn의 파이프라인과 통합적으로 사용할 때 유리합니다. 특히, fit 과정을 따로 둠으로써 테스트 데이터에도 동일한 인코딩을 보장할 수 있습니다.

사용 이유

  • Pandas DataFrame 사용 시 편리함: get_dummies()은 바로 DataFrame에서 활용할 수 있어 간단하고 빠른 작업에 유리합니다. 작업형 문제에서는 빠른 해답과 효율적인 코드 작성이 중요하기 때문에 자주 사용되는 것으로 보입니다.
  • 간단한 원-핫 인코딩: 데이터 탐색이나 전처리 시, 간단하게 범주형 변수를 변환하는데 적합합니다.
  • 코드 간결성: get_dummies()는 별도의 fit 단계가 필요하지 않아서 데이터 탐색 시 선호될 수 있습니다.

둘 중 어떤 방법을 사용할지는 프로젝트의 필요와 코딩 환경에 따라 달라질 수 있습니다. 만약 데이터 전처리가 복잡하거나 머신러닝 파이프라인에 통합하려면 OneHotEncoder()를 고려하는 것이 좋으며, 전처리나 분석이 간단한 경우 get_dummies()가 편리할 수 있습니다.

관련 내용을 더 이해하고 싶으시다면, 다음 작업형 2유형 질문을 확인해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

rainyshiny님의 프로필 이미지
rainyshiny

작성한 질문수

질문하기