Python Machine Learning mit interaktiven Jupyter-Demos

Bild


Hallo Leser!


Ich habe kĂŒrzlich das Repository Homemade Machine Learning gestartet, das Beispiele fĂŒr gĂ€ngige Algorithmen und AnsĂ€tze des maschinellen Lernens enthĂ€lt, wie z. B. lineare Regression, logistische Regression, K-Means-Methode und neuronales Netzwerk (mehrschichtiges Perzeptron). Jeder Algorithmus enthĂ€lt interaktive Demoseiten, die in Jupyter NBViewer-e oder Binder-e gestartet wurden. Somit hat jeder die Möglichkeit, Trainingsdaten und Trainingsparameter zu Ă€ndern und das Ergebnis von Training, Visualisierung und Vorhersage des Modells sofort in seinem Browser anzuzeigen, ohne Jupyter lokal zu installieren.


Der Zweck dieses Repositorys ist die Implementierung von Algorithmen fast von Grund auf neu, um ein detaillierteres VerstĂ€ndnis der mathematischen Modelle zu erhalten, die hinter jedem der Algorithmen liegen. Die wichtigsten verwendeten Bibliotheken waren NumPy und Pandas . Diese Bibliotheken werden fĂŒr effiziente Operationen an Matrizen sowie zum Laden und Parsen von CSV-Daten verwendet. Auf Demoseiten zum Zeichnen von Diagrammen und zum Visualisieren von Trainingsdaten werden auch die Bibliotheken Matplotlib und Plotly verwendet. Bei der logistischen Regression wird die SciPy- Bibliothek verwendet, um die Verlustfunktion zu minimieren. In anderen FĂ€llen wird der Gradientenabstieg in reinem NumPy / Python implementiert. Die Verwendung von Bibliotheken wie PyTorch oder TensorFlow wird aufgrund des Lehrzwecks des Repositorys vermieden.


Im Moment sind die folgenden Algorithmen im Repository implementiert ...


Regression. Lineare Regression.


Bei den mit der Regression verbundenen Problemen versuchen wir, die tatsĂ€chliche Anzahl basierend auf eingehenden Daten vorherzusagen. TatsĂ€chlich erstellen wir eine Linie / Ebene / n-dimensionale Ebene entlang der Trainingsdaten, um eine Vorhersage fĂŒr Eingabedaten treffen zu können, die nicht im Trainingssatz enthalten sind. Dies geschieht zum Beispiel, wenn wir die Kosten einer 2-Zimmer-Wohnung im Zentrum von N im 7. Stock vorhersagen möchten.



Klassifizierung. Logistische Regression.


Bei Problemen im Zusammenhang mit der Klassifizierung teilen wir die Daten in AbhĂ€ngigkeit von den Parametern dieser Daten in Klassen auf. Ein Beispiel fĂŒr eine Klassifizierungsaufgabe ist die Spam-Erkennung. AbhĂ€ngig vom Text des Briefes (eingehende Daten) ordnen wir jeden Brief einer von zwei Klassen zu ("Spam" oder "kein Spam").



Clustering K-Mittel-Methode.


Bei Clustering-Aufgaben teilen wir unsere Daten in Cluster auf, die uns nicht im Voraus bekannt sind. Diese Algorithmen können zur Marktsegmentierung, Analyse sozialer und nicht nur von Netzwerken verwendet werden.



Neuronale Netze. Multilayer Perceptron (MLP).


Neuronale Netze sind eher kein Algorithmus, sondern ein "Muster" oder "Rahmen" zum Organisieren verschiedener Algorithmen fĂŒr maschinelles Lernen in einem System zur weiteren Analyse komplexer Eingabedaten.



Suchen Sie mit der Gaußschen Verteilung nach Anomalien


Bei Problemen im Zusammenhang mit der Suche nach Anomalien versuchen wir, die Dateninstanzen zu isolieren, die im Vergleich zu den meisten anderen Instanzen „verdĂ€chtig“ aussehen. Zum Beispiel die Definition von atypischen (verdĂ€chtigen) Transaktionen per Kreditkarte.





Ich hoffe, Sie finden das Repository nĂŒtzlich, indem Sie entweder mit Demonstrationen der einzelnen Algorithmen experimentieren oder die dahinter stehenden mathematischen Modelle lesen oder die Implementierungsdetails der einzelnen Algorithmen analysieren.


Erfolgreiche Codierung!

Source: https://habr.com/ru/post/de433886/


All Articles