본문 바로가기

자격증/빅데이터 분석기사

의사결정나무 in R

 

 

주택중위가치를 예측하는 분석 전체 코드

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 성능평가

 

결측값 존재 : total_bedrooms

 

범주형 변수 : ocean_proximity

 

모델 예측 및 MSE 를 통한 모델 평가

 

 

  • 의사결정나무 회귀분석을 위해 사용하는 라이브러리 : library(party)
  • 의사결정나무 회귀분석을 위해 사용하는 함수 : ctree()
  • predict ( ) 함수를 이용한 모델 예측시 type="node" 지정
  • MSE 를 이용한 모델 성능 평가  : mean((x-predict(model))^2)

'자격증 > 빅데이터 분석기사' 카테고리의 다른 글

K-means in R  (0) 2022.11.26
랜덤포레스트 in R  (0) 2022.11.26
다중선형회귀분석 in R  (0) 2022.11.26
단순선형회귀분석 in R  (0) 2022.11.26
랜덤포레스트 in R  (0) 2022.11.26