작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
218
·
수정됨
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(X_tr, y_tr)
pred=model.predict(X_val)
pd.DataFrame({'id':test_id, 'output':pred}).to_csv('00100.csv',index=False)
ValueError: array length 5868 does not match index length 9779
길이가 다른경우 어떻게 해결하여야 하나요? 강의 따라하는데 강의에서는 문제가 없는데 왜 그럴까요?
답변 1
0
자주하는 실수입니다.
이 때문에 0점처리되는 안타까운 일을 미리 경험해서 다행이라고 생각해주세요!
pred=model.predict(X_val)
pd.DataFrame({'id':test_id, 'output':pred}).to_csv('00100.csv',index=False)
코드를 자세히 보면 test가 아닌 X_val를 예측하고 제출하고 있어요!
아니요 잘못되었습니다.
제가 언급한 것은 검증 평가가 아니라 test데이터에 대한 예측입니다.
아래 코드에는 수정된 test데이터에 대한 예측은 없고, 자체 평가 코드만있습니다.
또한 자체 평가를 할때 예측도 잘못되었어요
pred=model.predict(X_tr)
는
pred=model.predict(X_val)로 수정되어야 해요!
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(X_tr, y_tr)
pred=model.predict(X_tr)
print('r2',r2_score(y_tr, pred))
print('mae',mean_absolute_error(y_tr, pred))
print('mse',mean_squared_error(y_tr, pred))
print('rmse',rmse(y_tr, pred))
print('rmsle',rmsle(y_tr, pred))
print('mape',mape(y_tr, pred))
이렇게 수정하면 되는거죠?