[col] [[col]] 차이
안녕하십니까 강사님, 양질의 강의로 이해하기 쉽게 준비해주셔서 감사합니다.
실은 섹션 11, 예시문제 작업형 2, 16:57 쯤에 복습 중
for 문을 이용하여 조금 코드를 수정해보았습니다.
아래의 코드가 바로 정상 작동하는 일부 수정한 코드입니다.
from sklearn.preprocessing import MinMaxScaler
cols = ['총구매액', '최대구매액', '환불금액', '내점일수', '내점당구매건수', '주말방문비율', '구매주기']
for col in cols:
scaler = MinMaxScaler()
X_train[col] = scaler.fit_transform(X_train[[col]])
X_test[col] = scaler.transform(X_test[[col]])
X_train.head()근데 바로 위의 `LabelEncoder`을 수행한 코드를 보면 for 문과 함께 [col]로 작성이 되어있는데, 이 일부 수정된 코드에서는 [col]을 적으면 왜 이 오류가 나오는지 잘 모르겠습니다.
ValueError: Expected 2D array, got 1D array instead:
[[col]] 를 작성해야만 정상 작동하더군요. 혹시 LabelEncoder를 적용한 바로 위의 코드와 어떤 차이가 있어서 []을 한번 더 기입해야 하나요?.
답변 3
2
코드를 수정해보셨다니 매우 좋은 학습 태도를 보이고 계시네요. 질문하신 부분에 대해 설명 드리면MinMaxScaler는 기본적으로 2차원 배열을 입력으로 받습니다. 입력이 데이터 프레임이어야 합니다. 따라서 데이터 프레임으로 변경하기 가장 쉬운 방법이 대괄호 2개를 사용하는 것이에요~
LabelEncoder는 1차원 배열을 입력으로 받습니다. 입력이 시리즈 형태면 됩니다. 대괄호 1개를 사용하는 것이에요!!
1
저도 이부분이 헷갈렸는데, 감사합니다.
혹시 그럼 Scaler는 2차원 배열, Encoder는 1차원 배열을 입력받는다고 이해하면 될까요?
대응표본검정 레빈
0
13
2
단일표본검정 문제 유형
0
16
2
[작업형 3] 6~7. 카이제곱 검정
0
15
2
9회 작업형3 문제 1-1
0
19
2
최종답안 계산 방식 질문
0
14
1
시험 치기 전 급하게 질문 사항
0
24
2
유형3
0
23
2
작업형 2 연습문제 섹션 3
0
17
2
11 기출문제 ipynb파일
0
21
2
작업형 3 유형
0
21
2
11회 기출 유형(작업형1) 2번 정답
0
18
2
f1 score 질문
0
19
2
10회 작업형 2 인코딩 질의
0
15
2
53번 강의에서 갑자기 수업노트가 없어졌습니다.
0
21
2
28:19 roc_auc이유
0
20
2
수강연장문의
0
23
2
전체적인 머신러닝 순서
0
24
2
빅분기 실기 유형2질문
0
26
1
ID 전처리 이유
0
31
2
데이터제공
0
33
2
예시문제 작업형3 꼬리질문2번
0
22
1
데이터 개수를 구할 때, len과 value_counts 차이
0
28
2
작업형 2 제출방
0
22
2
인코딩 스케일링 순서
0
24
2





