Aqui mostramos como usar alguns classificadores disponÃveis no scikit-learn
import numpy as np
import matplotlib.pyplot as plt
from funcoes import geraDados2DfronteiraNonLinear
%matplotlib inline
N = 100
X, y, x, fx = geraDados2DfronteiraNonLinear(N)
http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(max_iter=100) # default max_iter=100
clf.fit(X,y)
z = clf.predict(X)
print(z)
for i in range(N):
if z[i] > 0.5:
plt.plot(X[i,1], X[i,2], 'bx')
else:
plt.plot(X[i,1], X[i,2], 'ro')
plt.plot(x, fx, lw=2)
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()
from sklearn import svm
clf = svm.SVC(gamma=0.3, C=100.)
clf.fit(X,y)
z = clf.predict(X)
print(z)
for i in range(N):
if z[i] > 0.5:
plt.plot(X[i,1], X[i,2], 'bx')
else:
plt.plot(X[i,1], X[i,2], 'ro')
plt.plot(x, fx, lw=2)
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='sgd', learning_rate_init=0.01, max_iter=500, hidden_layer_sizes=(10), random_state=1)
clf.fit(X, y)
z = clf.predict(X)
print(z)
for i in range(N):
if z[i] > 0.5:
plt.plot(X[i,1], X[i,2], 'bx')
else:
plt.plot(X[i,1], X[i,2], 'ro')
plt.plot(x, fx, lw=2)
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()