Letztes Mal habe ich in Geschichte der Analyse von Zeitreihendaten von Aktien ein wenig über maschinelles Lernen in der zweiten Hälfte gesprochen. Heute werden wir auf die Bibliothek für maschinelles Lernen scikit-learn eingehen.
In Bezug auf Scikit-Learn erwähnte ich Einfaches Clustering-Beispiel und Support Vector Machine. items / 33231bf23d40d1c1f344), Probleme mit dem Clustering lösen, TF-IDF berechnen ), Visualisierung des Regressionsmodells, Clustering by DBSCAN Ich werde jedoch die Funktionen der Bibliothek neu organisieren.
Maschinelles Lernen hat das Bild, die schwierige Mathematik voll auszunutzen. Wenn Sie jedoch eine hochgradig vollständige Bibliothek verwenden, können Sie sie verwenden, ohne die Methode des maschinellen Lernens selbst zu implementieren. Natürlich ist es notwendig, den Inhalt der Methode zu verstehen, aber da es eine Bibliothek namens scikit-learn gibt, die de facto als Tatsache bezeichnet werden kann, denke ich, dass es besser ist, damit zu beginnen.
Ich habe diese Geschichte in vorheriger geschrieben, aber der größte Vorteil der Verwendung von Python hängt mit wissenschaftlichen Berechnungen und Datenanalysen wie Statistik und maschinellem Lernen zusammen. Die Bibliothek ist sehr reichhaltig. Es gibt sehr gute Bibliotheken namens NumPy und SciPy für numerische Berechnungen im Allgemeinen, Pandas für den Umgang mit Datenrahmen und Matplotlib für die Visualisierung. Der Versuch, dasselbe in einer anderen Sprache (wie Ruby oder Scala) zu tun, kann eine entmutigende Aufgabe sein oder fast unmöglich, daher ist dies wahrscheinlich keine Option. Es gibt eine andere Sprache für Statistiken, R, aber ich denke, dass Python als Sprache vollständiger ist, da es auch eine allgemeine Sprache ist und R durch mehr vorhandene Assets gekennzeichnet ist. ..
Lassen Sie uns zunächst die Prozedur organisieren.
Das grundlegende Verfahren ist wie oben.
Das Beste, was Sie mit Scikit-Learn tun können, ist, sich den Spickzettel anzusehen.
Das Original gehört zur Oberfamilie.
Choosing the right estimator http://scikit-learn.org/stable/tutorial/machine_learning_map/
Dies ist nützlich, da Sie von hier aus zur Erklärung der einzelnen Methoden springen können.
Das Folgende ist eine Zusammenfassung dessen, was Sie tun können.
Folgen wir den Funktionen nacheinander.
Es hat eine hohe Generalisierungsleistung und kann verschiedene Daten verarbeiten, da es Kernelfunktionen auswählen kann.
Es zeichnet sich trotz seiner Einfachheit durch hohe Genauigkeit aus.
Es hat die Eigenschaften, dass es nicht notwendig ist, Überlernen in Betracht zu ziehen, und es ist einfach, parallele Berechnungen durchzuführen.
Es ist eine normale lineare Regression.
Erstellen Sie ein Modell mit wenigen Variablen, gehen Sie jedoch davon aus, dass einige Variablen nicht verwendet werden.
Es ist nicht leicht von multipler Co-Linearität betroffen und hat eine schwächere variable Auswahlfähigkeit als die Lasso-Regression.
SVR
Sie können die Nichtlinearität im Kernel erfassen.
Dies ist eine typische Clustering-Methode, bei der die Anzahl der Cluster im Voraus als k angegeben wird. Es ist einfach und schnell.
Sie können die Wahrscheinlichkeit der Zugehörigkeit zum Cluster ermitteln. Nehmen Sie eine Normalverteilung an.
Eine robuste, nicht parametrische Methode, die die Schätzung der Kerneldichte verwendet. Die von Ihnen festgelegte Kernelbreite (Radius h) bestimmt automatisch die Anzahl der Cluster. Die Kosten sind tendenziell hoch, da der Mittelpunkt berechnet wird, indem ein Kreis mit einem Radius von h nach dem Prinzip der Methode des steilsten Abstiegs für alle Eingabepunkte betrachtet wird.
Diese Methode wird auch auf Situationen wie Bildsegmentierung und Kantenglättung angewendet.
Die Meanshift-Cluster-Analyse mit einer unendlichen Kernbreite h kann auch als k-Mittelungsmethode interpretiert werden.
Es hat den Vorteil, dass spärliche Matrizen schnell verarbeitet werden können. Nehmen Sie eine Normalverteilung an.
Es können nur nicht negative Matrizen verwendet werden, es ist jedoch möglicherweise einfacher, Features zu extrahieren.
Sie können auch Linear Discrimination (LDA) und Deep Learning verwenden.
Die Bibliothek, von der Scikit-Lernen abhängt. Dies hängt nicht nur vom Scikit-Lernen ab, sondern auch von BLAS und LAPACK für verschiedene numerische Berechnungssoftware wie SciPy und Programme in anderen Sprachen wie C und Fortran. Meistens als Paket in der GNU / Linux-Distribution bereitgestellt. Es ist in einer Vielzahl von Sprachen verfügbar und hat eine lange Geschichte. Daher ist es der De-facto-Standard für die Durchführung linearer algebraischer Operationen auf Computern.
LAPACK ist speziell für simultane lineare Gleichungen, Methode der kleinsten Quadrate, Eigenwertproblem, Singularwertproblem, Matrixzerlegung (LU), Choleskey-Zerlegung, QR-Zerlegung, Singularwertzerlegung, Schur-Zerlegung, verallgemeinerte Schur-Zerlegung und Anzahl der Bedingungen. Es bietet Schätzroutinen, inverse Matrixberechnungen und verschiedene Unterprogramme.
Es gibt verschiedene Implementierungen von BLAS, aber die typischen sind wie folgt.
Wenn Sie sich nicht so sehr für Geschwindigkeit interessieren, werden Sie OpenBLAS wahrscheinlich vorerst verwenden.
Eine Methode namens Kreuzvalidierung oder Rastersuche ist eine Methode zur effizienten Durchführung guter Parameter. Wir werden diese in vollem Umfang nutzen, um das Lernen und die Bewertung des Modells zu wiederholen, aber wir werden später darauf zurückkommen.
Dieses Mal haben wir typische Methoden des maschinellen Lernens unter dem Gesichtspunkt der in der Bibliothek für maschinelles Lernen scikit-learn implementierten Methoden zusammengefasst. scikit-learn ist eine sehr reichhaltige und qualitativ hochwertige Bibliothek, daher denke ich, dass Sie es verstehen können, wenn Sie zuerst hier gedrückt halten.
Recommended Posts