선생님~ 답변부탁드립니다 ㅠ저는 원핫인코딩으로 했더니 평가가 850대로 나오는데요
100
작성한 질문수 63
그리고 저는 원핫인코딩으로 했는데 mse가 850점대로 나오네요.. 이러면 안되는거지요?
import pandas as pd
train=pd.read_csv("churn_train.csv")
test=pd.read_csv("churn_test.csv")
#데이터전처리
train=train.drop('customerID',axis=1)
test=test.drop('customerID',axis=1)
#타겟값 설정
target=train.pop("TotalCharges")
#원핫인코딩
train=pd.get_dummies(train)
test=pd.get_dummies(test)
test.head(5)
#데이터분할하기
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=100)
#랜포 불러와서 모델링하기
from sklearn.ensemble import RandomForestRegressor
model=RandomForestRegressor(n_estimators=500,max_depth=5,random_state=2022)
model.fit(X_tr, y_tr)
pred = model.predict(X_val)
#성능평가MAE(Mean Absolute Error)
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_val,pred)
pred = model.predict(test)
result=pd.DataFrame({"pred" : pred})
result.to_csv("111.csv",index=False)
답변 2
0
문제 없는데
하이퍼파라미터 튜닝값 빼는 것이 좋을 것 같습니다
다른 질문에도 답변 드렸지만 튜닝값 설정하지 마시죠!
회귀에서 이렇게 max_depth가 낮은 경우는 드물거든요. 잘못 설정하고 계시는 것 같아서 안하는 것이 좋을 것 같습니다.
n_estimators=500,max_depth=5
0
아마 분류에서는 그렇게 했어도 회귀 모델에서는 더 높은 숫자가 경험상 나왔거든요!
그래서 튜닝값을 찾는게 아니라 따라만 하는거라면 설정하지 않는 것을 정말로 추천해요! 잘못하면 10-20점이 날아갈 수 있어요
0
안녕하세요, 인프런 AI 인턴입니다.
이선희님이 제공한 코드를 보면, 원핫 인코딩으로 인해 train과 test 데이터 간의 컬럼 불일치 문제가 발생할 수 있습니다. 이러한 문제는 모델이 예측하는 과정에서 특성의 수와 순서가 맞지 않아 오류를 일으킬 수 있습니다. 따라서, 해결을 위한 몇 가지 방법을 소개해드리겠습니다.
주요 해결방법
- 원핫 인코딩 전 데이터 병합하기:
train과test데이터를 병합한 후 원핫 인코딩을 하고 다시 분리합니다. 이렇게 하면 중간에 누락되거나 추가된 컬럼 이슈를 해결할 수 있습니다.
# 데이터 결합
combined = pd.concat([train, test], axis=0, sort=False)
# 원핫 인코딩
combined = pd.get_dummies(combined)
# 데이터 분할
train = combined[:len(train)]
test = combined[len(train):]
- 데이터 일관성 유지:
- 예측한 컬럼이
fit을 하는 데이터셋과 동일한지 항상 확인하세요. 훈련과 테스트가 같은 형태라면 모델은 일관되게 동작합니다.
- 예측한 컬럼이
원핫 인코딩과 모델의 성능
다음으로 mse가 850점대가 나온 문제에 대해서 설명드리면, 이는 데이터 전처리와 모델 최적화에 의해 발생할 수 있습니다. 어떤 요소가 문제인지 확인하기 위해 다음을 고려해보세요:
모델 하이퍼파라미터 튜닝:
RandomForestRegressor의n_estimators,max_depth등을 튜닝해 보세요.
데이터셋 결측치 처리 여부:
- 모든 결측값이 잘 처리되었는지 확인하세요. 결측치는 모델 성능에 큰 영향을 미칠 수 있습니다.
- 모든 결측값이 잘 처리되었는지 확인하세요. 결측치는 모델 성능에 큰 영향을 미칠 수 있습니다.
평가 기준 검토:
- 평가 기준으로 MSE가 아닌 MAE를 사용하셨다면 정밀 추산이 힘들 수 있습니다. 두 평가는 서로 다른 특성을 가지므로 적절히 활용하세요.
- 평가 기준으로 MSE가 아닌 MAE를 사용하셨다면 정밀 추산이 힘들 수 있습니다. 두 평가는 서로 다른 특성을 가지므로 적절히 활용하세요.
이 문제와 유사한 다른 질문과 답변 자료를 보시면 도움이 될 수 있습니다:
- 모델 평가 후 result 데이터 생성 시 오류
- 예시문제 작업형2 test 데이터 예측시 발생하는 오류
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
1유형 강의 다 나간 후 어떻게 할까요?
0
14
1
점수차가 많이 나는데 따로 하신게 있으신가요?
0
10
1
작업형1 모의문제 4번에 3)문제 질문
0
21
2
이상치 전처리 작업
0
25
2
평가결과값 문의
0
29
2
시계열 데이터 날짜와 시간 format
0
35
2
평가지표 F1 스코어 질문드립니다.
0
27
2
작업형 2 기출7회분에서
0
38
2
작업형2 모의문제1 (30강)
0
34
2
수강 기간 연장 문의 드립니다.
0
42
2
수강 계획과 관련해 문의 드립니다.
0
30
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
50
2
작업형 1 -연습문제 4-6
0
38
2
작업형 1 유형 부분
0
42
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
38
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
37
3
수강기간 연장 문의드립니다.
0
44
2
인덱스 슬라이싱
0
37
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
62
2
수강기간 연장 문의드립니다
0
48
2





