원핫인코딩 관련
원핫인코딩 관련하여 질문이 있습니다.
cols = [ object형 컬럼들, , , ] 으로 지정한 후 어떤 문제에서는
pd.get_dummies(df[cols]) 로 되어있는 곳도 있고,
pd.get_dummies(df, columns=cols)로 되어있는 곳도 있는데, 둘다 마찬가지 결과가 나오는걸까요?
추가적으로, 다중분류 부분에서 보면 숫자로되어 있는 object형 변수는 자동으로 원핫인코딩이 되지 않으므로
pd.get_dummies(df[0])으로 코딩해야 한다고 하셨는데요,
그렇다면 위의 예시에서 df, columns=cols로 했을 경우에는 숫자로 되어있는 변수는 dtype이 object형이어도 자동으로 원핫인코딩이 되지않는걸까요..?
답변 1
0
pd.get_dummies(df[cols]) 과 pd.get_dummies(df, columns=cols)는 차이가 있어요
pd.get_dummies(df[cols]):이 방식은 먼저
df[cols]를 통해 데이터프레임df에서cols에 해당하는 열만 선택합니다.그런 다음
pd.get_dummies를 이용해 이 선택된 부분집합에 대해 원-핫 인코딩을 수행합니다.결과적으로, 원-핫 인코딩된 데이터프레임은
cols에 지정된 열만 포함하며,df의 다른 열은 포함되지 않습니다.숫자가 있다면 숫자가 있는 컬럼은 인코딩 하지 않습니다.
pd.get_dummies(df, columns=cols):이 방식은 원본 데이터프레임
df를 기반으로 합니다.columns=cols매개변수를 통해cols에 지정된 열만 원-핫 인코딩을 적용합니다.결과적으로, 원-핫 인코딩된 열은
cols에 지정된 범주형 열로 대체되지만,df의 다른 열(원-핫 인코딩되지 않은 열)도 결과 데이터프레임에 포함됩니다.숫자가 있는 컬럼이 있어도 강제로 원핫인코딩 합니다.
두번째 질문은 조금 이상합니다. 다시 질문 부탁드려요
pd.get_dummies(df[0]) 코드를 제가 설명한 적이 있을까요? df[0]는 저도 알 수 없는 코드라서요~😱
columns=cols로 했을 경우에는 숫자로 되어있는 변수는 dtype이 object형이어도 자동으로 원핫인코딩이 되지않는걸까요..?
아니요! 겟더미즈에 넣으면 object형은 원핫인코딩 됩니다. 🙂
0
답변 감사드립니다!!
말씀주신 부분은 다중분류 평가지표 부분에서 pd.get_dummies(y_true[0])이라고 되어있는 부분이었습니다.
y_true는 [2, 2, 3, 3, 2, 1,....] 이런 리스트였구요. 숫자면 자동으로 원핫인코딩 되지않아서 [0]을 넣었다고 하셨던것같아서 여쭤봤습니다. 위의 df[cols]와 관련이 있나 했어요^^;;
인코딩 관련 질문 있습니다
0
0
0
작업형3 이원분산분석 sm에서불러오기 / anova_lm 차이
0
2
1
2유형 원핫인코딩 오류
0
11
2
시험장에서 주석 단축키 안될 때 많나요?
0
19
2
라벨인코딩 방식
0
18
2
test 재학습 관련
0
12
2
target 빈도 확인
0
15
2
작업형 2 연습문제 섹션 6
0
16
2
F1-score
0
16
2
작업형 2번 섹션 3
0
14
2
작업형 2 인코딩, 결측치, 모델 선택 질문
0
19
1
인코딩 방식 문의
0
24
2
9회 3유형 ==> 7회 3유형 질문드려요
0
13
2
작업형 2관련 질문입니다
0
13
2
작업형2 카테고리
0
23
2
110강 회귀_8번 문의
0
15
2
XGBRegressor 학습 시 warning 출력
0
21
2
데이터 프레임을 변경해도 되나요?
0
13
2
10회 기출 작업형3 문제 2-1 질문
0
21
2
작업형 2 질문
0
22
2
작업형 2 템플릿 확인 요청
0
24
2
작업형2 인코딩 질문
0
26
2
작업형 3 벼락치기 공부방법 질문
0
34
2
기출 11회 작업형 2_전체 데이터 학습 여부
0
34
2





