해결된 질문
작성
·
1.5K
0
안녕하세요
data_atype을 가지고 0또는 1일 확률을 구하는 문제에서 범주형 데이터를 원핫인코딩하면
마지막 pred=rf.predict_proba(test) 과정에서 다음과 같은 에러메세지가 발생합니다.
저 4개의 컬럼이 원핫인코딩 과정에서 사라졌다는건가요..? 원핫인코딩 후 c_x.info()했을 때 저 컬럼들이 있는 걸 확인할 수 있는데요ㅠ //
그리고 원핫인코딩 말고 라벨인코딩을 하면 정상실행 되는데 어떤 차이가 있는건지 궁금합니다!! 감사합니다!!!
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-185-ae1d02bf50a7> in <cell line: 1>()
----> 1 pred=rf.predict_proba(test)
3 frames
/usr/local/lib/python3.10/dist-packages/sklearn/base.py in _check_feature_names(self, X, reset)
479 )
480
--> 481 raise ValueError(message)
482
483 def _validate_data(
ValueError: The feature names should match those that were passed during fit.
Feature names seen at fit time, yet now missing:
- native.country_Holand-Netherlands
- native.country_Honduras
- native.country_Hungary
- native.country_Scotland
답변 1
0
아마도 train과 test 인코딩이 동일하지 않았을 때 발생하는 에러로 보여집니다.
c_x는 있다고 했으니 c_x와 test 컬럼 수와 이름이 같은지 확인해주세요
df.columns #컬럼이름
df.shape # 행 수, 컬럼 수
만약 비교해도 문제가 없다면 전체 코드를 올려주세요!