streamDM in C++ implements extremely fast streaming decision trees in C++ for big data streams. The main advantages of streamDM in C++ over other C/C++ data stream libraries are the following:
First download and build streamDM C++:
git clone https://github.com/huawei-noah/streamDM-Cpp.git
cd streamDM-Cpp
make
Download a dataset:
wget "http://downloads.sourceforge.net/project/moa-datastream/Datasets/Classification/covtypeNorm.arff.zip"
unzip covtypeNorm.arff.zip
Evaluate the dataset:
./streamdm-cpp "EvaluatePrequential -l (HoeffdingTree -l NBAdaptive) -r ArffReader -ds covtypeNorm.arff -e (BasicClassificationEvaluator -f 100000)"
streamDM in C++ executes tasks. Tasks can be evaluation tasks as "EvaluatePrequential" or "EvaluateHoldOut" and the parameters needed are a learner, a stream reader, and an evaluator.
The methods currently implemented are: Naive Bayes, Perceptron, Logistic Regression, Perceptron, Majority Class, Hoeffding Tree, Hoeffding Adaptive Tree, and Bagging.
The stream readers currently implemented support Arff, C45, and LibSVM formats.
Albert Bifet, Wei Fan, Jiajin Zhang, Quan Liu, Dandan Tu, Silviu Maniu, Cheng He, Jianfeng Qian, and Jianfeng Zhang