
Projection pursuit classification tree
PPTreeclass_MOD.Rd
Construct the projection pursuit classification tree extensions Find tree structure using various projection pursuit indices of classification in each split.
Usage
PPTreeclass_MOD(formula,data, PPmethod = "LDA",weight = TRUE,
r = 1,lambda = 0.1, energy = 0,maxiter = 50000, strule = 1,tot,...)
Arguments
- formula
an object of class "formula"
- data
data frame
- PPmethod
method for projection pursuit; "LDA", "PDA"
- weight
weight flag in LDA, PDA and Lr index
- r
r in Lr index
- lambda
lambda in PDA index
- energy
parameter for the probability to take new projection
- maxiter
maximum iteration number
- strule
select the stoping rule, 1 all observations in the node belongs to the same class based, 2 node size is less than 5 3 the entropy reduction is samaller than a treshold.
- tot
total obs original class
- ...
arguments to be passed to methods
Value
Tree.Struct tree structure of projection pursuit classification tree
projbest.node 1 dimensional optimal projections of each node split
splitCutoff.node cutoff values of each node split
origclass original class
origdata original data
References
Lee, YD, Cook, D., Park JW, and Lee, EK(2013) PPtree: Projection Pursuit Classification Tree, Electronic Journal of Statistics, 7:1369-1386.
Examples
data(iris)
Tree.result <- PPTreeclass_MOD(Species~.,data = iris,"LDA")
Tree.result
#> =============================================================
#> Projection Pursuit Classification Tree result
#> =============================================================
#>
#> 1) root
#> 2) proj1*X < cut1
#> 4)* proj2*X < cut2 -> "setosa"
#> 5) proj2*X >= cut2
#> 6)* proj3*X < cut3 -> "setosa"
#> 7) proj3*X >= cut3
#> 8)* proj4*X < cut4 -> "setosa"
#> 9) proj4*X >= cut4
#> 10)* proj5*X < cut5 -> "setosa"
#> 11) proj5*X >= cut5
#> 12)* proj6*X < cut6 -> "setosa"
#> 13) proj6*X >= cut6
#> 14)* proj7*X < cut7 -> "setosa"
#> 15) proj7*X >= cut7
#> 16) proj8*X < cut8
#> 18) proj9*X < cut9
#> 20)* proj10*X < cut10 -> "versicolor"
#> 21) proj10*X >= cut10
#> 22) proj11*X < cut11
#> 24) proj12*X < cut12
#> 26)* proj13*X < cut13 -> "versicolor"
#> 27) proj13*X >= cut13
#> 28) proj14*X < cut14
#> 30)* proj15*X < cut15 -> "versicolor"
#> 31) proj15*X >= cut15
#> 32) proj16*X < cut16
#> 34)* proj17*X < cut17 -> "versicolor"
#> 35) proj17*X >= cut17
#> 36) proj18*X < cut18
#> 38)* proj19*X < cut19 -> "versicolor"
#> 39) proj19*X >= cut19
#> 40)* proj20*X < cut20 -> "versicolor"
#> 41) proj20*X >= cut20
#> 42) proj21*X < cut21
#> 44)* proj22*X < cut22 -> "versicolor"
#> 45)* proj22*X >= cut22 -> "virginica"
#> 43)* proj21*X >= cut21 -> "virginica"
#> 37)* proj18*X >= cut18 -> "versicolor"
#> 33)* proj16*X >= cut16 -> "versicolor"
#> 29)* proj14*X >= cut14 -> "versicolor"
#> 25)* proj12*X >= cut12 -> "versicolor"
#> 23)* proj11*X >= cut11 -> "versicolor"
#> 19)* proj9*X >= cut9 -> "versicolor"
#> 17)* proj8*X >= cut8 -> "versicolor"
#> 3)* proj1*X >= cut1 -> "setosa"
#>
#> Error rates of various cutoff values
#> -------------------------------------------------------------
#> [1] NA