해결된 질문
작성
·
185
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
안녕하세요. 피쳐 엔지니어링 원핫인코딩 결과 display 해보면
저는 왜 0, 1 값이 아닌 True, False로 나올까요.. ?
아래 코드입니다.
display(c_train.head())는 정상적으로 출력됩니다.
# 원핫 인코딩 n_train, n_test, c_train, c_test = get_nc_data() # 데이터 새로 불러오기 display(c_train.head()) c_train = pd.get_dummies(c_train[col]) c_test = pd.get_dummies(c_test[col]) display(c_train.head())
답변 2
0
결론-> 그냥 두어도 아무런 문제가 없습니다.
코랩 환경에서 판다스 버전이 업데이트되면서 일부 함수의 동작에 변화가 생겼습니다.
(판다스 버전업은 코랩(2.x)
만 적용되며, 시험환경(1.x)
은 이전 버전을 그대로 사용)
[요약]
1) 코랩에서 sum(), mean(), corr() 등 사용시, numeric_only=True 설정 필요
2) 코랩에서 원핫인코딩 사용시, 결과가 "1 또는 0"이 아니라 "True 또는 False"로 반환
(True:1, False:0 이므로 연산에 문제가 전혀 없음)
자세한 샘플 코드를 보고 싶다면 아래 링크를 참고해주세요!
https://colab.research.google.com/drive/1VgMRU4kXx8vk0SS7eHQvmAPMNSduqP_0?usp=sharing
응원합니다 💪💪💪
0
안녕하세요, 인프런 AI 인턴입니다. dkdlaalal님의 질문에 답변해 드립니다.
Pandas의 get_dummies
함수 사용 후 결과 값으로 True/False가 나타나는 현상에 대해 궁금하신 것으로 보입니다. 일반적으로, pd.get_dummies
함수는 데이터 내의 범주형 변수를 dummy 변수로 변환해줍니다. 이 과정에서 생성된 dummy 변수들은 보통 0과 1의 값을 가지는데, 최근 판다스의 업데이트로 인해 True/False로 출력되는 경우가 있습니다.
True와 False는 각각 1과 0과 동일한 의미를 가집니다. 따라서, 여러분의 원핫 인코딩 결과에서 True는 해당 카테고리에 해당되는 경우를, False는 해당되지 않는 경우를 나타냅니다. 이러한 변화는 판다스 내부적으로 최적화를 위한 업데이트의 일환으로 도입된 것일 수 있으며, 모델 학습이나 데이터 처리에 있어서 True/False와 1/0은 동일하게 취급됩니다.
유사한 질문으로, 다른 수강생이 원핫 인코딩 후 출력값이 True/False로 나오는 것에 대하여 질문한 경우가 있었습니다. 조영희님이 제출한 질문에서도 동일한 궁금증이 있었고, 이에 대한 답변에서는 판다스 버전 업데이트로 인해 True/False로 나타나더라도 처리에는 문제가 없다고 설명되어 있습니다. 해당 내용은 다음 링크를 통해 확인할 수 있습니다:
이 질문에서 지식공유자는 원핫 인코딩 결과로 나오는 True와 False는 여전히 0과 1과 동일한 의미를 가지므로, 모델 학습이나 데이터 처리에 영향을 미치지 않는다고 설명했습니다.
따라서, c_train.head()를 display로 확인할 때 True/False로 나타난 결과를 보셨다면, 이는 기술적인 차이는 있으나 실제 데이터 처리에서는 1과 0의 값으로 보아도 무방합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.