Hinweis: Obwohl JavaScript für diese Website nicht unbedingt erforderlich ist, werden Ihre Interaktionsmöglichkeiten mit den Inhalten eingeschränkt sein. Bitte aktivieren Sie JavaScript für das volle Erlebnis.

Data Science neu denken mit Python-basierten Operatoren auf Einblicks visueller Oberfläche

Derzeit sind Data Scientists von ihren Teamkollegen und relevanten Stakeholdern isoliert. Zuerst müssen Data Scientists Rohdaten sammeln oder mit Dateningenieuren über die ETL- oder ELT-Pipeline zusammenarbeiten. Dann beginnt der Prozess der Datenbereinigung und der explorativen Datenanalyse für die jeweilige Aufgabe oder das Projekt. Dieser Schritt kann recht zeitaufwendig sein, da er iterativ ist. Erst dann können Data Scientists mit dem Erstellen und Optimieren von Machine-Learning-Modellen beginnen.

Einblick canvas

Einblick: kollaborative Data Science mit der Geschwindigkeit des Denkens

Bei Einblick ist es eines unserer Ziele, Barrieren für Data Scientists abzubauen, damit Sie weniger Zeit für mühsame Einrichtung und repetitive Aufgaben aufwenden und mehr Zeit für die Gewinnung aussagekräftiger Erkenntnisse haben. Um unsere Ziele zu verfolgen, erfindet Einblick den modernen Data Science Workflow neu in einer kollaborativen Data Science-Leinwand statt eines linearen Notebooks. Die Arbeit in einer Canvas-Umgebung bietet viele Vorteile, darunter Live-Kollaboration, eine expansive visuelle Oberfläche und eine progressive Berechnungsumgebung. In diesem Artikel werden wir einen der wichtigsten Wege hervorheben, wie wir Data Scientists Zeit sparen – unsere Operatoren. Wir werden ein paar unserer Kernoperatoren durchgehen, warum Python ein so entscheidender Teil unserer Softwarelösung ist und wie wir unser Angebot mit einer Benutzeroberfläche für Benutzeroperatoren erweitert haben. Letzteres ermöglicht es Benutzern, ihre eigenen Operatoren anzupassen und zu verwenden, die in jeder Einblick-Canvas verwendet und mit anderen Einblick-Benutzern geteilt werden können.

Operatoren in einer Data Science Canvas

Eine der Hauptineffizienzen für Data Scientists ist derzeit, dass es bestimmte Aufgaben oder Code-Schnipsel gibt, die immer wieder ausgeführt werden, wie z. B. Datenexploration oder Feature Engineering. Obwohl diese Aufgaben banal und repetitiv sein können, sind sie für den Data Science-Workflow von entscheidender Bedeutung.

Ein Kernbestandteil unserer Plattform sind unsere Operatoren. Einblick-Operatoren erfassen jeweils eine definierte Reihe von Schritten in der Analyse und müssen nicht linear in der Canvas-Umgebung angeordnet werden. Der Raum ermöglicht es den Benutzern dann, entsprechend ihrem natürlichen Denkfluss zu arbeiten. Einige unserer Kernoperatoren umfassen

  • Python-Zellen waren traditionell der *einzige* Operator, der Data Scientists zur Verfügung stand. Schreiben Sie Code und reproduzieren Sie Ihr Jupyter-Notebook 1:1 in einer browserbasierten Python-Laufzeit.
  • Chart-Operatoren erstellen verschiedene Visualisierungen, darunter Streudiagramme, Histogramme, Balkendiagramme, Liniendiagramme und Wärmebildkarten.
  • Ausdrucksoperatoren unterstützen die Python 3-Syntax, nehmen einen DataFrame entgegen und fügen eine neue Spalte basierend auf einem logischen Ausdruck hinzu. Wir unterstützen derzeit viele Operationen, darunter arithmetische, Vergleichs- und bitweise Operatoren sowie mathematische Funktionen.
  • AutoML-Operatoren erstellen genauere prädiktive Modelle in deutlich kürzerer Zeit, als es für die manuelle Abstimmung nötig wäre. Sie müssen lediglich die Ziel- und Merkmalsspalten aus einem DataFrame sowie die Trainings- und Testdatensätze auswählen.

Angesichts der vielen Bibliotheken und Frameworks von Python für Data Science, Statistik und Machine Learning, wie z. B. statsmodels und sklearn, ist Python eine einfache Wahl für moderne Data Scientists. Daher verwendet Einblick Python in verschiedenen Teilen unserer Codebasis. Darüber hinaus ist unser Python-Zellen-Operator entscheidend für unsere Benutzererfahrung und verbindet die Erfahrung der Arbeit in einem Python-Notebook mit der Arbeit in einer Data Science-Canvas. Wir schätzen die Flexibilität, die Python unseren Benutzern bietet, um nicht nur die Funktionalität von Einblick zu erweitern, sondern auch den Data Science-Prozess effizienter und zugänglicher zu gestalten.

Erstellung von teilbaren benutzerdefinierten Operatoren

Einblick canvas with user-defined linear regression operators

Bei unseren Bemühungen, den Data Science-Prozess reibungsloser und schneller zu gestalten, haben wir Benutzeroperatoren entwickelt. Über einen Editor oder durch Verknüpfung mit einem Git-Repository können unsere Benutzer ihre eigenen Einblick-Operatoren erstellen, um ihren eigenen Code und ihre eigenen Prozesse einfach und effizient wiederzuverwenden. Angesichts der Bedeutung von Zusammenarbeit und Kommunikation für den Data Science-Prozess können von Einblick-Benutzern erstellte Operatoren einfach geteilt werden, sodass jemand, der weiß, was er tun möchte, z. B. eine Textspalte in eine Datums-/Zeitspalte umwandeln, dies tun kann, ohne die Python-Syntax dafür kennen zu müssen.

Beispielsweise wurden unsere Operatoren für lineare Regression und k-Means-Clustering beide über unseren Benutzeroperator-Editor erstellt. Der Benutzeroperator-Editor ist über unser Operator-Menü zugänglich, das im Menü Benutzereinstellungen ein- und ausgeblendet werden kann.

Um die Wurzeln der Data Science zu feiern und als Anspielung auf gemeinsame Erfahrungen in der Data Science-Community haben wir einen Operator zur Visualisierung eines einfachen linearen Regressionsmodells erstellt. Dieser Benutzeroperator ist eine Erweiterung unseres eingebauten und für jeden zugänglichen linearen Regressionsoperators, der es uns ermöglicht, einen schön formatierten Graphen für die lineare Regression zu erstellen. Zur Veranschaulichung des Operators verwenden wir den iris-Datensatz, über die seaborn-Bibliothek.

Festlegen von Operator-Eingaben

Einblick user operator interface

Im Reiter "Operator-Spezifikation" unseres Benutzeroperator-Editors können Sie Folgendes festlegen:

  • Grundeigenschaften: Enthält die Abmessungen des Operators in der Canvas und eine Beschreibung des Operators, die beim Überfahren mit der Maus im linken Bedienfeld und in der Canvas bei Verwendung des Operators angezeigt wird.
  • DataFrame-Eingaben: Ermöglicht Ihnen, die DataFrames zu benennen, die in den Operator eingespeist werden und in der Operator-Bearbeitung als Liste dfs zugänglich sind. Sie können die DataFrame-Eingaben im Skript-Tab indizieren und darauf zugreifen.
  • Attributauswahl-Eingaben: Gibt an, was aus den DataFrame-Eingaben ausgewählt werden kann und was nicht, z. B. welche Spaltentypen zulässig sind oder wie viele Auswahlen pro Feld zulässig sind. Sie können darauf über die Variable attributes im Skript-Tab zugreifen.
  • Benutzerdefinierte Werte: Ermöglicht die Eingabe benutzerdefinierter Werte wie Texttitel von Diagrammen, Anzahl der Bins in einem Histogramm oder jedes andere dynamische Feld, das Sie für jedes Mal, wenn Sie den Operator verwenden, anpassen möchten.
  • Innere Eingaben: Ermöglicht die Eingabe von Eingaben innerhalb des Operators anstelle des linken Bedienfelds. Dies ist hauptsächlich ein ästhetischer Unterschied in der Erfahrung der Verwendung des Operators in der Canvas.

