선생님~ 답변부탁드립니다 ㅠ저는 원핫인코딩으로 했더니 평가가 850대로 나오는데요
112
작성한 질문수 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 데이터 예측시 발생하는 오류
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강의 업데이트
0
6
1
수강 연장 문의드립니다.
0
35
2
강의 연장 문의
0
40
2
수강 신청 연장 문의드립니다.
0
49
2
작업형 1번문제... 환경관련
0
34
2
12회 기출은 언제 업데이트 될까요??
0
45
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
42
2
수강기간 연장 문의
0
44
2
수강기간 연장문의
0
39
2
수강기간 연장 요청 문의드립니다
0
39
2
수강 기간 연장 문의
0
47
2
수강연장 가능 문의 (기간 약 한달반)
0
60
2
수강기간 연장 가능할까요 선생님
0
76
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
56
3
수강연장요청 문의
0
95
2
아무래도 다음 시험 연장은 어렵겠죠?
0
113
2
빅분기 12회 결과 관련 문의
0
117
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
84
2
수강연장 문의
0
108
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
109
2
12회 실기 질문(작업형 2)
0
95
2
뒤로가기 버튼 같은 것이 있나요?
0
68
1
강의 연장 문의
0
101
2
출력값 질문
0
76
2





