#!/usr/bin/env python # coding: utf-8 # In[1]: import sys sys.path.append("./../..") # In[2]: # example adapted from: http://scikit-learn.org/stable/auto_examples/neural_networks/plot_mlp_alpha.html#sphx-glr-auto-examples-neural-networks-plot-mlp-alpha-py get_ipython().run_line_magic('reload_ext', 'yellowbrick') from yellowbrick.classifier import DecisionViz # In[3]: get_ipython().run_line_magic('matplotlib', 'inline') import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.datasets import make_moons, make_circles, make_classification from sklearn.neural_network import MLPClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.svm import SVC from sklearn.gaussian_process import GaussianProcessClassifier from sklearn.gaussian_process.kernels import RBF from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier from sklearn.naive_bayes import GaussianNB from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis names = ["Nearest Neighbors", "Linear SVM", "RBF SVM", "Gaussian Process", "Decision Tree", "Random Forest", "Neural Net", "AdaBoost", "Naive Bayes", "QDA"] classifiers = [ KNeighborsClassifier(3), SVC(kernel="linear", C=0.025), SVC(gamma=2, C=1), GaussianProcessClassifier(1.0 * RBF(1.0), warm_start=True), DecisionTreeClassifier(max_depth=5), RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1), MLPClassifier(alpha=1), AdaBoostClassifier(), GaussianNB(), QuadraticDiscriminantAnalysis()] X, y = make_classification(n_features=2, n_redundant=0, n_informative=2, random_state=1, n_clusters_per_class=1) rng = np.random.RandomState(2) X += 2 * rng.uniform(size=X.shape) linearly_separable = (X, y) data_set = make_moons(noise=0.3, random_state=0) X, y = data_set X = StandardScaler().fit_transform(X) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.4, random_state=42) # In[4]: model = classifiers[0] title = names[0] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[1] title = names[1] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[2] title = names[2] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[3] title = names[3] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[4] title = names[4] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[5] title = names[5] viz = DecisionViz(model, title=title, features=['Feature Alpha', 'Feature Beta'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[6] title = names[6] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[7] title = names[7] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[8] title = names[8] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: model = classifiers[9] title = names[9] viz = DecisionViz(model, title=title, features=['Feature One', 'Feature Two'], classes=['Class A', 'Class B']) viz.fit(X_train, y_train) viz.draw(X_test, y_test) viz.show() # In[ ]: # In[ ]: