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

어리둥절님의 프로필 이미지
어리둥절

작성한 질문수

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

예시문제 작업형2(신 버전)

스케일러와 라벨 인코딩 순서

해결된 질문

작성

·

29

0

1) 수치형 데이터만 뽑아서 스케일러를 한 후에 범주형 데이터를 라벨인코더하는 것이 맞는지,

2) 아니면 범주형 데이터를 라벨 인코더 하고 전체 데이터를 스케일러를 해도 될지 궁금합니다. minmax말고 standardscaler를 활용하려고 합니다.

3) 또한, scaler할 때는 타겟값인 (y_tr)값을 제외하고 스케일러를 돌려야할지요?

답변 2

0

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

  1. 스케일링 후 인코딩 진행하면 됩니다.

  2. 문제는 없으나 그 방식은 일반적이진 않아요

  3. 타겟은 건들지 말아주세요! (회귀일 때 log 처리하는 전처리 방법도 있지만 실수 가능성이 높아 추천하지 않아요

0

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

어리둥절님께서 질문하신 데이터 전처리에 관한 사항은 머신러닝 및 데이터 분석 작업에서 매우 흔한 문제입니다.

  1. 일반적으로 수치형 데이터에 대해 스케일링을 먼저 한 후, 범주형 데이터를 인코딩하는 것이 좋습니다. 이는 범주형 데이터가 숫자의 크기와 관계없이 단순히 구분 식별의 의미를 가지기 때문에, 스케일링을 수행해도 의미가 없기 때문입니다.

  2. 범주형 데이터는 라벨 인코딩 후 수치형 데이터와 함께 모델에 들어가기 때문에 구지 전체 데이터를 스케일링 할 필요가 없습니다. 특히 StandardScaler는 각 feature의 평균을 0, 표준편차를 1로 만드는 방식이므로, 라벨 인코딩한 범주형 데이터에는 적용할 필요가 없습니다.

  3. 네, 타겟값인(y_tr) 값은 모델의 입력에 사용되는 특성(feature)이 아니기 때문에 스케일링 대상에서 제외해야 합니다. 스케일링은 입력 데이터의 정규화를 다루며, 타겟값 자체는 값을 조정할 필요가 없습니다.

관련 게시물로 이 링크를 참고해 주세요. 여기에는 수치형 데이터 스케일링에 대한 세부적인 구현 예제와 설명이 이루어져 있습니다.
또한, 작업형2 모의문제1에서는 스케일링 관련 코드 작성 시 주의 사항들이 포함되어 있으니 도움이 될 것입니다.

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

어리둥절님의 프로필 이미지
어리둥절

작성한 질문수

질문하기