Stellen Sie sicher, dass Sie Ihre Arbeit am unteren Ende der Seite speichern!

Operator-Paket-Anforderungen

Im Reiter "Anforderungen" können Sie Pakete auflisten, die für die Ausführung Ihres Operators installiert werden müssen. Sie können diesen Reiter als Ersatz für eine requirements.txt-Datei in einem GitHub-Repository betrachten.

Operator-Skript

Im Reiter "Skript" können Sie genau anpassen, was Ihr Operator tun soll. Sie können dies als Python-Skript behandeln. Genau wie bei jedem Python-Skript können Sie damit beginnen, relevante Pakete zu importieren, die in Ihrem Reiter "Anforderungen" aufgeführt sind. Sie können dann Ihren Code wie gewohnt schreiben. Sie können Ihr Skript auch auf beliebigen hochgeladenen Datendateien testen, während Sie im Editor arbeiten. Die integrierten Fehlermeldungen helfen Ihnen bei der Fehlerbehebung Ihres Codes.

Für den Regressionsvisualisierungsoperator haben wir Pythons matplotlib und seaborn verwendet, um ein Streudiagramm zu erstellen und zu beschriften, sowie eine Linie, die die beste Anpassungslinie basierend auf zwei Eingaben darstellt: einem DataFrame und den Ergebnissen unseres integrierten linearen Regressionsoperators.

Code for regression visualization operator

Da dies ein benutzerdefinierter Operator ist, können wir den Operator an unsere spezifischen Bedürfnisse anpassen. In diesem Fall wissen wir, dass die Ergebnisse des linearen Regressionsoperators eine Tabelle mit einer Spalte für jeden Prädiktor oder X-Variable, in diesem Fall petal_width, und einer Spalte für const, die den y-Achsenabschnitt der Regressionslinie darstellt, zurückgibt. Für fortgeschrittenere Operatoren können Sie im Reiter "Operator-Spezifikation" jederzeit weitere Eingaben oder benutzerdefinierte Eingaben hinzufügen.

Einblick operator focus on input, output

Sobald Sie mit Ihrem Code zufrieden sind, können Sie über das Options-Hamburger-Menü oben Ihren Operator veröffentlichen. Sobald Sie auf Veröffentlichen klicken, können Sie Ihren Operator in jeder Einblick-Canvas verwenden. Sie können Ihren Operator auch mit beliebigen Stakeholdern oder Mitarbeitern teilen, damit diese ihn ebenfalls verwenden können. Lesen Sie mehr über Schlüsselwörter und Konzepte zu unseren Benutzeroperatoren in der Benutzeroperator-Dokumentation von Einblick.

Warum Python: Fortschritt als Data Science-Community

Das Beispiel der einfachen linearen Regression ist eine großartige Einführung in die Implementierung von Benutzeroperatoren in Einblick, aber einige unserer Benutzer haben fortschrittlichere Operatoren erstellt, wie z. B. einen NBA-Schussdiagramm-Visualisierer, inspiriert von diesem Blogbeitrag.

Einblick NBA shot chart operator

Wir wissen, wie wichtig Innovation, Flexibilität und Effizienz für die Data Science- und Python-Community sind. Unser Team freut sich darauf zu sehen, wie andere Benutzer unsere Operatoren nutzen werden, um innovative Lösungen für Data Science-Herausforderungen zu schaffen, und wir freuen uns darauf, unsere Community zu fördern, während wir als Unternehmen wachsen.

Gemeinsam mit unseren Nutzern werden wir weiterhin die Kraft von Python nutzen, um moderne Data Science zu vereinfachen und zu verstärken. Probieren Sie Einblick und unsere Benutzeroperatoren kostenlos aus und lassen Sie uns wissen, was Sie denken. Wir freuen uns auf Ihr Feedback!