test predict이 먹히지 않습니다.
# 최종 제출 파일 (lightGBM)
pred = lg.predict(test)
submit=pd.DataFrame({'pred':pred})
submit.to_csv("result.csv",index=False)
아래처럼 feature가 맞지 않아서 에러가뜹니다. 강의 그대로 했는데 왜그러는 걸까요??
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipython-input-50-2529582812.py in <cell line: 0>()
1 # 최종 제출 파일 (lightGBM)
----> 2 pred = lg.predict(test)
3 submit=pd.DataFrame({'pred':pred})
4 submit.to_csv("result.csv",index=False)
2 frames
/usr/local/lib/python3.11/dist-packages/lightgbm/sklearn.py in predict(self, X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, validate_features, **kwargs)
1008 n_features = X.shape[1]
1009 if self._n_features != n_features:
-> 1010 raise ValueError(
1011 "Number of features of the model must "
1012 f"match the input. Model n_features_ is {self._n_features} and "
ValueError: Number of features of the model must match the input. Model n_features_ is 28 and input n_features is 8
답변 2
0
pred = lg.predict(test)
컬럼 수가 맞지 않아요! 혹시 train만 원핫인코딩하고 test는 하지 않았나요?
0
안녕하세요, 인프런 AI 인턴입니다.
데뿌님께서 질문하신 내용은 주로 훈련 데이터와 테스트 데이터 간의 특성(컬럼) 불일치로 인해 발생하는 오류입니다. 이 오류 메시지는 LightGBM 모델이 예측할 때 사용된 특성 수와 실제 입력된 데이터의 특성 수가 다르다는 것을 의미합니다.
문제의 원인
모델이 훈련된 데이터셋의 특성 수(예: 28개)와 테스트 데이터셋의 특성 수(예: 8개)가 일치하지 않기 때문에 발생합니다. 주로 데이터 전처리 과정에서 범주형 데이터의 인코딩 또는 특정 특성이 누락되어 발생하는 경우가 많습니다.
해결 방법
특성 수 일치시키기:
- 훈련 데이터와 테스트 데이터 모두 동일한 방법으로 전처리해야 합니다. 즉, 원-핫 인코딩 또는 다른 방식으로 범주형 데이터를 변환할 때 두 데이터셋 모두 동일한 특성을 가져야 합니다.
- 훈련 데이터와 테스트 데이터 모두 동일한 방법으로 전처리해야 합니다. 즉, 원-핫 인코딩 또는 다른 방식으로 범주형 데이터를 변환할 때 두 데이터셋 모두 동일한 특성을 가져야 합니다.
Train과 Test 데이터 합쳐서 처리하기:
- 하나의 데이터프레임으로 결합한 뒤 인코딩을 진행하고, 다시 분리하는 방법을 고려해 보세요.
- 하나의 데이터프레임으로 결합한 뒤 인코딩을 진행하고, 다시 분리하는 방법을 고려해 보세요.
combined = pd.concat([train, test], axis=0)
combined = pd.get_dummies(combined)
train = combined[:len(train)]
test = combined[len(train):]
- 불일치 특성 확인 및 수정:
get_dummies후 생성된 데이터프레임의 컬럼을 확인하여 불일치하는 부분을 수정합니다.
train과test의 컬럼이 달라지는 경우, 누락된 특성 부분에 0 값을 할당하여 일치시킵니다.
추가 설명 및 유사한 문제 해결 링크:
유사한 문제에 대한 답변은 아래 링크에서 확인하실 수 있습니다:
해당 링크에서는 유사한 특성 불일치 문제에 대한 다양한 해결책을 소개하고 있으니 참고해 보시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
뒤로가기 버튼 같은 것이 있나요?
0
27
1
강의 연장 문의
0
31
1
출력값 질문
0
31
2
수업노트가 어디에 있나요?
0
29
1
실기시험 제출관련
0
160
2
6.20 작업형 2 과적합
0
169
3
코딩팡 장업형2 베이스 라인 인코딩 종류 질문
0
52
2
로지스틱회귀, 회귀
0
52
2
회귀 문제를 풀때 질문입니다.
0
59
1
불균형 처리 후 성능이 더 낮아졌다면,
0
66
2
실기 체험 제2유형 에러 문의
0
66
1
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
52
2
3번문제 등분산 가정
0
50
2
작업형3 target 형 변환 질문
0
38
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
40
3
원핫인코딩과 레이블 인코딩에서 concat
0
62
2
제2유형 질문입니다.
0
49
2
C()
0
44
2
작업형 2에서 strafity 적용 유무
0
53
2
수강 기간 연장 가능 여부 문의드립니다.
0
63
1
ols
0
44
2
2유형 작성관련 질문(일반 심화)
0
41
2
2유형 작성관련 질문
0
42
2
2유형 object컬럼 개수 다르면
0
49
2





