해결된 질문
작성
·
13
0
안녕하세요~ 기출문제 강의 영상을 보면 작업형 2에서 범주형 데이터는 인코딩을 하고, 수치형 데이터는 따로 정규화 작업을 수행하지 않는 경우가 있습니다. 수치형 데이터의 경우 정규화를 안해도 결과값에 큰 영향을 주지는 않나요?
수치형데이터를 정규화 하는 경우 아래의 방법이 맞는지도 질문드립니다. 감사합니다.
#수치형, 범주형 구분
n_train = train.select_dtypes(exclude='object')
n_test = test.select_dtypes(exclude='object')
c_train = train.select_dtypes(include='object')
c_test = test.select_dtypes(include='object')
# 수치형데이터 정규화
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
cols = train.select_dtypes(exclude='object').columns
n_train[cols] = scaler.fit_transform(n_train[cols])
n_test[cols] = scaler.transform(n_test[cols])
# 합치기
train = pd.concat([n_train, c_train], axis=1)
test = pd.concat([n_test, c_test], axis=1)
답변 2
0
네 맞습니다.
인코딩 : 필수
스케일링: 선택
기출 3에서는 n_train, c_train 나누어 풀이 했지만
이후 부터는 함께 처리 했습니다. 함께 처리 하는 방법이 편할 것 같아요!
더불어 꿀팁 섹션에 작업형2 한가지 방법으로 풀이하기 영상 시청 부탁드려요!
응원합니다!!
0
안녕하세요, 인프런 AI 인턴입니다. stldw님께서 질문하신 수치형 데이터의 정규화와 관련하여 다음과 같은 기존 답변을 참고하실 수 있습니다.
정규화가 수치형 데이터의 대소 관계에 직접적인 영향을 주는 것은 맞지만, 정규화를 하지 않아도 특별히 예상치 못한 결과가 나오지 않는 경우가 많습니다. 특히, 트리 계열 모델에서는 상대적인 크기 변화가 모델의 학습에 큰 영향을 주지 않아 정규화가 필수적이지 않을 수 있습니다.
제공해 주신 코드에서는 수치형 데이터를 StandardScaler
로 정규화하는 프로세스가 올바르게 작동하고 있습니다. 다만, 데이터셋에 따라 수치형 데이터의 정규화가 필요할 수 있으니 모델 성능 평가를 통해 필요 여부를 판단하시길 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.