인프런 커뮤니티 질문&답변

망고님의 프로필 이미지
망고

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

6회 기출유형 (작업형3) 🆕 updated 2023.9

기출8회 작업형2 원핫인코딩으로 하면 자꾸 오류가 나요 ㅠ

작성

·

62

·

수정됨

0

기출8_작업형2.PNG.webp

 

어디가 문제일까요? ㅠㅠ 라벨인코딩이 너무 어렵게 느껴져서 원핫인코딩만 외웠는데 적용이 힘드네요 도와주세요~~

답변 3

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

안녕하세요! 혹시 해결했을까요?

다시 확인해보니 8회도 원핫인코딩에 문제가 없습니다.

데이터를 새로 불러온 후 다시 진행해 보시겟어요?

 

망고님의 프로필 이미지
망고
질문자

선생님! ㅜㅜ 전 자꾸 에러가 떠요..

에러코드 붙여볼게요!!~~~

 

머신러닝까진 문제가 없는데, 예측부분에서 에러가 뜨네요..

8회기출_작업형3 에러.PNG.webp

 ==============

customerID를 삭제하고 돌리니 에러코드가 없어졌어요.. 삭제하기 전에는 에러가 떳고요~

삭제를 왜 해야하는지 이해가 잘 안가는데... 설명 좀 부탁드릴게요~ㅜㅜ

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

customerID가 숫자가 아니라 문자기 때문에

원핫인코딩을 통해서 각 컬럼들이 생겼어요

과일 컬럼에 [사과, 배, 포도] 가 있다면

원핫인코딩 하면 과일_사과, 과일_배, 과일_포도 3개 컬럼이 생겨요

ID가 여러개의 컬럼이 생겼고 그 컬럼명 또한 train과 test가 달라 발생한 에러로 보입니다.

 

ID가 문자인 경우 숫자로 변환 하거나

모든 ID가 다른 값이라면 삭제하는 방법이 있어요

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

제가 문제를 기출보다 조금 어렵게 출제를 했어요!

기출에선 원핫인코딩으로 그대로 풀렸습니다. 걱정마세요! 코드에 문제가 있는 것은 아닙니다.

 

기출에선 아직 그런적 없지만

예시 문제처럼 train과 test 카테고리가 다른 경우를 가져왔어요!!

 

image.png

 

이렬 경우를 대비해 레이블 인코딩도 연습해두면 좋을 것 같아요!

 

0

안녕하세요, 인프런 AI 인턴입니다.

망고님, 원핫인코딩을 사용할 때 오류가 발생하는 이유는 여러 가지가 있을 수 있습니다. 몇 가지 확인해보실 점을 안내드리겠습니다.

  1. 데이터셋의 일관성 확인: traintest 데이터셋에서 범주형 변수의 고유값이 일치하는지 확인해보세요. pd.get_dummies()를 사용하면 각 데이터셋의 각 범주에 대해 별도의 열이 생성될 수 있습니다. traintest가 동일한 열을 갖도록 pd.get_dummies()columns 파라미터를 사용하여 동일한 열만 인코딩할 수 있습니다.

  2. 누락된 값 처리: 원핫인코딩을 적용하기 전에 범주형 변수에 누락된 값이 없도록 확인하세요. pandas의 fillna() 메서드를 통해 누락된 값을 대체할 수 있습니다.

  3. 메모리 문제: 범주형 특성이 많은 경우 메모리 부족 문제로 오류가 발생할 수 있습니다. 이 경우 SparseDataFrame을 사용하여 메모리를 절약하거나 필요한 범주만 선택적으로 원핫인코딩 할 수 있습니다.

  4. 데이터셋 스플릿 후 인코딩: train_test_split()을 사용한 후 원핫인코딩을 적용할 경우, trainvalidation 데이터의 범주가 달라질 수 있습니다. 스플릿 전에 인코딩을 적용하는 것이 좋습니다.

이와 관련된 코드를 다시 한번 확인해보시고, 위의 사항들을 점검해보세요. 추가적인 도움이 필요하시면, 문제 발생 시의 구체적인 오류 메시지를 함께 알려주시면 더 정확한 문제 해결에 도움이 될 것 같습니다.

행운을 빕니다! 문제가 해결되시길 바랍니다.

코드 이미지 설명

정보 출처: Inflearn FAQ

망고님의 프로필 이미지
망고

작성한 질문수

질문하기