@@ -1008,16 +1008,8 @@ cdef class BaseTree:
1008
1008
cache_mgr = CategoryCacheMgr()
1009
1009
cache_mgr.populate(self .nodes, self .node_count, self .n_categories)
1010
1010
cdef vector[vector[UINT64_t]] cat_caches = cache_mgr.bits
1011
- # cdef vector[UINT64_t] cache = NULL
1012
-
1013
1011
cdef const INT32_t[:] n_categories = self .n_categories
1014
1012
1015
- # apply Cache to speed up categorical "apply"
1016
- # cache_mgr = CategoryCacheMgr()
1017
- # cache_mgr.populate(self.nodes, self.node_count, self.n_categories)
1018
- # cdef UINT64_t** cat_caches = cache_mgr.bits
1019
- # cdef UINT64_t* cache = NULL
1020
-
1021
1013
with nogil:
1022
1014
for i in range (n_samples):
1023
1015
node = self .nodes
@@ -1034,9 +1026,6 @@ cdef class BaseTree:
1034
1026
node = & self .nodes[node.right_child]
1035
1027
elif goes_left(
1036
1028
X_i_node_feature,
1037
- # node.split_value,
1038
- # node.threshold,
1039
- # self.n_categories[node.feature],
1040
1029
node,
1041
1030
n_categories,
1042
1031
cache
@@ -1082,7 +1071,6 @@ cdef class BaseTree:
1082
1071
cache_mgr = CategoryCacheMgr()
1083
1072
cache_mgr.populate(self .nodes, self .node_count, self .n_categories)
1084
1073
cdef vector[vector[UINT64_t]] cat_caches = cache_mgr.bits
1085
- # cdef vector[UINT64_t] cache = NULL
1086
1074
1087
1075
cdef const INT32_t[:] n_categories = self .n_categories
1088
1076
# feature_to_sample as a data structure records the last seen sample
@@ -1114,9 +1102,6 @@ cdef class BaseTree:
1114
1102
1115
1103
if goes_left(
1116
1104
feature_value,
1117
- # node.split_value,
1118
- # node.threshold,
1119
- # self.n_categories[node.feature],
1120
1105
node,
1121
1106
n_categories,
1122
1107
cache
@@ -1650,21 +1635,19 @@ cdef class Tree(BaseTree):
1650
1635
self .n_classes = NULL
1651
1636
safe_realloc(& self .n_classes, n_outputs)
1652
1637
1653
- self .n_categories = NULL
1654
- safe_realloc(& self .n_categories, n_features)
1638
+ cdef SIZE_t k
1655
1639
1656
1640
# n-categories is a 1D array of size n_features
1657
- # self.n_categories = np.empty(n_features, dtype=np.int32)
1658
- # self.n_categories = n_categories
1641
+ self .n_categories = NULL
1642
+ safe_realloc(& self .n_categories, n_features)
1643
+ for k in range (n_features):
1644
+ self .n_categories[k] = n_categories[k]
1659
1645
1660
1646
self .max_n_classes = np.max(n_classes)
1661
1647
self .value_stride = n_outputs * self .max_n_classes
1662
1648
1663
- cdef SIZE_t k
1664
1649
for k in range (n_outputs):
1665
1650
self .n_classes[k] = n_classes[k]
1666
- for k in range (n_features):
1667
- self .n_categories[k] = n_categories[k]
1668
1651
1669
1652
# Inner structures
1670
1653
self .max_depth = 0
0 commit comments