강의

멘토링

로드맵

Inflearn brand logo image

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

고동협님의 프로필 이미지
고동협

작성한 질문수

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

작업형2 모의문제2

코드 오류

해결된 질문

작성

·

47

·

수정됨

0

import pandas as pd

# train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/train.csv")
# test =  pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/test.csv")
train = pd.read_csv("train.csv")
test =  pd.read_csv("test.csv")
# print(train.shape, test.shape) # (39116, 16) (9779, 15)

# 1. 문제 정의
# 회귀 문제, target = price
# 평가: R-Squared, MAE, MSE, RMSE, RMSLE, MAPE

# 2. 데이터 불러오기

# 3. 탐색적 데이터 분석
# train.info() # dtypes: float64(3), int64(7), object(6)
# test.info() # dtypes: float64(3), int64(6), object(6)
# train.describe(include='O') # unique: 38447
# test.describe(include='O') # unique: 9718

# train.nunique()
# test.nunique()

# train.isnull().sum() # last_review, reviews_per_month 결측치
# test.isnull().sum() # name, host_name, last_review, reviews_per_month

# 4. 데이터 전처리(인코딩)
# 4-1. 결측치 처리(결측치 컬럼 삭제)
cols = ['name', 'id', 'host_name', 'last_review', 'reviews_per_month']
train = train.drop(cols, axis= 1)
test = test.drop(cols, axis = 1)

# 4-2. 인코딩(원핫인코딩 사용)
train = pd.get_dummies(train)
test = pd.get_dummies(test)

# 5. 검증 데이터 나누기
from sklearn.model_selection import train_test_split
target = train.pop('price')
X_tr, X_val, y_tr, y_val = train_test_split(
        train, target, test_size=0.15, random_state=0
)


# 6. 모델 학습 및 평가
# from sklearn.ensemble import RandomForestRegressor
# rf = RandomForestRegressor(random_state=0)
# rf.fit(X_tr, y_tr)
# pred = rf.predict(X_val)

from sklearn.linear_model import LinearRegression
lr = LinearRegression
lr.fit(X_tr, y_tr)

# 평가: R-Squared, MAE, MSE, RMSE, RMSLE, MAPE
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
r2_score = r2_score(y_val, pred)
mae = mean_absolute_error(y_val, pred)
mse = mean_squared_error(y_val, pred)
rmse = rmse(y_val, pred)
rmsle = rmsle(y_val, pred)
mape = mape(y_val, pred)

# 7. 제출
pred = rf.predict(test)
pd.DataFrame({'id':test_id, 'price': pred}).to_csv('00000.csv',index=False)

안녕하세요

혼자 풀이를 해보다가 모델 학습 단계에서 계속 오류가 나고 1분이 넘어가서 이유를 모르겠습니다..

오류가 나는 이유와 전체적인 코드(저렇게 제출을 해도 시험에 문제가 없는지 ..) 한 번 봐주시면 감사하겠습니다...

image.png

 

답변 1

0

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

오류나는 이유는 lr = LinearRegression() 에 소괄호를 붙이지 않았어요

 

고동협님의 프로필 이미지
고동협

작성한 질문수

질문하기