Überblick über moderne Datenanalysetools

Bild



Ich werde sofort klarstellen, dass es viele Arten von Analysten gibt, da Sie alles analysieren können, was Sie möchten. Dies sind Webanalysten, klassische Datenwissenschaftler, Geschäftsanalysten, Finanzanalysten sowie Produkt-, System- und UX-Analysten. Der Grund für diese Vielfalt liegt offenbar darin, dass in einer Reihe großer Unternehmen Dutzende oder sogar Hunderte von Programmierern und Analysten gleichzeitig an der Schaffung einer Plattform oder eines Produkts arbeiten können. Unter solchen Bedingungen tritt eine starke Verengung der Spezialisierung auf.



Alle diese Arten von Analysten verwenden ihre eigenen spezifischen Tools. Daher werde ich mich nur direkt auf das Gebiet der Datenanalyse konzentrieren, außerhalb des Kontextes der Herkunft dieser Daten. Daher schließen wir die Systeme Webanalyse, CRM, ERP, Lagerbuchhaltungssysteme, Logistik und Dokumentenmanagement von der Überprüfung aus.



1. Programmiersprachen



Wir werden nicht auf außergewöhnliche, einzigartige oder seltene Gelegenheiten eingehen. Betrachten wir nur die beliebtesten. Und natürlich ist es zuallererst die Python-Sprache.



Python



Python dient als primäres Werkzeug in den Händen von Datenwissenschaftlern, ist nicht stark typisiert und für Rapid Prototyping oder Short Scripting oder Scripting konzipiert. Leute, die Programmierung und Informatik verstehen, kritisieren ihn oft dafür, dass in reinem Python geschriebene Algorithmen hinsichtlich ihrer Leistung und ihres Speicherbedarfs nicht optimal sind.



Trotzdem hat diese Programmiersprache viele Vorteile. Unter ihnen würde ich bemerken, dass Python fast überall gelehrt wird und es daher relativ einfach ist, einen Analytiker zu finden, der Python kennt. Der zweite Vorteil sind Bibliotheken für die Arbeit mit Daten und maschinellem Lernen, die über eine benutzerfreundliche Oberfläche verfügen. Mit sklearn ist es beispielsweise einfach, Vorverarbeitungs- und Modellierungspipelines zu erstellen. Alle Algorithmen und Einstellungen für maschinelles Lernen sind in Klassen und Objekten gekapselt, was den Code sehr einfach macht.



R.



Bis vor kurzem war der Hauptkonkurrent von Python die R-Sprache. Anfragen nach Kenntnissen über R und erscheinen jetzt selten in Stellenbeschreibungen, zumindest im Abschnitt "Vorteile". Bis Mitte 2018 programmierte ich selbst in R. Und während ich versuchte, einige meiner maschinellen Lernarbeiten zu automatisieren, erfand ich das Rad fast neu und versuchte, Pipelines für die Datenaufbereitung und das Modelltraining in R zu erstellen. Wenig später fand ich heraus, dass solche Pipelines in der sklearn-Bibliothek schon lange existieren und als Pipeline bezeichnet werden.



C ++, C #



Wenn die vorhandenen Python-Bibliotheken nicht ausreichen und Sie einen neuen Algorithmus mit hoher Leistung implementieren müssen, können Sie die kompilierte und statisch typisierte C ++ - Sprache oder eine ähnliche Sprache C # verwenden.



Matlab



Die MatLab-Sprache ist in das gleichnamige Softwarepaket und eine interaktive Umgebung für technische Berechnungen integriert. Diese Sprache ist zwar in größerem Umfang zur Lösung technischer Probleme und nicht zur Durchführung von Finanz- oder Geschäftsanalysen gedacht. Ich hatte zum Beispiel das Glück, MatLab zweimal zu verwenden: bei der Untersuchung von Schallemissionssignalen in Strukturen sowie bei der Verarbeitung menschlicher Sprache.



Es gibt eine Reihe von Bibliotheken für maschinelles Lernen mit APIs für andere Programmiersprachen wie Java, JavaScript, Scala usw. Aber ich werde nicht weiter darauf eingehen, da der Zweck des Artikels etwas anders ist.



Bitte haben Sie etwas Geduld. In den folgenden Abschnitten erfahren Sie alles.



2. AutoML und visuelle Designer



AutoML vereinfacht gemäß seiner Grundidee die Aufgabe des Forschers erheblich und reduziert mehrere Schritte zum Studieren und Aufbereiten von Daten, Erstellen von Funktionen, Auswählen und Vergleichen eines Algorithmus für maschinelles Lernen und Einstellen von Hyperparametern auf einen einzigen Schritt. In diesem Schritt wird eine große Box namens AutoML ausgewählt und konfiguriert. Das Ergebnis der Ausführung des AutoML-Algorithmus ist eine konstruierte und entsprechend konfigurierte und trainierte Pipeline. Es bleibt nur, die "Rohdaten" zu nehmen, sie in die Pipeline zu schieben und auf das Ergebnis in Form von Prognosen am Ausgang zu warten.



Das Feld "AutoML" sieht entweder aus wie eine Bibliothek für maschinelles Lernen oder wie ein Webdienst, in den Daten hochgeladen werden.



Wenn dies eine Bibliothek ist, unterscheidet sie sich von sklearn darin, dass unser üblicher Code von 20 bis 30 Zeilen auf 5 Zeilen komprimiert ist. Ein berühmtes Beispiel für eine solche Bibliothek ist H2O.



Ein weiteres Beispiel ist die MLBox-Bibliothek. Sie können Geschichten über sie im Internet finden, darüber, wie die Verwendung von MLBox es ihr ermöglichte, bei Kaggle-Wettbewerben unter die Top 5% zu gelangen.



Nun ein paar Worte zu AutoML-Cloud-Diensten. Erstens haben es alle großen digitalen Giganten eilig, ihre technischen Lösungen vorzustellen. Einige davon sind: Google AutoML-Tabellen, Azure Machine Learning (Microsoft), SageMaker Autopilot (Amazon). Die aufgeführten Dienste sollten in erster Linie für Unternehmen von Interesse sein, die Analysesysteme auf Cloud-Plattformen entwickeln. Es ist sehr praktisch, wenn die Dateninfrastruktur, die Computerressourcen und die vorgefertigten Algorithmen für maschinelles Lernen von demselben Anbieter bereitgestellt werden. Die Integration ist wirklich nahtlos.



Neben digitalen Giganten treten auch kleinere Player in den AutoML-Markt ein. Beispielsweise arbeitet Bell Integrator derzeit aktiv an der Plattform neuton.ai.



Im selben Abschnitt sollten Sie sich an maschinelle Lernsysteme erinnern, die eine Zwischenposition zwischen direkter Programmierung in R und Python und vollständig gepacktem AutoML einnehmen. Dies sind die sogenannten Workflow-Konstruktoren. Zwei typische Beispiele sind der Azure Machine Learning Designer von Microsoft und die SberDS-Plattform von Sberbank.



Der Konstruktor besteht aus einer Reihe von Bausteinen, aus denen Sie die gesamte Pipeline für maschinelles Lernen zusammenstellen können, einschließlich der endgültigen Überprüfung des Zustands des Modells. Dies ist zweifellos eine schöne Lösung für Menschen mit einer visuellen Denkweise, die den Prozess des maschinellen Lernens und des Modelltests in Form von Diagrammen darstellen können.



3. BI-Tools



Hier möchte ich einige BI-Lösungen im Bereich Analytics überprüfen: Power BI, Tableau, Qlick Sense, Qlick View und Excel.



Power BI



Power BI ist eine Reihe von Analysetools von Microsoft, die als Desktop-Apps und Cloud-Dienste verfügbar sind. Es gibt Unternehmenslösungen, die auf der geschlossenen IT-Infrastruktur des Unternehmens funktionieren. Das Arbeiten in Power BI Desktop oder Power BI Services erfordert keine Programmierkenntnisse. Es besteht die Möglichkeit der Online-Integration mit externen Datenquellen sowie des Herunterladens von Daten im CSV-Format.



Power BI ist in der Lage, Probleme des maschinellen Lernens mit AutoML zu lösen, dh Sie müssen keinen Code wie in Python schreiben, um ein Klassifizierungs- oder Regressionsmodell zu erstellen. Zusätzlich zu den Standardaufgaben zum Analysieren von Tabellendaten umfasst die Funktionalität Technologien zur Stimmungsanalyse, zum Extrahieren von Schlüsselphrasen, zur Spracherkennung und zum Hinzufügen von Tags zu einem Bild.



Tableau



Tableau ist ebenso wie Power BI eine ganze Familie von Online- und Desktop-Anwendungen. Diese Anwendungen verfügen über eine einfache visuelle Oberfläche und ermöglichen Ihnen das Arbeiten mit der Drag-and-Drop-Methode. Schöne Diagramme werden mit nur wenigen Klicks erstellt. Sie können die Daten auch tabellarisch analysieren und verschiedene Filter darauf anwenden.



Mit Tableau können Sie Probleme des maschinellen Lernens wie Regression, Zeitreihenprognose und Clusteranalyse lösen. Am wichtigsten ist, dass Tableau in Skripte in R und Python integriert werden kann. Es stellt sich als leicht erweiterbares Werkzeug heraus.



Qlick Sence und Qlick View



Qlick Sence und Qlick View unterscheiden sich in Positionierung und Benutzeroberfläche, aber im Wesentlichen und in Problemlösungsalgorithmen basieren sie auf derselben Engine. Qlick View ist eine Unternehmensplattform, die von Spezialisten betrieben wird. Qlick Sence ist ein Tool für den persönlichen Gebrauch, ohne dass Sie Hilfe von Technikern benötigen. Unterstützung.



Bei der ersten Bekanntschaft fallen die "Schönheit" und die einfache Visualisierung auf. Dies ist genau das Werkzeug zum Erstellen eines auffälligen Management-Dashboards. Aus meiner Sicht ist die Möglichkeit, den Maßstab bei der Analyse von geografischen Karten und Clustern in zweidimensionalen Diagrammen zu ändern, besonders spektakulär. Ich erinnere mich an Aufnahmen aus Filmen, in denen auf dem Foto von Satelliten versucht wird, das Nummernschild des Autos zu erkennen oder eine Person von der Menge auf dem Platz zu unterscheiden.



Eine weitere interessante Option ist das Vorhandensein einer mobilen Anwendung zur Durchführung von Analysen von einem Smartphone aus. So erscheint der Top-Manager des Einzelhandelsnetzwerks, der zum nächsten Flug am Flughafen eilt und im Messenger eine unerwartete Nachricht mit einem Link zum Dashboard erhält.

Qlick Sence lässt sich in Python und damit in maschinelles Lernen integrieren.



Excel



Du wirst mir vergeben, aber ich konnte nicht an Excel vorbeikommen. Egal wie viel Sie lachen, jedes Instrument ist auf seine Weise gut. Zum Beispiel sind Excel-Pivot-Tabellen und -Diagramme mit nur wenigen Klicks wunderschön erstellt. In Kombination mit einer praktischen Tabellenkalkulation und CSV-Formatierung ist es ein ziemlich gutes Werkzeug.



4. Ein Highlight auf dem Kuchen. AI-basierte automatische Codegenerierung



Als ich mich einmal im Internet traf, wurde mir die Frage gestellt: "Programmieren Sie in Python?" Und als ich mit "Ja" antwortete, war die Fortsetzung völlig unerwartet.



"Weißt du davon ..." und dann gab es einen Link zum Video auf Youtube

https://www.youtube.com/watch?v=fZSFNUT6iY8&t=4s&ab_channel=FazilBabu .



Dies ist ein generatives Textmodell von OpenAI, das im GitHub-Repository trainiert wurde. Spezifische Beispiele zeigen die Fähigkeit des Modells, Python-Code basierend auf dem Funktionstitel und seiner kurzen Beschreibung zu generieren.



Was aber, wenn ein solches Modell von Datenwissenschaftlern gut auf Skripten trainiert werden kann? Dies ist eine Frage zum Nachdenken ...



All Articles