get_dummies 관련문의
안녕하세요.
get_dummies 관련 문의드립니다.
Feature Engineering 강의 듣다가 문의 있어 글 납깁니다.
[Pclass:3,sex:male,Age:25,Parch:0,Fare:8,Embarked:Q]
만약에 새로운 위에 있는 데이터를 predict 하고 싶으면, df에 concat 시키고, 다시 get_dummies 후에 해당 Row로 predict 해봐야 되는건가요?
그리고 만약에 embarked에 Z라는 새로운 카테고리가 생기면 다시 학습시켜줘야 되는건가요?
답변 2
0
(질문 1) 만약에 새로운 위에 있는 데이터를 predict 하고 싶으면, df에 concat 시키고, 다시 get_dummies 후에 해당 Row로 predict 해봐야 되는건가요?
--> 새로운 data 는 학습에 사용되었던 df 와 섞이면 안되고 새로운 data 만으로 학습 데이터에서 만들어진 column 과 동일한 column 구조로 맞춰줘야 합니다. 새로운 data 한 건이 발생했다면 get_dummies 는 다음과 같이 코딩하면 됩니다.
# 학습 시 사용했던 원-핫 컬럼
dummy_cols = ['Embarked_C', 'Embarked_Q', 'Embarked_S']
import pandas as pd
new = pd.DataFrame({'Embarked': ['Q']})
encoded = pd.get_dummies(new, columns=['Embarked'])
encoded = encoded.reindex(columns=dummy_cols, fill_value=0)
print(encoded)
Embarked_C Embarked_Q Embarked_S
0 1 0
(질문 2)그리고 만약에 embarked에 Z라는 새로운 카테고리가 생기면 다시 학습시켜줘야 되는건가요?
--> 학습 때 없던 Z는 자동으로 모든 열을 0으로 처리합니다:
Embarked_C = 0
Embarked_Q = 0
Embarked_S = 0
따라서, 다시 학습 시킬 필요 없습니다. 단, Z 라는 카테고리가 의미있는 정보이고 많이 발생하는 경우라면 학습 데이터에서 누락된 것이므로 Z 카테고리를 포함해서 다시 학습시켜야 합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
최범준님께서 질문하신 get_dummies와 관련된 데이터 처리 방법에 대해 설명드리겠습니다.
새 데이터에 대한 처리 방법:
- 기존 데이터와 연결: 새 데이터를 예측하기 전에 기존 데이터와 동일한 형식을 갖추어야 합니다. 이를 위해 일반적으로 새로운 데이터를 기존 데이터프레임과
concat시킨 후,get_dummies를 적용합니다.
- get_dummies 적용: 원-핫 인코딩이 적용된 훈련 데이터와 동일한 구조를 갖추기 위해,
get_dummies로 새로운 데이터에도 동일한 직렬 공간이 적용되도록 합니다.
- 예측: 그런 다음, 준비된 데이터로 모델의 predict 함수를 활용하여 예측을 수행합니다.
새로운 카테고리 “Z”에 대한 처리:
- 만약
Embarked에 새로운 카테고리 “Z”가 등장하면, 기존 모델은 이를 처리할 수 있도록 학습되지 않았기 때문에 예측 성능에 영향을 줄 수 있습니다. 따라서 이러한 상황에서는 모델을 새로 학습시키는 것이 필요할 수 있습니다.
- 사전에 예상치 못한 카테고리에 대비하기 위해, 특정 미리 정의된 전략(예: “unknown” 카테고리 생성 등)을 수립하는 것도 고려해 볼 수 있습니다.
위 과정에 대한 이해를 돕기 위해, 비슷한 주제의 이전 질문을 참고하시길 권장드립니다: numpy의 shape은 데이터 조작 및 처리와 관련한 혼란을 줄이는 데 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
Colab실습관련
0
59
2
강의 수강
0
73
1
섹션 10 비지도 학습에 대하여
0
65
1
훈련과 Predict를 분리할수 없나요?
0
92
2
scikit-learn이 업데이트 된 건가요?
0
158
2
feature scaling 부분
0
124
2
MAtplotlib 기초
0
117
1
섹션9 First Autoencoder 인코더, 디코더 모델 생성 오류 해결 방법
0
195
1
섹션7 텐서플로 허브 Trained_MobileNet 모델 생성 오류 해결 방법
0
330
1
Crash 파일 위치
0
252
1
주피터에서 파일 열기
0
307
1
션 7. CNN (Convolutional Neural Network)의 7번째 강의는 실습 - FashionMNIST 데이터셋 이용 실습 문제 풀이 관련 강의 내용순서 문의
0
245
1
DBSCAN 실습 결과
0
258
1
DBSCAN 질문
0
222
1
Feature Scaling 강의 질문 있습니다!
0
250
1
heatmap에서 numeric_only=True
0
301
1
pd.Series
0
218
1
Feature Scaling
0
223
1
categorical 변수의 수치화
0
181
1
Residual Error
1
186
1
매트릭스로 만들어주는 것
1
183
1
tf.data 를 이용한 shuffling and batch 구성 관련 문의
1
366
2
타이타닉 예제에서 혼동되는 개념이있습니다!
1
278
1
LeNet-5 실습 중 loss값 nan이 나오고 있습니다.
0
656
1





