해결된 질문
작성
·
33
0
train_target=train.pop('TotalCharges')
# 3. 분할
from sklearn.model_selection import train_test_split
tr_x, val_x, tr_y, val_y =train_test_split(train,train_target, test_size=0.2, random_state=0)
# 3. 분할
from sklearn.model_selection import train_test_split
tr_x, val_x, tr_y, val_y =train_test_split(train,train['TotalCharges'], test_size=0.2, random_state=0)
tr_x.head(), tr_y.head(), val_x.head(), val_y.head()
위 두가지 경우로 모델링 하여 MAE값을 산출했습니다.
아래꺼는
Linear Regression : 0.0000000000012394228
RandomForest Regressor : 1.9100924757282742306
XGB Regressor : 10.5623083675717790442
위에꺼는
Linear Regression : 914.6725879047844500747
RandomForest Regressor : 941.4584990860494144727
XGB Regressor : 1033.3863728784358499979
왜 이렇게 다른 결론이 나올까요?
해당 내용만 변경하고, 나머지 코드는 모두 동일한 상태에서 구동했습니다.
답변 1
0
from sklearn.model_selection import train_test_split
tr_x, val_x, tr_y, val_y =train_test_split(train,train['TotalCharges'], test_size=0.2, random_state=0)
tr_x.head(), tr_y.head(), val_x.head(), val_y.head()
이 코드는 train에 target이 포함되어 있어
정답을 알고 있는 상태입니다. 답을 알고 푸는데 거의 정답이겠죠?
이상태로 test를 예측하면 test에는 target컬럼이 없어 에러가 발생해요