rpart 예제

Posted by on kol. 2, 2019 in Nekategorizirano | 0 comments

트리를 성장하려면 # 임의 시드 를 설정하는 rpart(수식, 데이터=, method=, control=)를 사용합니다. 이 줄을 제거하지 마십시오. set.seed(1) # 홍채 데이터 세트 str(아이리스) 요약(iris) # 결정 트리 모델이 만들어졌습니다 <-rpart (종 ~ Sepal.Length + Sepal.Width + 꽃잎 길이 + 꽃잎.Width, 데이터 = 아이리스, 방법 = "클래스") # 보이지 않는 것을 포함하는 데이터 프레임 관찰 보이지 않는 <- data.frame (Sepal.Length = c (5.3, 7.2), Sepal.Width = c (2.9, 3.9), Petal.Length = c (1.7, 5.4), Petal.Width = c (0.8, 2.3)) – 보이지 않는 관측값의 레이블을 예측합니다. 결과를 출력합니다. 예측(트리, 보이지 않는, 유형 = "클래스") rpart가 트리를 성장하면 데이터에 대해 10배 교차 유효성 검사를 수행합니다. printcp()를 사용하여 교차 유효성 검사 결과를 확인합니다. 트리의 각 반복의 rel 오류는 루트에서 잘못 레이블이 지정된 요소의 분수에 비해 반복에서 레이블이 잘못 지정된 요소의 일부입니다. 이 예에서 교육 사례의 50%는 사기입니다. 첫 번째 분할 기준은 "청구인이 매우 활성화되어 있습니까?"이며, 데이터를 세 가지 사례로 구분하며, 모두 사기이며 그 중 2 건은 사기인 7 건 세트입니다. 이 시점에서 사례에 레이블을 지정하면 루트 노드 오류율의 40%인 20%의 오류 비율이 생성됩니다(즉, 60% 더 나은 값).

교차 유효성 검사 오류 율 및 표준 편차는 각각 xerror 및 xstd 열에 표시됩니다. 이제 트리에는 루트 노드, 하나의 분할 및 두 개의 나뭇잎(터미널 노드)이 있습니다. rpart가 부울 변수를 정수로 인코딩한 것을 관찰합니다(false = 0, true = 1). 우리는 딸랑이 패키지 (및 일부 도우미 패키지)를로드하고 fancyRpartPlot () 기능을 사용하여 mytree를 플롯 할 수 있습니다. 따라서 기본적으로 rpart는 11개의 분할, 12개의 터미널 노드 및 0.272의 교차 검증된 오류로 일부 자동 조정을 수행하고 있습니다(이 오류는 PRESS 통계와 동일하지만 MSE는 아님). 그러나 모델 성능을 향상시키기 위해 추가 조정을 수행할 수 있습니다. 기본값을 변경하려면 잘못 레이블이 지정된 대상 클래스의 동일한 페널티를 parms 매개변수의 손실 구성 요소를 (i,j) 요소가 i를 j로 잘못 분류하는 페널티인 행렬로 설정합니다(손실 행렬은 대각선에 0이 있어야 합니다). 예를 들어 다음 학습 데이터를 고려합니다.

분류 트리는 트리 함수와 유사한 구문을 사용하여 rpart 함수를 사용하여 장착할 수 있습니다.