from sklearn.linear_model import Perceptron from sklearn.metrics import accuracy_score from plot_decision_regions_sklearn import plt from plot_decision_regions_sklearn import plot_decision_regions iris = datasets.load_iris() X = iris.data[:, [2,3]] y = iris.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) sc = StandardScaler() sc.fit(X_train) X_train_std = sc.transform(X_train) X_test_std = sc.transform(X_test) X_combined_std = np.vstack((X_train_std, X_test_std)) y_combined = np.hstack((y_train, y_test)) weights, params = [],[] for c in np.arange(-5,5): lr = LogisticRegression(C=10**c, random_state=0) lr.fit(X_train_std, y_train) weights.append(lr.coef_[1]) params.append(10**c) weights = np.array(weights) plt.plot(params, weights[:,0], label='petal length') plt.plot(params, weights[:,1], linestyle='--', label='petal width') plt.ylabel('weight coefficient') plt.xlabel('C') plt.legend(loc='upper left') plt.xscale('log') plt.show()
from sklearn.ensemble import RandomForestClassifier from plot_decision_regions_sklearn import plot_decision_regions from sklearn import datasets import numpy as np from sklearn.cross_validation import train_test_split from plot_decision_regions_sklearn import plt from plot_decision_regions_sklearn import plot_decision_regions iris = datasets.load_iris() X = iris.data[:, [2,3]] y = iris.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) X_combined = np.vstack((X_train, X_test)) y_combined = np.hstack((y_train, y_test)) forest = RandomForestClassifier(criterion='entropy', n_estimators=10, random_state=1, n_jobs=2) forest.fit(X_train, y_train) plot_decision_regions(X_combined, y_combined, classifier=forest, test_idx=range(105,150)) plt.xlabel('petal length') plt.ylabel('petal width') plt.legend(loc='upper left') plt.show()
from plot_decision_regions_sklearn import plt from plot_decision_regions_sklearn import plot_decision_regions iris = datasets.load_iris() X = iris.data[:, [2, 3]] y = iris.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) sc = StandardScaler() sc.fit(X_train) X_train_std = sc.transform(X_train) X_test_std = sc.transform(X_test) ppn = Perceptron(n_iter=40, eta0=0.1, random_state=0) ppn.fit(X_train_std, y_train) y_pred = ppn.predict(X_test_std) print('Misclassified samples: %d' % (y_test != y_pred).sum()) print('Accuracy: %.2f' % accuracy_score(y_test, y_pred)) X_combined_std = np.vstack((X_train_std, X_test_std)) y_combined = np.hstack((y_train, y_test)) plot_decision_regions(X=X_combined_std, y=y_combined, classifier=ppn, test_idx=range(105, 150)) plt.xlabel('petal length [standardized]') plt.ylabel('petal width [standardized]') plt.legend(loc='upper left') plt.show()
from sklearn.cross_validation import train_test_split from plot_decision_regions_sklearn import plt from plot_decision_regions_sklearn import plot_decision_regions iris = datasets.load_iris() X = iris.data[:, [2, 3]] y = iris.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) tree = DecisionTreeClassifier(criterion='entropy', max_depth=3, random_state=0) from sklearn.tree import export_graphviz tree.fit(X_train, y_train) export_graphviz(tree, out_file='tree.dot', feature_names=['petal length', 'petal width']) X_combined = np.vstack((X_train, X_test)) y_combined = np.hstack((y_train, y_test)) plot_decision_regions(X_combined, y_combined, classifier=tree, test_idx=range(105, 150)) plt.xlabel('petal length [cm]') plt.ylabel('petal width [cm]') plt.legend(loc='upper left') plt.show()