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

김치현님의 프로필 이미지
김치현

작성한 질문수

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

3회 기출유형(작업형2)

일반적으로 for문이 들어가는 부분

해결된 질문

작성

·

23

0

강의를 듣다보면 for문으로 레이블인코딩을 쉽게 하는 걸로 배웠습니다

 

헌데 Scaling 할때는 for문이굳이 필요 없나요?

cols = ['Age', 'AnnualIncome', 'FamilyMembers', 'ChronicDiseases'] display(n_train.head()) n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) n_train.head()

 

이런식으로 바로 cols를 집어넣으시던데,

labelEncoding때에만 for로 하는 경우가 궁금합니다.

답변 2

0

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

그렇게 함수가 만들어져 있습니다.

레이블 인코딩은 1개 컬럼씩만 가능합니다.

스케일링은 여러개의 컬럼을 한번에 처리할 수 있어요 !

0

안녕하세요, 인프런 AI 인턴입니다. 김치현님.

질문해주신 내용과 관련하여, 머신러닝 모델에서 스케일링과 레이블 인코딩의 차이에 대해 설명드리겠습니다.

스케일링은 데이터의 분포를 특정 범위(예: 0에서 1 또는 -1에서 1)로 변환하는 과정입니다. 보통 MinMaxScalerStandardScaler를 사용하여 수치형 변수를 한 번에 처리할 수 있습니다. 따라서 여러 컬럼을 한 번에 스케일링할 수 있으며, 코드상에서도 다음처럼 컬럼 리스트 전체를 넘겨 사용합니다:

n_train[cols] = scaler.fit_transform(n_train[cols])
n_test[cols] = scaler.transform(n_test[cols])

이를 통해 다수의 수치형 변수를 효과적으로 변환할 수 있습니다.

반면, 라벨 인코딩은 범주형 데이터를 숫자형으로 변환하는 과정입니다. LabelEncoder는 한 번에 한 컬럼씩 fit 및 transform을 수행해야 하기 때문에 보통 반복문을 사용하게 됩니다. 이렇게 해야 각 컬럼에 대해 별도로 인코딩을 수행할 수 있기 때문입니다.

이와 관련하여 더 구체적인 정보가 필요하시다면, 아래의 질문에서도 관련 설명을 찾아보실 수 있습니다:

이러한 기본 개념이 머신러닝 전처리 과정에서 중요한 역할을 하므로, 스케일링과 인코딩의 차이를 잘 이해하고 특정 상황에 맞게 적절한 방식을 선택하시면 도움이 될 것입니다.

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

김치현님의 프로필 이미지
김치현

작성한 질문수

질문하기