59doit
[ R ] 의사결정나무 조건부 추론나무 #3 예제 본문
반응형
조건부 추론나무
# 패키지
install.packages("rpart") library(rpart) install.packages("rpart.plot") library(rpart.plot) |
# sampling
data(iris) str(iris) set.seed(1000) sampnum <- sample(2, nrow(iris), replace=TRUE, prob=c(0.7,0.3)) sampnum |
# training & testing data 구분
trData <- iris[sampnum==1,] teData <- iris[sampnum == 2, ] shortvar <- Species~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width |
# 학습
citreeResult <- ctree(shortvar, data=trData) |
# 예측값과 실제값 비교
table(predict(citreeResult), trData$Species) # setosa versicolor virginica # setosa 36 0 0 # versicolor 0 35 4 # virginica 0 1 30 citreeResult2 <- ctree(shortvar, data=teData) |
# 테스트 데이터를 이용하여 분류
forcasted2 <- predict(citreeResult2, data=teData) |
# 예측결과와 실제값 비교
table(forcasted2, teData$Species) # forcasted2 setosa versicolor virginica # setosa 14 0 0 # versicolor 0 14 1 # virginica 0 0 15 |
# 시각화
plot(citreeResult2)![]() |
# 해석
종(Species) 판단 Petal.Length <= 1.9 : setosa로 판단 Petal.Length > 1.9 & Petal.Width <= 1.6 : versicolor로 판단 나머지: virginica 로 판단 |
반응형
'통계기반 데이터분석' 카테고리의 다른 글
[ R ] 앙상블 #1 - 배깅 & 부스팅 & 랜덤포레스트 (0) | 2022.11.30 |
---|---|
[ R ] 의사결정나무 #4 rpart패키지 이용 분류분석 (0) | 2022.11.29 |
[ R ] 의사결정나무 #2 (0) | 2022.11.29 |
[ R ] 의사결정나무 #1 (0) | 2022.11.29 |
[ R ] 시계열분석 #2 (0) | 2022.11.28 |
Comments