Evalml: Integrieren Sie Woodwork DataTables in EvalML

Erstellt am 25. Sept. 2020  ·  8Kommentare  ·  Quelle: alteryx/evalml

Dieses Epic verfolgt alle Probleme im Zusammenhang mit der Integration von Woodwork DataTables in EvalML.

Hinweise hier: https://alteryx.quip.com/XedaAs9HXc9f/EvalML-Woodwork-Table-Integration
Designdokument hier: https://alteryx.quip.com/Oa4aA6h0Rf2k/Woodwork-DataTable-Integration-Design-Document

Implementierungsplan:

  • AutoML aktualisieren: 1 Woche

    • Aktualisieren Sie AutoMLSearch, um WW DataTables zu unterstützen. Behalten Sie die Unterstützung für Pandas-Eingaben bei.

    • AutoML übergibt weiterhin Pandas-DFs an die Pipelines/Komponenten

  • Fügen Sie eine Dokumentation darüber hinzu, auf welche Typen wir erwarten, dass kategorische, numerische und Text festgelegt werden, damit automl Funktionen korrekt behandelt, und warnen Sie die Benutzer, was passieren kann, wenn Benutzer pandas DataFrames / numpy-Arrays übergeben. 2 Tage

  • Aktualisieren Sie Pipelines und alle Komponenten, um WW DataTables zu akzeptieren: 1 Woche

    • Kann (und sollte) in Gruppen durchgeführt werden
  • Aktualisieren Sie AutoML, um Datentabellen an jede Pipeline/Komponente anstelle von Pandas DF zu übergeben. 1 Tag
  • Aktualisieren Sie die Komponenten von der Auswahl mit Pandas-Dtypes auf die Auswahl mit stattdessen logischen DataTable-Typen. 3 Tage
  • Aktualisieren Sie die Dokumentation, um DataTables in allen Beispielen zu verwenden. 2 Tage
  • Aktualisieren Sie alle Diagrammmethoden, util-Methoden, die Daten akzeptieren, um DataTables zu unterstützen. 1 Woche

Insgesamt: 3 Wochen 3 Tage, dann 1 weitere Woche zum Erstellen von Grafiken/Utilitys.

Schlüsseldaten
Die Veröffentlichung im Oktober ist dienstags, der 27. Oktober.

Ziel
Vervollständigen Sie alle bis Freitag, den 6. November (4 Wochen). Auslieferung im Nov.-Release.

Stretch-Ziel
Alles außer graphing/utils bis zum Oktober-Release (27. Okt.).

epic

Alle 8 Kommentare

@angela97lin : Ich denke, wir sollten neue Datentabellentypen löschen, die wir anfangs nicht unterstützen werden. Dann können wir diese von Fall zu Fall unterstützen. So:

dt = ... # woodwork datatable as input to automl search, for example
numeric_features = dt.select('numeric')
categorical_features = dt.select('categorical')
natural_language_features = dt.select('natural_language')
# then, in order to drop unsupported types, from here on out, don't use
# the other features which may still be held in the original datatable

Ein bemerkenswertes Beispiel: Der Betrugsdatensatz verwendet Lat/Long . Derzeit gibt es das als zwei unabhängige Floats weiter. Kurzfristig sollten wir einfach absteigen. Ich nehme an, wir könnten in zwei unabhängige Floats codieren, aber ich bezweifle, dass das gut funktioniert. Langfristig werden wir die Latlong-kompatiblen Primitive von featuretools verwenden wollen, um Features für diesen Typ zu erstellen.

Das macht Sinn?

