인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

미미밍님의 프로필 이미지
미미밍

작성한 질문수

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

캐글 T2-5. Insurance Forecast (Regression) 질문

해결된 질문

작성

·

93

·

수정됨

0

y= y_train['charges']
# X_train.info() object : sex, smoker,region
# X_train.isnull().sum() --> 결측값 없음
X_train.head(2)

drop_col = ['id']
train_drop = X_train.drop(columns=drop_col)
test_drop = X_test.drop(columns=drop_col)

#원핫인코딩
X_train_dummies = pd.get_dummies(train_drop)
X_test_dummies = pd.get_dummies(test_drop)

#train_test_split
from sklearn.model_selection import train_test_split
x_tr,x_val,y_tr,y_val = train_test_split(X_train_dummies,y,test_size=0.33, random_state = 42)

#랜포
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(x_tr,y_tr)
pred = model.predict(x_val)

#평가
from sklearn.metrics import mean_squared_error,r2_score,mean_absolute_error
import numpy as np

print("rmse", np.sqrt(mean_squared_error(y_val,pred)))
print("r2_score",r2_score(y_val,pred))
print("mae", mean_absolute_error(y_val,pred))

#저장
answer = model.predict(X_test_dummies)
result = pd.DataFrame({'id': X_test.id, 'charges' : answer})
result.to_csv('00000.csv', index = False)

output = pd.read_csv("00000.csv")
print(output.head(2))

 

선생님 안녕하세요. 지금 코드 틀 외워서 하나하나 문제 풀어보고 있습니다.. 작년에 회귀문제에서 된통 당한 이후로 꼼꼼히 보고 있는데 아직 확신이 서지 않습니다 ㅠㅠ 혹시 여기서 코드 오류가 있을까요..?

더불어 T2-5의 경우 결측치도 없고, object도 별로 없어서 get_dummies로 해결했는데

T2-4처럼 결측치도 많은데다가 object도 많이 있으면 어떻게 해야할지도 잘 모르겠습니다..

답변 1

0

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

크게 문제는 없어 보입니다.

test_size=0.33 은 데이터 수가 작을 수 있어 0.2로 추천해요!

 

결측치가 아직 문제에서 출제된적은 없어요! 시험환경 특성상 많은 컬럼이 있는 데이터를 사용하지는 않을거에요~ 보기가 어려워요!

미미밍님의 프로필 이미지
미미밍

작성한 질문수

질문하기