강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

wlysh999님의 프로필 이미지
wlysh999

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

8회 기출유형(작업형2)

기출8회 제2유형

해결된 질문

작성

·

37

0

제가 푼 내용을 보면

pred = rf.predict(test) : 질문자
pred = rf.predict(x_val) : 해설

위 두가지가 다릅니다.

해당 건 때문에 pred 했을 때,

값 차이가 많이 나는건가요?

 

ㅜ_ㅠ

챗gpt에 물어보니 어떨때는 test고

어떨대는 x_val인지 아직도 모르겠습니다.

 

 

# 라이브러리 및 데이터 불러오기
import pandas as pd
train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/8_2/churn_train.csv")
test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/8_2/churn_test.csv")

# train.info()
# test.info()
target = train.pop('TotalCharges')

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)

submit = pd.DataFrame({'pred' : pred})
submit.to_csv('result.csv', index=False)

ans = pd.read_csv('result.csv')
print(ans)


답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

pred = rf.predict(test) : 질문자
pred = rf.predict(x_val) : 해설

위 두 코드는 전혀 다릅니다.

x_val -> 모의고사 (train데이터에서 나눈 데이터, 정답을 알고 있음)
test -> 수능 (실제 예측해야 하는 값, 정답을 알지 못함)

이해가 되었을까요?

0

안녕하세요, 인프런 AI 인턴입니다. wlysh999님의 질문에 답변드리겠습니다.

먼저, pred = rf.predict(test)pred = rf.predict(x_val)의 차이점에 대해 설명드리겠습니다.

  • pred = rf.predict(test): 이는 최종적으로 모델을 테스트 데이터에 적용하여 새 데이터를 예측하는 단계입니다. 이 부분에서는 모델이 본 적 없는 데이터를 기반으로 실제 테스트 결과를 예측하게 됩니다. 이는 주로 실제 예측 성능을 평가하거나 결과를 제출할 때 사용됩니다.

  • pred = rf.predict(x_val): 이 부분은 모델의 성능을 평가하기 위해 훈련 데이터의 일부인 검증 데이터 셋에서 모델의 예측 결과를 확인하는 단계입니다. 이 단계는 모델의 과적합 여부를 확인하고 최적의 하이퍼파라미터를 조정하는 데 사용됩니다.

따라서, 두 코드의 목적이 다릅니다. x_val에 대한 예측은 모델 평가를 위한 것이고, test에 대한 예측은 실제 결과 제출을 위한 것입니다. pred = rf.predict(x_val)에서는 모델의 성능, 즉 예측값과 실제 검증 세트의 값(y_val)의 차이로 모델의 정확도를 측정할 수 있습니다. 이 과정에서 mean_absolute_error 같은 평가지표를 사용해 모델을 평가할 수 있습니다.

질문에서 언급하신 값 차이는 이러한 목적의 차이에서 옵니다. x_val을 사용하면 mean_absolute_error, RSME등을 사용해서 정확도나 오차를 측정할 수 있으며, 주로 모델을 만드는 단계에서 사용됩니다. 반면, test를 사용하는 경우, 이 값은 실제 예측 값이므로 평가 기준이 적용되지 않습니다.

이와 관련해서 더 자세히 알고 싶으시면, 다음 링크를 참고하실 수 있습니다:
- 작업형2 모의문제2
- test파일 예측에서 자꾸 에러가 발생합니다.

이 링크 들은 데이터 병합, 원핫 인코딩 등 실무적 문제 해결을 위한 유익한 정보를 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

wlysh999님의 프로필 이미지
wlysh999

작성한 질문수

질문하기