해결된 질문
작성
·
84
0
5-2 type2의 문제를 수치형 데이터만 선택해서 랜덤포레스트로 학습시키고 MSE로 평가했습니다.
이렇게 코드를 작성해도 될까요?
MSE 값이 좀 큰 것 같은데 이 방법이 아닌 다른 방법으로 풀어야 하는 걸까요?
train['reviews_per_month'] = train['reviews_per_month'].fillna(0)
test['reviews_per_month'] = test['reviews_per_month'].fillna(0)
cols = ['id', 'host_id', 'latitude', 'longitude', 'minimum_nights', 'number_of_reviews', 'reviews_per_month', 'calculated_host_listings_count', 'availability_365']
test_id = test['id']
target = train.pop('price')
train = train[cols]
test = test[cols]
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=0)
import numpy as np
from sklearn.metrics import mean_squared_error
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor()
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)
print(mean_squared_error(y_val, pred))
#60931.44110148261
pred = rf.predict(test)
submit = pd.DataFrame({
'id' : test_id,
'price' : pred
})
submit.to_csv("submit.csv", index=False)
답변 1
0
전반적으로 잘 작성 된 것으로 확인됩니다.
성능은 데이터에 따라 달라지는 부분으로 판단하긴 어렵습니다.
넘파이를 불러오는 코드는 필요 없어보이네요!
import numpy as np
코드를 올리실 때 코드 블럭을 사용부탁드려요~ 보이지가 않아요 ㅠ