n= 150 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 150 100 se (0.33333333 0.33333333 0.33333333)  
   2) pl< 2.45 50   0 se (1.00000000 0.00000000 0.00000000) *
   3) pl>=2.45 100  50 ve (0.00000000 0.50000000 0.50000000)  
     6) pw< 1.75 54   5 ve (0.00000000 0.90740741 0.09259259)  
      12) pl< 4.95 48   1 ve (0.00000000 0.97916667 0.02083333) *
      13) pl>=4.95 6   2 vi (0.00000000 0.33333333 0.66666667)  
        26) pw>=1.55 3   1 ve (0.00000000 0.66666667 0.33333333) *
        27) pw< 1.55 3   0 vi (0.00000000 0.00000000 1.00000000) *
     7) pw>=1.75 46   1 vi (0.00000000 0.02173913 0.97826087) *

Classification tree:
{'formula': 'tp ~ .', 'data':       sl   sw   pl   pw  tp
0    5.1  3.5  1.4  0.2  se
1    4.9  3.0  1.4  0.2  se
2    4.7  3.2  1.3  0.2  se
3    4.6  3.1  1.5  0.2  se
4    5.0  3.6  1.4  0.2  se
..   ...  ...  ...  ...  ..
145  6.7  3.0  5.2  2.3  vi
146  6.3  2.5  5.0  1.9  vi
147  6.5  3.0  5.2  2.0  vi
148  6.2  3.4  5.4  2.3  vi
149  5.9  3.0  5.1  1.8  vi

[150 rows x 5 columns], 'weights': None, 'subset': None}

Variables actually used in tree construction:
['pl', 'pw']

Root node error: 100/150 = 0.66667

n=150

     CP nsplit rel error xerror     xstd
1   0.5      0         1   1.15 0.051801
2  0.44      1       0.5   0.73 0.061215
3  0.02      2      0.06   0.09 0.029086
4  0.01      3      0.04   0.09 0.029086
5 1e-04      4      0.03   0.07 0.025833
n= 150 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 150 100 se (0.33333333 0.33333333 0.33333333)  
  2) pl< 2.45 50   0 se (1.00000000 0.00000000 0.00000000) *
  3) pl>=2.45 100  50 ve (0.00000000 0.50000000 0.50000000)  
    6) pw< 1.75 54   5 ve (0.00000000 0.90740741 0.09259259) *
    7) pw>=1.75 46   1 vi (0.00000000 0.02173913 0.97826087) *
