Extremely Fast Decision Tree Mining for Evolving Data Streams

Nowadays real-time telecommunication applications are generating a huge amount of data continuously every day. To process these large data streams, we need fast and efficient methodologies and systems. A useful feature desired for data scientists and analysts is to have easy to visualize and understand machine learning models. Decision trees are preferred in many real-time applications for this reason, and also, because combined in an ensemble, they are one of the most powerful methods in machine learning.

We have developed a new system called streamDM-C++, that implements decision trees for data streams in C++, and that has been used extensively at Huawei. Streaming decision trees adapt to changes on streams, a huge advantage since standard decision trees are built using a snapshot of data, and can not evolve over time. streamDM-C++ is easy to extend, and contains more powerful ensemble methods, and a more efficient and easy to use adaptive decision tree. We compared our new implementation with VFML, the current state of the art implementation in C, and showed how our new system outperforms VFML in speed using less resources.


  • Albert Bifet (Telecom ParisTech and University of Waikato)
  • Jiajin Zhang (Noah’s Ark Lab, Huawei)
  • Wei Fan (Huawei Noah’s Ark Lab)
  • Cheng He (Noah’s Ark Lab, Huawei)
  • Jianfeng Zhang (Noah’s Ark Lab, Huawei)
  • Jianfeng Qian (Huawei Noah’s Ark Lab)
  • Geoffrey Holmes (University of Waikato)
  • Bernhard Pfahringer (University of Waikato)


Albert Bifet, Jiajin Zhang, Wei Fan, Cheng He, Jianfeng Zhang, Jianfeng Qian, Geoff Holmes, Bernhard Pfahringer: Extremely Fast Decision Tree Mining for Evolving Data Streams. KDD 2017: 1733-1742

Project Website