해결된 질문
작성
·
77
0
선생님 안녕하세요. 작업형2 모의고사 2번 관련하여 질문드립니다.
train_test_split까지 잘 넘어온 다음에
sklearn.ensemble 작성하려고 다시 코드 실행하니, 자꾸 같은 부분에서 해당 이미지처럼 에러가 나는데요. 선생님이 작성하신 답안 그대로 ctrl c / v 했는데도 같은 에러가 뜨는데, 어떤 것 때문일까요?
import pandas as pd
test = pd.read_csv("test.csv")
train = pd.read_csv("train.csv")
print(train.shape,test.shape)
#결측값 찾기
# train.isnull().sum() 'name', 'host_name', 'last_review','reviews_per_month'
#object값 확인
# train.info() -> object 6개
#2 EDA처리
# train.info() last_review 빼고 전부다 object형임
print(train.shape)
train = train.drop(cols, axis=1)
test = test.drop(cols, axis = 1)
print(train.shape)
#reviews_per_month는 결측값 채워주기
train['reviews_per_month'] = train['reviews_per_month'].fillna(0)
test['reviews_per_month'] = test['reviews_per_month'].fillna(0)
# 결측치 없음
#id제거
train = train.drop('id', axis =1)
test_id = test.pop('id')
test.head(2)
#라벨인코딩
cols = train.select_dtypes(include = 'object').columns
from sklearn.preprocessing import LabelEncoder
for col in cols:
le = LabelEncoder()
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
#train_test_split
from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val = train_test_split(train.drop('price',axis=1), train['price'] , test_size = 0.3,random_state = 42)
## 전부 train에서 뽑는거임
# print(X_tr.shape,X_val.shape, y_tr.shape, y_val.shape)
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(X_tr,y_tr)
pred = model.predict(X_val)
test.head()
그리고 작업형2 회귀문제가 나온다면, 해당 이 부분은 외워야 하는 걸까요..? 필수적이면 닥암기하려고 합니다..
# 평가
import numpy as np
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
def rmse(y_test, y_pred): #RMSE
return np.sqrt(mean_squared_error(y_test, y_pred))
def rmsle(y_test, y_pred): #RMSLE
return np.sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred), 2)))
def mape(y_test, y_pred): #MAPE
return np.mean(np.abs((y_test - y_pred) / y_test)) * 100
답변 1
0
cols 이 무엇인지 빠져있어요
print(train.shape)
train = train.drop(cols, axis=1)
test = test.drop(cols, axis = 1)
print(train.shape)
제가 제공한 코드에는
cols = ['name', 'host_name', 'last_review', 'host_id'] 로 정의하고 있어요!
rmse는 필수로 외워주세요!
다른 평가지표도 암기하면 좋지만 시험에서 생각나지 않는다면
회귀일 때 알고 있는 rmse로 검증하시죠!! 각 평가지표마다 차이는 있지만 오차를 줄이려고 하는 목표는 동일합니다.
작업형2 채점은 csv로만 진행해요!
감사합니다 ㅠㅠ