해결된 질문
작성
·
44
0
체험환경 제2유형
랜포로 한번에 풀기 진행하고있는데요.
import pandas as pd
train = pd.read_csv("data/customer_train.csv")
test = pd.read_csv("data/customer_test.csv")
# 사용자 코딩
# print(train.info())
# print(test.info()) # 2482
target = train.pop('총구매액')
train = pd.get_dummies(train)
test = pd.get_dummies(test)
train, test = train.align(test, join='left', axis=1)
from sklearn.model_selection import train_test_split
x_tr, x_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0)
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state=0)
rf.fit(x_tr, y_tr)
pred = rf.predict(test)
rf.fit에서 계속 에러가 납니다.
시험볼때도 아래와 같이 계속 에러가 날 것 같은데 방법없을까요? ㅜ_ㅠ
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. wlysh999님.
랜덤 포레스트 모델을 학습시키는 과정에서 input에 NaN이 포함되어 있어 ValueError
가 발생하는 것으로 보입니다. 이 문제는 데이터를 모델에 입력하기 전에 결측치를 처리하면 해결할 수 있습니다. 다음은 해결 방안입니다:
train
과 test
데이터셋의 결측치를 사전에 처리해야 합니다. 주로 평균, 중앙값, 또는 특정 값으로 대체하거나, 열 제거를 고려할 수 있습니다. 예를 들어: train.fillna(0, inplace=True)
test.fillna(0, inplace=True)
데이터 정규화: NaN 외에도 너무 큰 값이 오류를 발생시킬 수 있으므로, 데이터의 값을 정규화하거나 범위를 조정하는 것이 좋습니다.
열 정렬: train
과 test
데이터셋의 열 구성이 일치하는지 확인하고, 일치하지 않는 경우 align
함수를 사용하여 열 구성을 맞추었습니다. 이 부분은 이미 잘 처리하신 것 같습니다.
기존 강의에서 관련된 문제 해결 방법을 다룬 유사한 게시물을 찾아 링크를 제공합니다:
- 예시문제 작업형2 test 데이터 예측시 발생하는 오류
- 예시문제 작업형 2유형 질문있습니다
각 게시물에서도 데이터 전처리 및 결측치 처리 방법에 대해 다루고 있으니 참고하시면 큰 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.