하지만, 여기에 오류가 일반적으로 의미있는 작업은 다음과 같습니다 : 다음 코드를 사용해보십시오
rpart는 의사 결정 트리를 구축하는 제약을 사용합니다. 기본값은 다음과 같습니다. the docs :
rpart.control(minsplit = 20, minbucket = round(minsplit/3), cp = 0.01,
maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, xval = 10,
surrogatestyle = 0, maxdepth = 30, ...)
이러한 제한 사항을 줄여야합니다. @JeanVAdams 말했듯이, 최소한의 시작 :
rpart(formula=fm.pipe, data=Data,
control=rpart.control(minsplit=1, minbucket=1, cp=0.001))
첫 번째됩니다 아마 당신은 당신이 괜찮은 크기의 트리를 얻을 때까지 천천히이 구속을 구축해야 할 것이다, 그래서 너무 많은 노드가 있습니다. 당신이 아직도 혼동하는 경우
, 여기
예입니다 :
하는의 당신이 식료품 점 데이터를 찾고 있다고 가정 해 봅시다, 그리고 당신이 가게에서 가장 인기있는 시간의 나무를보고 싶어요. 24 시간 밖에 안 남았지? 따라서 독립 변수에는 24 가지 가능성 밖에 없습니다. Rpart에는 다음과 같은 조건이 있습니다.
"노드를 분할하려면 노드에 적어도 20 가지가 있어야합니다."
이것은 노드가 한 번만 분할 될 수도 있음을 의미합니다. 150 억 개의 행이 있더라도 24 개의 가능한 행을 분할 할 수 있습니다. 이것은 아마도 이것보다 더 복잡하지만 시작하기에 좋은 곳입니다.
rpart(formula=fm.pipe, data=Data, control=rpart.control(minsplit=1, minbucket=1, cp=0.001))
:
실제로이 정확한 문제를 찾고 있었어요 (시간에 의해 구매자), 나는 모든 나무를 얻기 위해 가능한 가장 낮은 수준에서 내 제약을 떠나야했습니다