In [1]:
from sklearn import datasets
from polyssifier import poly
import numpy as np
import pandas as pd
from sklearn.datasets import make_moons, make_classification
import matplotlib.pyplot as plt
%matplotlib inline
import warnings
warnings.filterwarnings("ignore")
In [3]:
data, label = make_moons(n_samples=500, noise=0.4)
print(data.shape)
print(label.shape)
plt.plot(data[label==0,0], data[label==0,1],'.', alpha=.5);
plt.plot(data[label==1,0], data[label==1,1],'r.', alpha=.5);
report = poly(data,label, n_folds=3, verbose=True, save=False, scale=True,
feature_selection=False, scoring='auc', concurrency=1)
report.plot_scores()
In [4]:
report.scores
Out[4]:
In [8]:
plt.figure(figsize=(20, 10))
for n, (key, pred) in enumerate(report.predictions.items()):
plt.subplot(2,5,n+1)
missclass = np.where(pred==0)[0]
corrclass = np.where(pred==1)[0]
plt.plot(data[corrclass,0], data[corrclass,1],'r.', alpha=0.8);
plt.plot(data[missclass,0], data[missclass,1],'b.', alpha=0.8);
plt.legend(['class 1', 'class2'])
plt.title('{0} ({1:.2f}%)'.format(key, 100*np.mean(report.scores[key]['test']) ))
In [22]:
data, label = make_classification(n_samples=500, n_features=20,
n_informative=5, n_redundant=2,
n_repeated=0, n_classes=2,
n_clusters_per_class=2, weights=None,
flip_y=0.01, class_sep=1.0,
hypercube=True, shift=0.0,
scale=1.0, shuffle=True,
random_state=None)
report = poly(data, label, n_folds=3, verbose=True,
feature_selection=False, save=False, concurrency=1)
report.plot_scores()
In [23]:
report.plot_features()
In [21]:
fs['Linear SVM']
Out[21]:
In [11]:
for key, val in report.confusions.items():
print(key)
print(val)
In [13]:
report.test_proba.head()
Out[13]:
In [ ]: