Ich denke, Python ist eine der besten Bibliotheken. Bibliothek für maschinelles Lernen. Das eingeschlossene Lernen ist wie folgt (Beispiel).
Support Vector Machine
#Erstellen Sie zunächst Trainingsdaten
>>> import numpy
>>> np.seed(0) #Zufälliger Startwert behoben
>>> x = numpy.sort(5 * numpy.random.rand(40, 1), axis=0)
>>> y = numpy.sin(x).ravel()
>>> y[::5] += 3 * (0.5 - numpy.random.rand(8))
>>> plot(x, y, 'o')
Verwenden Sie "SVR" für die Regressionsanalyse (Abkürzung für Support Vector Regression). Informationen zu Argumentoptionen
C (default = 1.0)
- Strafparameter
- Größer erlaubt keinen Rand (harter Rand), kleiner erlaubt Rand
kernel (default = rbf)
- Kernelfunktionstyp
- Linear: linear, Polygon: Poly, RBF (Gauß): rbf, Sigmoid: Sigmoid, Vorberechnet: Vorberechnet
gamma (default = 0.0)
- RBF, Polynomkernkoeffizienten
degree (default = 2)
- RBF, Polypoly, Sigmoid-Kernelfunktionsreihenfolge
>>> from sklearn.svm import SVR
#Einen Lernenden erstellen
>>> svr_rbf = SVR(kernel='rbf', C=1e3, gamma=0.1)
>>> svr_lin = SVR(kernel='linear', C=1e3)
>>> svr_poly = SVR(kernel='poly', C=1e3, degree=2)
#Lernen Sie mit Passform, sagen Sie voraus
>>> y_rbf = svr_rbf.fit(x, y).predict(x)
>>> y_lin = svr_lin.fit(x, y).predict(x)
>>> y_poly = svr_poly.fit(x, y).predict(x)
Ich denke, die sogenannte SVM ist hier.
scikit-learn
verwendet SVC
(kurz für Support Vector Classifier).
#Erstellung von Trainingsdaten
>>> numpy.random.seed(0)
>>> X = numpy.random.randn(300, 2)
>>> Y = numpy.logical_xor(X[:,0]>0, X[:,1]>0)
from sklearn.svm import SVC
#Klassifikator erstellen
>>> clf = SVC(kernel='rbf', C=1e3, gamma=0.1)
#Lernen
>>> clf.fit(X, Y)
#Berechnen Sie den Abstand zur Determinante
>>> xx, yy = np.meshgrid(linspace(-3, 3, 500), linspace(-3, 3, 500))
>>> Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
>>> Z = Z.reshape(xx.shape)
#Grafik
>>> imshow(Z, interpolation='nearest', extent=[xx.min(),
... xx.max(),
... yy.min(),
... yy.max()],
... aspect='auto',
... origin='lower',
... cmap=cm.PuOr_r)
>>> ctr = contour(xx, yy, Z, levels=[0], linetypes='--')
>>> scatter(X[:, 0], X[:, 1], c=Y, cmap=cm.Paired)
>>> axis([xx.min(), xx.max(), yy.min(), yy.max()])
>>> show()
imshow ()
: Zeichnen Sie das Array
Argumentoptionen:
interpolation
- Ergänzung während der Grafikverarbeitung
- 'nearest' -
extent
- Bereich angeben
- [Minimum in horizontaler Richtung, Maximalwert in horizontaler Richtung, Minimalwert in vertikaler Richtung, Maximalwert in vertikaler Richtung]
aspect
- Einstellung des Seitenverhältnisses
origin
- Legen Sie einen Referenzpunkt fest
- 'untere' - Richten Sie Z [0,0] auf die untere linke Ecke aus
cmap
- Farbkarte angeben
Die k-means-Methode wird als Beispiel gezeigt.
>>> import sklearn.datasets, sklearn.cluster
>>> #IRIS-Daten lesen
>>> d = sklearn.datasets.load_iris()
>>> km = sklearn.cluster.KMeans(3)
>>> km.fit(d.data)
>>> for i, e in enumerate(d.data):
... scatter(e[0], e[2], c='rgb'[km.labels_[i]])
Der Rest ist Offizielle Dokumente.
Recommended Posts