8000 DOC explain invariant with constant features + DOC clarify comments · rmurcek/scikit-learn@9b92c45 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9b92c45

Browse files
committed
DOC explain invariant with constant features + DOC clarify comments
1 parent 57f73f1 commit 9b92c45

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

sklearn/tree/_tree.pyx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,10 +1168,12 @@ cdef class BestSplitter(Splitter):
11681168
samples[partition_end] = samples[p]
11691169
samples[p] = tmp
11701170

1171-
# Respect invariant for constant features
1171+
# Respect invariant for constant features: the original order of
1172+
# element in features[:n_known_constants] must be preserved for sibling
1173+
# and child nodes
11721174
memcpy(features, constant_features, sizeof(SIZE_t) * n_known_constants)
11731175

1174-
# Copy constant features
1176+
# Copy newly found constant features
11751177
memcpy(constant_features + n_known_constants,
11761178
features + n_known_constants,
11771179
sizeof(SIZE_t) * n_found_constants)
@@ -1474,10 +1476,12 @@ cdef class RandomSplitter(Splitter):
14741476
samples[partition_end] = samples[p]
14751477
samples[p] = tmp
14761478

1477-
# Respect invariant for constant features
1479+
# Respect invariant for constant features: the original order of
1480+
# element in features[:n_known_constants] must be preserved for sibling
1481+
# and child nodes
14781482
memcpy(features, constant_features, sizeof(SIZE_t) * n_known_constants)
14791483

1480-
# Copy constant features
1484+
# Copy newly found constant features
14811485
memcpy(constant_features + n_known_constants,
14821486
features + n_known_constants,
14831487
sizeof(SIZE_t) * n_found_constants)
@@ -1714,10 +1718,12 @@ cdef class PresortBestSplitter(Splitter):
17141718
for p in range(start, end):
17151719
sample_mask[samples[p]] = 0
17161720

1717-
# Respect invariant for constant features
1721+
# Respect invariant for constant features: the original order of
1722+
# element in features[:n_known_constants] must be preserved for sibling
1723+
# and child nodes
17181724
memcpy(features, constant_features, sizeof(SIZE_t) * n_known_constants)
17191725

1720-
# Copy constant features
1726+
# Copy newly found constant features
17211727
memcpy(constant_features + n_known_constants,
17221728
features + n_known_constants,
17231729
sizeof(SIZE_t) * n_found_constants)

0 commit comments

Comments
 (0)
0