Table of Contents
Fetching ...

Approximating splits for decision trees quickly in sparse data streams

Nikolaj Tatti

TL;DR

The paper tackles fast split selection in streaming decision trees with sparse binary features and binary labels. It introduces two near-optimal, approximation-based strategies, UpdEnt for information gain and UpdGini for the Gini index, that bucket features by conditional probabilities and maintain per-bin structures to achieve a $(1 + \alpha)$-approximation with amortized times of $O(\alpha^{-1}(1+m\log d)\log\log n)$ for entropy and $O(\alpha^{-1} + m\log d)$ for Gini. The methods leverage sparsity ($m \ll d$) to deliver sublinear update-time performance, and experiments on synthetic and benchmark datasets show substantial speedups over exact baselines while preserving near-optimal splits. Overall, the work enables efficient, real-time decision-tree learning in sparse data streams.

Abstract

Decision trees are one of the most popular classifiers in the machine learning literature. While the most common decision tree learning algorithms treat data as a batch, numerous algorithms have been proposed to construct decision trees from a data stream. A standard training strategy involves augmenting the current tree by changing a leaf node into a split. Here we typically maintain counters in each leaf which allow us to determine the optimal split, and whether the split should be done. In this paper we focus on how to speed up the search for the optimal split when dealing with sparse binary features and a binary class. We focus on finding splits that have the approximately optimal information gain or Gini index. In both cases finding the optimal split can be done in $O(d)$ time, where $d$ is the number of features. We propose an algorithm that yields $(1 + α)$ approximation when using conditional entropy in amortized $O(α^{-1}(1 + m\log d) \log \log n)$ time, where $m$ is the number of 1s in a data point, and $n$ is the number of data points. Similarly, for Gini index, we achieve $(1 + α)$ approximation in amortized $O(α^{-1} + m \log d)$ time. Our approach is beneficial for sparse data where $m \ll d$. In our experiments we find almost-optimal splits efficiently, faster than the baseline, overperforming the theoretical approximation guarantees.

Approximating splits for decision trees quickly in sparse data streams

TL;DR

The paper tackles fast split selection in streaming decision trees with sparse binary features and binary labels. It introduces two near-optimal, approximation-based strategies, UpdEnt for information gain and UpdGini for the Gini index, that bucket features by conditional probabilities and maintain per-bin structures to achieve a -approximation with amortized times of for entropy and for Gini. The methods leverage sparsity () to deliver sublinear update-time performance, and experiments on synthetic and benchmark datasets show substantial speedups over exact baselines while preserving near-optimal splits. Overall, the work enables efficient, real-time decision-tree learning in sparse data streams.

Abstract

Decision trees are one of the most popular classifiers in the machine learning literature. While the most common decision tree learning algorithms treat data as a batch, numerous algorithms have been proposed to construct decision trees from a data stream. A standard training strategy involves augmenting the current tree by changing a leaf node into a split. Here we typically maintain counters in each leaf which allow us to determine the optimal split, and whether the split should be done. In this paper we focus on how to speed up the search for the optimal split when dealing with sparse binary features and a binary class. We focus on finding splits that have the approximately optimal information gain or Gini index. In both cases finding the optimal split can be done in time, where is the number of features. We propose an algorithm that yields approximation when using conditional entropy in amortized time, where is the number of 1s in a data point, and is the number of data points. Similarly, for Gini index, we achieve approximation in amortized time. Our approach is beneficial for sparse data where . In our experiments we find almost-optimal splits efficiently, faster than the baseline, overperforming the theoretical approximation guarantees.
Paper Structure (8 sections, 8 theorems, 14 equations, 6 figures, 2 tables, 2 algorithms)

This paper contains 8 sections, 8 theorems, 14 equations, 6 figures, 2 tables, 2 algorithms.

Key Result

Proposition 4.1

The conditional entropy can be decomposed into two parts, where

Figures (6)

  • Figure 1: Statistics as a function of $\alpha$ for UpdEnt and UpdGini: Figures \ref{['fig:sparsecntvsalpha']},\ref{['fig:ginicntvsalpha']} show the number of non-empty trees, Figures \ref{['fig:sparsetimevsalpha']},\ref{['fig:ginitimevsalpha']} show the running time. Figures show averages of 100 repeats.
  • Figure 2: Statistics as a function of the number of data points in synthetic data: Figures \ref{['fig:sparsetimevscnt']},\ref{['fig:ginitimevscnt']} show the running times and Figure \ref{['fig:sparsecntvscnt']} shows the number of non-empty trees. Figures show averages of 100 repeats.
  • Figure 3: Running time for processing a single data point as a function of the number of the data points in synthetic data: Note that $y$-axes have different scales and time units. Figures show averages of 100 repeats.
  • Figure 4: Figures \ref{['fig:sparsetimevsdim']},\ref{['fig:ginitimevsdim']} show the running time as a function of the number of features for data sets $\textsl{sparse}\xspace(10000, 10, d, 10 / d)$. As $d$ increases the number of features increases but the average number of 1s stays the same. Figures \ref{['fig:sparsetimevsdens']},\ref{['fig:ginitimevsdens']} show the running as a function of density (=proportion of 1s) for the same data sets.
  • Figure 5: Running time as a function of $n$ data points as a function of $n$ for 20News. Here, we set $\alpha = 0.1$.
  • ...and 1 more figures

Theorems & Definitions (8)

  • Proposition 4.1
  • Proposition 4.2
  • Proposition 4.3
  • Proposition 4.4
  • Proposition 5.1
  • Proposition 5.2
  • Proposition 5.3
  • Lemma 5.1