@freddyaboulton hat heute einen guten Punkt angesprochen: Da wir evalml auf Conda versenden, müssen wir Holzarbeiten auf Conda haben, bevor wir erwarten können, dass Benutzer es installieren. Damit bleiben uns folgende Optionen für das weitere Vorgehen:

  1. Finden Sie heraus, wann Holzarbeiten zu Conda hinzugefügt werden (und/oder helfen Sie dabei, dies zu beschleunigen). Halten Sie bis dahin alle Holzarbeiten zusammen. Weil wir das brauchen, um Code zu veröffentlichen, der von Holzarbeiten abhängt.
  2. Machen Sie Woodwork kurzfristig zu einer "optionalen" Abhängigkeit, was bedeutet, dass wir Woodwork-Tabellen einfach nicht als Argument für die automatische Suche unterstützen, wenn der Import fehlschlägt. Auf lange Sicht fühlt es sich klobig an, dies für alle fit / predict -Methoden von Pipelines/Komponenten zu tun, insbesondere wenn wir sowieso Holzarbeiten zu Conda hinzufügen, also sollten wir dies vermeiden.
  3. Unterstützung für Holzarbeiten zusammenführen. Bei jeder Conda-Installation von evalml treten Importfehler auf. Leben Sie damit, bis die Holzarbeiten auf Conda sind.
  4. Unterstützung für Holzarbeiten zusammenführen. Geben Sie nicht an Conda frei, bis die Holzarbeiten auf Conda sind.

Ich bin ein Fan von Option 1, dh Holzarbeiten auf Conda zu bringen, weil ich glaube, dass wir das langfristig machen wollen.

Wie ich sehe, wurde bereits ein Problem für das Hinzufügen von Holzarbeiten zu Conda eingereicht. Ich werde dem nachgehen.

@dsherry Danke dafür! @gsheni hat hier erwähnt, dass sie wahrscheinlich gegen Ende der Woche ein Update haben werden. Sollten wir dann mit der Zusammenführung für die Oktober-Veröffentlichung warten?

@angela97lin ja, angesichts der Tatsache, dass die Veröffentlichung in ein paar Tagen ist und du auch eine Weile unterwegs sein wirst, sollte es nicht zu viel Mühe bereiten, mit der Zusammenführung bis danach zu warten.

Habe gerade mit @angela97lin und @freddyaboulton über das Holzarbeiten-Upgrade geplaudert. Hier ist, was wir als derzeit ausstehend / im Flug aufgeführt haben:

  • Aktualisierung der Datenprüfungen (in Bearbeitung)
  • Aktualisieren Sie alle Komponenten, um gegebenenfalls Holzarbeiten zu verwenden (#1290)
  • Aktualisieren Sie die Modellverständnismethoden
  • Geben Sie Holzarbeiten anstelle von Pandas aus der Pipeline/Komponente transform / predict zurück, und überall geben wir eine Kopie oder Erweiterung der vom Benutzer eingegebenen Daten zurück.
  • Aktualisieren Sie unsere alten Dtype-Listen und alle Verwendungen, um Holzarbeiten zu verwenden

@angela97lin habe ich etwas verpasst?

@dsherry Das sieht ungefähr richtig aus!

  • Aktualisierung der Dokumentation zur Verwendung von Woodwork (in Bearbeitung, Nr. 1466)
  • Aktualisieren Sie die Datenprüfungen (in Bearbeitung, #1481)
  • Aktualisieren Sie Methoden zum Verständnis von Modellen und grafische Darstellungen, die nicht in der Dokumentation behandelt werden
  • Geben Sie Holzarbeiten anstelle von Pandas aus der Pipeline/Komponente transform / predict zurück, und überall geben wir eine Kopie oder Erweiterung der vom Benutzer eingegebenen Daten zurück (#1406)
  • Aktualisieren Sie unsere alten Dtype-Listen und alle Verwendungen, um Holzarbeiten-Typen Nr. 1290 zu verwenden

@angela97lin super , danke!

@chukarsten @dsherry Alle Probleme im Zusammenhang mit diesem Epic wurden geschlossen! Ist es sicher, dieses Epos zu schließen und nur Probleme zu verfolgen und zu verfolgen, die isoliert auftreten? :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen