Skip to contents

Predict class for the test set and calculate prediction error after finding the PPtree structure, .

Usage

PPclassify( Tree.result, test.data = NULL, Rule = 1, true.class = NULL)

Arguments

Tree.result

the result of PP.Tree

test.data

the test dataset

Rule

split rule 1:mean of two group means, 2:weighted mean, 3: mean of max(left group) and min(right group), 4: weighted mean of max(left group) and min(right group)

true.class

true class of test dataset if available

Value

predict.class predicted class

predict.error prediction error

References

Lee, YD, Cook, D., Park JW, and Lee, EK(2013) PPtree: Projection pursuit classification tree, Electronic Journal of Statistics, 7:1369-1386.

Examples

#crab data set
set.seed(143)
idx <-sample(1:200, 150)
Tree.crab <- PPtree_split('Type~.', data = crab[idx,], PPmethod = 'LDA', size.p = 1)
Tree.crab
#> $Tree.Struct
#>      id L.node.ID R.F.node.ID Coef.ID     Index
#> [1,]  1         2           3       1 0.8795096
#> [2,]  2         4           5       2 0.7606543
#> [3,]  3         6           7       3 0.8381403
#> [4,]  4         0           2       0 0.0000000
#> [5,]  5         0           1       0 0.0000000
#> [6,]  6         0           4       0 0.0000000
#> [7,]  7         0           3       0 0.0000000
#> 
#> $projbest.node
#>           [,1]       [,2]       [,3]       [,4]       [,5]
#> [1,] 0.6221931 0.04545035  0.1615019 -0.5949674  0.4803551
#> [2,] 0.4234606 0.80544215 -0.3837714 -0.1149470  0.1070084
#> [3,] 0.0780935 0.80140034 -0.4893062  0.2586300 -0.2129528
#> 
#> $splitCutoff.node
#>       Rule1     Rule2    Rule3     Rule4    Rule5     Rule6    Rule7     Rule8
#> 1 0.5431429 0.5838904 0.409899 0.3899181 0.536802 0.5756544 0.344993 0.3263904
#> 2 1.3486145 1.3091564 1.421485 1.4410025 1.373320 1.3358879 1.462184 1.4805776
#> 3 2.0242023 1.9959521 1.875268 1.8891210 2.075108 2.0469258 2.026585 2.0406553
#> 
#> $origclass
#>          120            6          180          168          129          140 
#>   OrangeMale     BlueMale OrangeFemale OrangeFemale   OrangeMale   OrangeMale 
#>          150           65          136          105          146          171 
#>   OrangeMale   BlueFemale   OrangeMale   OrangeMale   OrangeMale OrangeFemale 
#>          172           38           51          200           84          181 
#> OrangeFemale     BlueMale   BlueFemale OrangeFemale   BlueFemale OrangeFemale 
#>           18          167          107          165           79           21 
#>     BlueMale OrangeFemale   OrangeMale OrangeFemale   BlueFemale     BlueMale 
#>           71           43           55           39          137          141 
#>   BlueFemale     BlueMale   BlueFemale     BlueMale   OrangeMale   OrangeMale 
#>          176           81          174           46           25          138 
#> OrangeFemale   BlueFemale OrangeFemale     BlueMale     BlueMale   OrangeMale 
#>           83           99          173          186          198           14 
#>   BlueFemale   BlueFemale OrangeFemale OrangeFemale OrangeFemale     BlueMale 
#>           37           90          189           44           70           11 
#>     BlueMale   BlueFemale OrangeFemale     BlueMale   BlueFemale     BlueMale 
#>          151           87           69          190          159            4 
#> OrangeFemale   BlueFemale   BlueFemale OrangeFemale OrangeFemale     BlueMale 
#>          109          104           82          122          118          121 
#>   OrangeMale   OrangeMale   BlueFemale   OrangeMale   OrangeMale   OrangeMale 
#>           86           12          161           34          132           91 
#>   BlueFemale     BlueMale OrangeFemale     BlueMale   OrangeMale   BlueFemale 
#>          114           49           26          170            8           42 
#>   OrangeMale     BlueMale     BlueMale OrangeFemale     BlueMale     BlueMale 
#>           64          179          160          100           48          187 
#>   BlueFemale OrangeFemale OrangeFemale   BlueFemale     BlueMale OrangeFemale 
#>           94          156          197           89           93            3 
#>   BlueFemale OrangeFemale OrangeFemale   BlueFemale   BlueFemale     BlueMale 
#>          155           63          178          177          185           47 
#> OrangeFemale   BlueFemale OrangeFemale OrangeFemale OrangeFemale     BlueMale 
#>            1          182           97          112          123          119 
#>     BlueMale OrangeFemale   BlueFemale   OrangeMale   OrangeMale   OrangeMale 
#>           72          154           30          133          128          192 
#>   BlueFemale OrangeFemale     BlueMale   OrangeMale   OrangeMale OrangeFemale 
#>           13           23          164           96          194           17 
#>     BlueMale     BlueMale OrangeFemale   BlueFemale OrangeFemale     BlueMale 
#>           27           62           35          117           59           53 
#>     BlueMale   BlueFemale     BlueMale   OrangeMale   BlueFemale   BlueFemale 
#>          103          124          135           19          113           52 
#>   OrangeMale   OrangeMale   OrangeMale     BlueMale   OrangeMale   BlueFemale 
#>           85            9           31           41           78           88 
#>   BlueFemale     BlueMale     BlueMale     BlueMale   BlueFemale   BlueFemale 
#>           75           74          144          110           57           33 
#>   BlueFemale   BlueFemale   OrangeMale   OrangeMale   BlueFemale     BlueMale 
#>           50           60          152          193          158           73 
#>     BlueMale   BlueFemale OrangeFemale OrangeFemale OrangeFemale   BlueFemale 
#>            5          169          139           56          143          148 
#>     BlueMale OrangeFemale   OrangeMale   BlueFemale   OrangeMale   OrangeMale 
#>          131          149           67           80           66           32 
#>   OrangeMale   OrangeMale   BlueFemale   BlueFemale   BlueFemale     BlueMale 
#> Levels: BlueFemale BlueMale OrangeFemale OrangeMale
#> 
#> $origclass_num
#>   [1] 4 2 3 3 4 4 4 1 4 4 4 3 3 2 1 3 1 3 2 3 4 3 1 2 1 2 1 2 4 4 3 1 3 2 2 4 1
#>  [38] 1 3 3 3 2 2 1 3 2 1 2 3 1 1 3 3 2 4 4 1 4 4 4 1 2 3 2 4 1 4 2 2 3 2 2 1 3
#>  [75] 3 1 2 3 1 3 3 1 1 2 3 1 3 3 3 2 2 3 1 4 4 4 1 3 2 4 4 3 2 2 3 1 3 2 2 1 2
#> [112] 4 1 1 4 4 4 2 4 1 1 2 2 2 1 1 1 1 4 4 1 2 2 1 3 3 3 1 2 3 4 1 4 4 4 4 1 1
#> [149] 1 2
#> 
#> $origdata
#>       FL   RW   CL   CW   BD
#> 120 15.1 11.4 30.2 33.3 14.0
#> 6   10.8  9.0 23.0 26.5  9.8
#> 180 18.5 14.6 37.0 42.0 16.6
#> 168 16.2 14.0 31.6 35.6 13.7
#> 129 17.5 12.7 34.6 38.4 16.1
#> 140 19.4 14.4 39.8 44.3 17.9
#> 150 23.1 15.7 47.6 52.8 21.6
#> 65  11.6 11.4 23.7 27.7 10.0
#> 136 18.6 13.5 36.9 40.2 17.0
#> 105 12.5  9.4 23.2 26.0 10.8
#> 146 21.6 14.8 43.4 48.2 20.1
#> 171 17.5 14.3 34.5 39.6 15.6
#> 172 17.5 14.4 34.5 39.0 16.0
#> 38  17.1 12.6 36.4 42.0 15.1
#> 51   7.2  6.5 14.7 17.1  6.1
#> 200 23.1 20.2 46.2 52.5 21.1
#> 84  15.1 13.3 31.8 36.3 13.5
#> 181 18.6 14.5 34.7 39.4 15.0
#> 18  13.1 10.9 28.3 32.4 11.2
#> 167 16.1 13.7 31.4 36.1 13.9
#> 107 12.7 10.4 26.0 28.8 12.1
#> 165 15.7 13.6 31.0 34.8 13.8
#> 79  13.9 13.0 30.0 34.9 13.1
#> 21  14.3 11.6 31.3 35.5 12.7
#> 71  12.8 11.7 27.1 31.2 11.9
#> 43  18.0 13.7 39.2 44.4 16.2
#> 55   9.5  8.2 19.6 22.4  7.8
#> 39  17.1 12.7 36.7 41.9 15.6
#> 137 18.8 13.4 37.2 41.1 17.5
#> 141 20.1 13.7 40.6 44.5 18.0
#> 176 18.0 16.3 37.9 43.0 17.2
#> 81  14.9 13.2 30.1 35.6 12.0
#> 174 17.6 14.0 34.0 38.6 15.5
#> 46  19.3 13.8 40.9 46.5 16.8
#> 25  15.0 11.9 32.5 37.2 13.6
#> 138 18.8 13.8 39.2 43.3 17.9
#> 83  15.0 14.2 32.8 37.4 14.0
#> 99  17.5 16.7 38.6 44.5 17.0
#> 173 17.5 14.7 33.3 37.6 14.6
#> 186 19.7 16.7 39.9 43.6 18.2
#> 198 21.9 17.2 42.6 47.4 19.5
#> 14  12.8 10.2 27.2 31.8 10.9
#> 37  16.9 13.2 37.3 42.7 15.6
#> 90  15.5 13.8 33.4 38.7 14.7
#> 189 20.0 16.7 40.4 45.1 17.7
#> 44  18.8 15.8 42.1 49.0 17.8
#> 70  12.6 12.2 26.1 31.6 11.2
#> 11  12.2 10.8 27.3 31.6 10.9
#> 151 10.7  9.7 21.4 24.0  9.8
#> 87  15.2 14.3 33.9 38.5 14.7
#> 69  12.0 11.1 25.4 29.2 11.0
#> 190 20.1 17.2 39.8 44.1 18.6
#> 159 14.7 13.2 29.6 33.4 12.9
#> 4    9.6  7.9 20.1 23.1  8.2
#> 109 13.4 10.1 26.6 29.6 12.0
#> 104 11.4  9.0 22.7 24.8 10.1
#> 82  15.0 13.8 31.7 36.9 14.0
#> 122 15.4 11.1 30.2 33.6 13.5
#> 118 14.6 11.3 29.9 33.5 12.8
#> 121 15.1 11.5 30.9 34.0 13.9
#> 86  15.1 13.8 31.7 36.6 13.0
#> 12  12.3 11.0 26.8 31.5 11.4
#> 161 15.0 12.3 30.1 33.3 14.0
#> 34  16.4 13.0 35.7 41.8 15.2
#> 132 18.0 13.4 36.7 41.3 17.1
#> 91  15.6 13.9 32.8 37.9 13.4
#> 114 14.1 10.7 28.7 31.9 13.3
#> 49  19.8 14.3 42.4 48.9 18.3
#> 26  15.2 12.1 32.3 36.7 13.6
#> 170 17.1 14.5 33.1 37.2 14.6
#> 8   11.6  9.1 24.5 28.4 10.4
#> 42  17.9 14.1 39.7 44.6 16.8
#> 64  11.6 11.0 24.6 28.5 10.4
#> 179 18.4 15.7 36.5 41.6 16.4
#> 160 14.9 13.0 30.0 33.7 13.3
#> 100 19.2 16.5 40.9 47.9 18.1
#> 48  19.8 14.2 43.2 49.7 18.6
#> 187 19.9 16.6 39.4 43.9 17.9
#> 94  15.8 15.0 34.5 40.3 15.3
#> 156 14.0 11.9 27.0 31.4 12.6
#> 197 21.7 17.1 41.7 47.2 19.6
#> 89  15.4 13.3 32.4 37.6 13.8
#> 93  15.7 13.9 33.6 38.5 14.1
#> 3    9.2  7.8 19.0 22.4  7.7
#> 155 12.9 11.2 25.8 29.1 11.9
#> 63  11.5 11.0 24.7 29.2 10.1
#> 178 18.4 15.5 35.6 40.0 15.9
#> 177 18.3 15.7 35.1 40.5 16.1
#> 185 19.1 16.3 37.9 42.6 17.2
#> 47  19.7 15.3 41.9 48.5 17.8
#> 1    8.1  6.7 16.1 19.0  7.0
#> 182 18.8 15.2 35.8 40.5 16.6
#> 97  16.7 16.1 36.6 41.9 15.4
#> 112 14.1 10.4 28.9 31.8 13.5
#> 123 15.7 12.2 31.7 34.2 14.2
#> 119 14.7 11.1 29.0 32.1 13.1
#> 72  12.8 12.2 26.7 31.1 11.1
#> 154 12.6 11.5 25.0 28.1 11.5
#> 30  16.1 11.6 33.8 39.0 14.4
#> 133 18.2 13.7 38.8 42.7 17.2
#> 128 17.5 12.0 34.4 37.3 15.3
#> 192 20.5 17.5 40.0 45.5 19.2
#> 13  12.6 10.0 27.7 31.7 11.4
#> 23  15.0 10.9 31.4 36.4 13.2
#> 164 15.6 14.1 31.0 34.5 13.8
#> 96  16.4 14.0 34.2 39.8 15.2
#> 194 20.9 16.5 39.9 44.7 17.5
#> 17  13.1 10.6 28.2 32.3 11.0
#> 27  15.4 11.8 33.0 37.5 13.6
#> 62  11.2 10.0 22.8 26.9  9.4
#> 35  16.6 13.5 38.1 43.4 14.9
#> 117 14.2 11.3 29.2 32.2 13.5
#> 59  10.4  9.7 21.7 25.4  8.3
#> 53   9.1  8.1 18.5 21.6  7.7
#> 103 10.7  8.6 20.7 22.7  9.2
#> 124 16.2 11.8 32.3 35.3 14.7
#> 135 18.6 13.4 37.8 41.9 17.3
#> 19  13.3 11.1 27.8 32.3 11.3
#> 113 14.1 10.5 29.1 31.6 13.1
#> 52   9.0  8.5 19.3 22.7  7.7
#> 85  15.1 13.5 31.9 37.0 13.8
#> 9   11.8  9.6 24.2 27.8  9.7
#> 31  16.1 12.8 34.9 40.7 15.7
#> 41  17.7 13.6 38.7 44.5 16.0
#> 78  13.7 12.5 28.6 33.8 11.9
#> 88  15.3 14.2 32.6 38.3 13.8
#> 75  13.1 11.5 27.6 32.6 11.1
#> 74  13.0 11.4 27.3 31.8 11.3
#> 144 21.5 15.5 45.5 49.7 20.9
#> 110 13.7 11.0 27.5 30.5 12.2
#> 57  10.1  9.3 20.9 24.4  8.4
#> 33  16.3 12.7 35.6 40.9 14.9
#> 50  21.3 15.7 47.1 54.6 20.0
#> 60  10.8  9.5 22.5 26.3  9.1
#> 152 11.4  9.2 21.7 24.1  9.7
#> 193 20.6 17.5 41.5 46.2 19.2
#> 158 14.3 12.2 28.1 31.8 12.5
#> 73  12.8 12.2 27.9 31.9 11.5
#> 5    9.8  8.0 20.3 23.0  8.2
#> 169 16.7 14.3 32.3 37.0 14.7
#> 139 19.4 14.1 39.1 43.2 17.8
#> 56   9.8  8.9 20.4 23.9  8.8
#> 143 21.0 15.0 42.9 47.2 19.4
#> 148 22.1 15.8 44.6 49.6 20.5
#> 131 17.9 12.9 36.9 40.9 16.5
#> 149 23.0 16.8 47.2 52.1 21.5
#> 67  11.9 11.4 26.0 30.1 10.9
#> 80  14.7 12.5 30.1 34.7 12.5
#> 66  11.7 10.6 24.9 28.5 10.4
#> 32  16.2 13.3 36.0 41.7 15.4
#> 
#> attr(,"class")
#> [1] "list"         "PPtree_split"
PPclassify(Tree.crab, test.data = crab[-idx, 2:6], Rule = 1,true.class = crab[-idx, 1])
#> $predict.error
#> [1] 0.1
#> 
#> $predict.class
#>  [1] BlueFemale   BlueFemale   BlueFemale   BlueMale     BlueFemale  
#>  [6] BlueMale     BlueMale     BlueMale     BlueMale     BlueMale    
#> [11] BlueMale     BlueMale     BlueMale     BlueFemale   BlueFemale  
#> [16] BlueFemale   BlueFemale   BlueFemale   BlueFemale   BlueFemale  
#> [21] BlueFemale   BlueFemale   OrangeMale   OrangeMale   OrangeMale  
#> [26] OrangeMale   OrangeMale   OrangeMale   OrangeMale   OrangeMale  
#> [31] OrangeMale   OrangeMale   OrangeMale   OrangeMale   OrangeMale  
#> [36] OrangeMale   OrangeMale   OrangeMale   OrangeFemale OrangeFemale
#> [41] OrangeFemale OrangeFemale OrangeFemale OrangeFemale OrangeFemale
#> [46] OrangeFemale OrangeFemale OrangeFemale OrangeFemale OrangeFemale
#> Levels: BlueFemale BlueMale OrangeFemale OrangeMale
#>