library(dplyr)
library(ggplot2)
# install.packages("party")
library(party) # 의사결정나무가 회귀에 사용될 때 library(party)
df <- read.csv("https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.csv",stringsAsFactors=TRUE)
summary(df)
str(df) # ocean_proximity 는 숫자형이 아니기 때문에 행변환을 하거나 분석에서 제외한다.
# 데이터 전처리
df <- df %>% filter(!(is.na(total_bedrooms))) # 결측 데이터 제거
df <- df %>% select(-ocean_proximity) # 범주형 데이터 제거
# 변수들 간의 상관관계 분석
cor(df, method="pearson")
# 모델 적합
model <- ctree(median_house_value ~., data=df) # 의사결정나무가 회귀에 사용될 때 함수 : ctree()
summary(model) # summary 함수로 모델의 요약정보 보기
# 모델 성능평가 - MSE
predict(model,data=df[10,],type="node") # type="node" 로 지정
mean((df$median_house_value - predict(model))^2) # MSE 성능평가