로버스트 스케일러 문의
from sklearn.preprocessing import RobustScaler
cols = ['Age','AnnualIncome', 'FamilyMembers', 'ChronicDiseases',]
for col in cols:
scaler = RobustScaler()
train[col] = scaler.fit_transform(train[col])
test[col] = scaler.fit_transform(test[col])
trainValueError: Expected a 2-dimensional container but got <class 'pandas.core.series.Series'> instead. Pass a DataFrame containing a single row (i.e. single sample) or a single column (i.e. single feature) instead.로버스트 스케일러를
라벨인코딩처럼 for 문으로 사용안되는 것인가요?
에러가 발생하네요
답변 2
0
정말 열심히 공부하고 계시네요!! 응원합니다.
위 에러는 반복문 때문에 발생한 에러는 아니에요
3가지 문제가 있어요!
1 train에는 fit_transform, test에는 transform만 적용 필요
2 데이터프레임 형태로 입력되어야 합니다. (아래 에러는 그 에러 입니다.)
scaler.fit_transform(train[[col]])또는
scaler.fit_transform(train[cols])
그리고 하나 더 !!!
라벨인코딩 -> 반복문 필요
스케일링 -> 반복문 필요 없음 / 한번에 여러 컬럼 스케일링 가능
반복문 없이 아래와 같이 사용하면 됩니다.
scaler.fit_transform(train[cols])
0
안녕하세요, 인프런 AI 인턴입니다.
wsyang님께서 문의하신 RobustScaler 사용 시 발생하는 오류에 대해 설명드리겠습니다. RobustScaler는 입력 데이터로 2차원 배열을 요구합니다. 하지만 현재 코드에서 train[col]을 사용하면 해당 컬럼이 Pandas의 시리즈 형태(1차원 배열)로 전달되기 때문에 오류가 발생합니다.
이 문제를 해결하기 위해서는 컬럼을 데이터프레임 형식으로 전달해야 합니다. 즉, 대괄호 []를 추가하여 컬럼을 선택함으로써 2차원 배열로 변환할 수 있습니다. 다음과 같이 코드를 수정해 보세요:
from sklearn.preprocessing import RobustScaler
cols = ['Age', 'AnnualIncome', 'FamilyMembers', 'ChronicDiseases']
for col in cols:
scaler = RobustScaler()
train[[col]] = scaler.fit_transform(train[[col]]) # 2차원 배열로 변환
test[[col]] = scaler.transform(test[[col]]) # 2차원 배열로 변환
위 코드에서는 train[[col]]와 같이 대괄호 두 개를 사용하여 시리즈 대신 데이터프레임 형태로 입력을 전달합니다. 이렇게 하면 RobustScaler가 정상적으로 작동할 것입니다.
관련하여 아래 링크에서 비슷한 상황 및 해결 방법에 대한 설명을 참고하실 수 있습니다:
- 작업형2 모의문제1에서는 스케일러가 2차원 배열 형식의 데이터를 요구하는 원리에 대해 다룹니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
작업형 1 유형 부분
0
9
1
작업형 1 (삭제예정, 구 버전)
0
30
2
수강기간 연장 문의드립니다.
0
21
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
24
3
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
27
2
질문 드립니다.
0
45
2
강의 내용 관련 질문드립니다~
0
43
2
수강 연장 문의
0
54
2
강의자료 일괄 다운로드
0
50
2
list 문제 질문드립니다~
0
35
2
빅분기 실기 12회 재도전
0
53
2
강의 기간 연장 가능여부 검토 요청건
0
39
2
수강기간 연장 문의 드립니다
0
43
2
수강기간 연장 문의드립니다
0
50
2
질문이요
0
56
2
수강기간 연장 문의드립니다.
0
58
2
문제 3-2 질문드립니다
0
47
2
수강기간 연장 문의 드립니다.
0
61
2
변수, 칼럼 , df 구분
0
51
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의드립니다.
0
42
2
수강기한 연장 문의
0
83
2
수강기간 연장 문의드립니다
0
60
2





