한가지 방법으로 풀기 오류
ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time:
Feature names seen at fit time, yet now missing:
원핫인코딩 후 타겟 설정후 한가지 방식으로 풀기와 동일하게 진행했는데
pred=model.predict(test)
위와 같은 문제가 발생되는데 이유가 무엇일가요? 실제시험때는 문제없었거든요 원인 및 답변 방안 문의드립니다
train=pd.get_dummies(train)
test=pd.get_dummies(test)
from sklearn.model_selection import train_test_split
target=train.pop('TotalCharges')
X_tr, X_val, y_tr, y_val = train_test_split(train,target,test_size=0.2,random_state=0)
print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)
from sklearn.ensemble import RandomForestRegressor
model=RandomForestRegressor(random_state=0)
model.fit(X_tr,y_tr)
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
hankilzoa님이 겪고 계신 문제는 머신러닝 모델을 학습할 때 사용한 피처(컬럼)와 예측을 위해 사용하려는 데이터셋 간의 피처 불일치로 인한 것입니다. 이 문제는 주로 원-핫 인코딩을 사용할 때 발생할 수 있으며, 학습 데이터셋과 테스트 데이터셋에서 이 과정이 일관되지 않게 적용될 경우 나타날 수 있습니다.
문제의 원인
- 원-핫 인코딩의 불일치: 데이터셋에서 범주형 변수를 원-핫 인코딩할 때, 학습 데이터셋과 테스트 데이터셋의 범주형 변수 값이 서로 다르면, 두 데이터셋의 피처 집합이 달라질 수 있습니다. 이는 학습 데이터셋에 없는 범주가 테스트 데이터셋에 포함되거나, 그 반대로 학습 데이터셋에는 있으나 테스트 데이터셋에는 없는 범주가 있는 경우 발생합니다.
해결 방법
다음과 같은 방안을 통해 위 문제를 해결할 수 있습니다:
- 학습과 테스트 데이터의 결합 후 인코딩:
- 학습과 테스트 데이터를 결합한 후에 원-핫 인코딩을 적용하는 방식으로 모든 가능한 범주가 동일한 피처로 인코딩되도록 합니다:
combined = pd.concat([train, test], axis=0, sort=False)
combined = pd.get_dummies(combined) - 학습과 테스트 데이터를 결합한 후에 원-핫 인코딩을 적용하는 방식으로 모든 가능한 범주가 동일한 피처로 인코딩되도록 합니다:
train = combined[:len(train)] # 학습 데이터
test = combined[len(train):] # 테스트 데이터
2. **누락된 피처 채우기**:
- 학습과 테스트 데이터가 가진 피처의 일관성을 유지하기 위해, 각 데이터셋에 없는 피처를 0으로 채웁니다. 이 과정에서 `train.columns`를 기준으로 `test`의 피처를 맞춥니다:
```python
for col in train.columns:
if col not in test.columns:
test[col] = 0
test = test[train.columns]
유사한 문제 해결 사례
이러한 피처 불일치 문제는 다른 사용자들도 자주 겪는 문제입니다. 아래의 링크를 통해 유사한 문제 해결 사례를 참고할 수 있습니다:
- 모델 평가 후 result 데이터 생성 시 오류
- test파일 예측에서 자꾸 에러가 발생합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장 문의드립니다.
0
20
2
강의 연장 문의
0
25
2
수강 신청 연장 문의드립니다.
0
32
2
작업형 1번문제... 환경관련
0
29
2
12회 기출은 언제 업데이트 될까요??
0
36
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
38
2
수강기간 연장 문의
0
39
2
수강기간 연장문의
0
37
2
수강기간 연장 요청 문의드립니다
0
38
2
수강 기간 연장 문의
0
47
2
수강연장 가능 문의 (기간 약 한달반)
0
60
2
수강기간 연장 가능할까요 선생님
0
74
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
56
3
수강연장요청 문의
0
90
2
아무래도 다음 시험 연장은 어렵겠죠?
0
108
2
빅분기 12회 결과 관련 문의
0
112
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
81
2
수강연장 문의
0
105
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
106
2
12회 실기 질문(작업형 2)
0
92
2
뒤로가기 버튼 같은 것이 있나요?
0
66
1
강의 연장 문의
0
99
2
출력값 질문
0
72
2
수업노트가 어디에 있나요?
0
63
1





