.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/plot_classifier_iterative_python.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_plot_classifier_iterative_python.py: =============================================== DL8.5 classifier : python side iterative search =============================================== Iterative search is the idea that the algorithm starts with finding an optimal shallow tree, and then uses the quality of this tree to bound the quality of deeper trees. This class shows how to perform this type of search by repeatedly calling the DL8.5 algorithm. A second implementation is illustrated in plot_classifier_iterative_c_plus.py, and uses C++. .. GENERATED FROM PYTHON SOURCE LINES 11-42 .. rst-class:: sphx-glr-script-out .. code-block:: none ########################################################################### # DL8.5 default classifier using python-based iterative search # ########################################################################### Model built. Duration of building = 0.0055 Confusion Matrix below [[ 9 25] [ 0 129]] Accuracy DL8.5 on training set = 0.8243 Accuracy DL8.5 on test set = 0.8466 | .. code-block:: default import numpy as np from sklearn.metrics import confusion_matrix from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import time from pydl85 import DL85Classifier dataset = np.genfromtxt("../datasets/anneal.txt", delimiter=' ') X, y = dataset[:, 1:], dataset[:, 0] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) print("###########################################################################\n" "# DL8.5 default classifier using python-based iterative search #\n" "###########################################################################") start = time.perf_counter() error = 0 # default max error value expressing no bound clf = None remaining_time = 600 for i in range(1, 3): # max depth = 2 clf = DL85Classifier(max_depth=i, max_error=error, time_limit=remaining_time) clf.fit(X_train, y_train) error = clf.error_ remaining_time -= clf.runtime_ duration = time.perf_counter() - start print("Model built. Duration of building =", round(duration, 4)) y_pred = clf.predict(X_test) print("Confusion Matrix below") print(confusion_matrix(y_test, y_pred)) print("Accuracy DL8.5 on training set =", round(clf.accuracy_, 4)) print("Accuracy DL8.5 on test set =", round(accuracy_score(y_test, y_pred), 4)) .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.048 seconds) .. _sphx_glr_download_auto_examples_plot_classifier_iterative_python.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_classifier_iterative_python.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_classifier_iterative_python.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_