해결된 질문
작성
·
276
·
수정됨
0
# 데이터 불러오기
import pandas as pd
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
target = train.pop('price')
from sklearn.preprocessing import LabelEncoder
cols = train.select_dtypes(include='object').columns
le = LabelEncoder()
for col in cols :
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state = 0)
rf.fit(train, target)
pred = rf.predict(test)
submit = pd.DataFrame({'pred': pred}).to_csv('950326.csv', index=False)
from sklearn.metrics import mean_squared_error
def rmse(y_true, y_pred):
return mean_squared_error(y_true, y_pred)**0.5
print(pd.read_csv('950326.csv'))
y = pd.read_csv("y.csv")
print(rmse(y, pred))
안녕하세요, 5회 기출유형 풀면서 코드 질문 드립니다.
제가 나름 최소한 이 정도는 작성해서 제출해야겠다 마음먹으면서 작성한 코드입니다.
작성해주신 rmse 함수에 넣어보니까
1418.5216392812827
라는 수치가 나와서 train_test_spilt은 하지 않아도 될 것 같은데, 괜찮을까요?
물론 남은기간 공부하면서 익숙해지면 train_test_split도 진행할까 생각중이긴 합니다 ㅠ
답변 1
0
정확한 학습방법입니다. 제출이 우선입니다. train_test_split은 그 후에 옵션이에요!
그런데 1418.5216392812827 이 나왔다는 지금은 알수 있지만 시험에선 검증데이터셋이 없으면 알수가 없네요~~!! 아직 시간이 남았으니 train_test_split를 도전해 보시죠!!