답변함

문제 오류 발생

원-핫 인코딩시 발생하는 오류 입니다. 발생원인과 해결방법을 설명해 주세요!

강의시 코드 실행을 하셨다면 이런 오류는 스크린이 되어야 한다고 생각하는데요. 

이런 종류의 오류가 너무 많이 발생합니다.

 

 

 

 

 

 

0

댓글

댓글 4개
날짜 투표수
  • 안녕하세요 질의하신 코딩에 대한 답변입니다.

    문의하신 내용은 코딩에 문제가 있는것이 아니예요 설명을 드립니다.

    오류 이유는 다음과 같습니다.

    1. 이 코드는 brand 같은 컬럼을 없애고 새 컬럼으로 바꿉니다
    get_dummies를 실행하면 brand 컬럼은 사라지고 brand_audi, brand_bmw 같은 새 컬럼이 생깁니다.

    2. 바뀐 결과를 같은 이름 x_test에 다시 저장합니다
    그래서 실행이 끝나면 x_test 안에는 brand 컬럼이 더 이상 없습니다.

    3. 같은 셀을 한 번 더 실행했습니다
    주피터는 셀을 다시 실행해도 처음 데이터로 돌아가지 않습니다. 이미 바뀐 x_test를 가지고 다시 실행합니다.

    --→ 동일한 코드셀 내용을 두번 실행헀을 때 발생하는 현상입니다. 

    해결방법

    상단 메뉴에서 Kernel → Restart & Run All을 누르세요. 처음부터 다시 실행되어 정상 동작합니다.

    학습자료에서 전체 도서의 파이썬 코딩이 있습니다. 필요하시면  말씀하세요 보내드릴께요!

     

     

     

    0
  • Run all cells  실행으로 일단 에러는 해결은 되었습니다.파이썬 코딩의 문제가 아니라. 강사님의 동영상 강의를 따라 그 대로 하고 있는데 에러가 생기니까.. 구글에 확인해봐도 코드에는 문제가 없는것으로 보이고 하니까 당황스러웠습니다. 추가로 한 가지 더 질의를 드리면 Lable vs OneHot 인코딩의 실제 시험에서 사용상 차이나 주의할 내용에 대해서 설명 부탁드립니다.

    전체 도서의 파이썬 코딩도 부탁드립니다.

    감사합니다.

    0
  •  

    다시 확인해보니까 문제가 해결되지 않았네요. 

    Restart kernel and Run all~ 실행해도 여전히 에러 메세지가 출력되네요???

    결국 이렇게 x_test 인코딩 및 model 변수 제거 코드를 blocking을 하니까 정상적으로 실행이 되네요!!

    즉, x_train에서 인코딩된 규칙을  x_test와  reindex~ 코드로 일치 시키기만 하면 되는거 아닌가요???

    설명부탁드립니다!!

    0
  • 네, 맞게 하셨습니다. 결과도 정상입니다.

    • get_dummies로 범주형 열을 더미 변수로 바꾼 뒤, reindex(columns=x_train.columns, fill_value=0)로 열 구성과 순서를 x_train과 같게 맞추는 방법이 맞습니다.
    • model 열은 x_train에 없어서 reindex 과정에서 자동으로 빠집니다. 그래서 drop 줄은 없어도 됩니다.
    0

댓글을 남기려면 로그인하세요.

 

원하는 것을 찾지 못하셨나요?

질문하기