더북(TheBook)

분류와 회귀 나무

여기서는 의사 결정 나무를 만드는 패키지 중 rpart[6]를 사용하도록 한다. rpart는 잘 알려진 분류와 회귀 나무CART, Classification and Regression Trees의 아이디어를 구현한 패키지다.

표 10-3 의사 결정 나무

rpart::rpart : 재귀적 분할 및 회귀 나무(Recursive Partitioning and Regression Trees)를 생성한다.

rpart::rpart(
  formula,  # 모델 포뮬러
  data,     # 포뮬러를 적용할 데이터
)

반환 값은 rpart 객체다.

rpart::predict.rpart : rpart를 사용한 예측을 수행한다.

rpart::predict.rpart(
  object,   # rpart 객체
  newdata,  # 예측을 수행할 데이터
  # 예측 결과 유형. prob(각 분류에 대한 확률), class(예측된 분류) 정도가 유용하다.
  type=c("vector", "prob", "class", "matrix")
)

반환 값은 예측 결과다.

rpart::plot.rpart : rpart를 그래프로 그린다.

rpart::plot.rpart(
  x,  # rpart 객체
  # 노드 간격. uniform TRUE면 노드 간의 간격이 일정하게 그려지며,
  # FALSE면 노드마다 에러에 비례한 간격이 주어진다.
  uniform=FALSE,
  # 가지 모양을 정하는 숫자로 0~1 값. 1은 사각형, 0 V자 모양이다.
  branch=1,
  compress=FALSE,  # TRUE면 나무를 좀 더 빽빽하게 그린다.
  nspace,          # 노드와 자식 노드 간의 간격
  margin=1,        # 의사 결정 나무를 그렸을 때 그림의 주변부에 위치한 잎사귀 노드에 추가로 부여할 여백

rpart.plot::prp : rpart를 그래프로 그린다(plot.rpart보다 나은 그래프를 그린다).

rpart.plot::prp(
  x,        # rpart 객체
  type=0,   # 그림의 유형
  extra=0,  # 노드에 표시할 추가 정보의 유형
  digits=2  # 표시할 숫자의 유효 자리
)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.