Evalml: Intégrer les tables de données de menuiserie dans EvalML

Créé le 25 sept. 2020  ·  8Commentaires  ·  Source: alteryx/evalml

Cet Epic suit tous les problèmes liés à l'intégration de Woodwork DataTables dans EvalML.

Remarques ici : https://alteryx.quip.com/XedaAs9HXc9f/EvalML-Woodwork-Table-Integration
Doc de conception ici : https://alteryx.quip.com/Oa4aA6h0Rf2k/Woodwork-DataTable-Integration-Design-Document

Plan de mise en œuvre:

  • Mettre à jour AutoML : 1 semaine

    • Mettez à jour AutoMLSearch pour prendre en charge WW DataTables. Maintenir la prise en charge de l'entrée pandas.

    • AutoML transmettra toujours les pandas DF aux pipelines/composants

  • Ajoutez de la documentation sur les types que nous attendons des catégories, des nombres et du texte pour qu'automl traite correctement les fonctionnalités, et avertissez les utilisateurs de ce qui peut arriver si les utilisateurs transmettent des tableaux pandas DataFrames / numpy. 2 jours

  • Mettre à jour les pipelines et tous les composants pour accepter WW DataTables : 1 semaine

    • Peut (et doit) se faire en groupe
  • Mettez à jour AutoML pour transmettre des tables de données à chaque pipeline/composant au lieu de pandas DF. Un jour
  • Mettez à jour les composants de la sélection à l'aide de pandas dtypes à la sélection à l'aide de types logiques DataTable à la place. 3 jours
  • Mettez à jour la documentation pour utiliser DataTables dans tous les exemples. 2 jours
  • Mettez à jour toutes les méthodes de graphique, les méthodes util qui acceptent les données, pour prendre en charge les DataTables. 1 semaine

Total : 3 semaines 3 jours, puis 1 semaine de plus pour faire des graphiques/utilitaires.

Dates clés
La sortie d'octobre est le mardi 27 octobre.

Objectif
Complétez le tout avant le vendredi 6 novembre (4 semaines). Expédier dans la version de novembre.

Objectif étendu
Tout sauf les graphiques/utilitaires réalisés par la version d'octobre (27 octobre).

epic

Tous les 8 commentaires

@angela97lin : Je pense que nous devrions supprimer de nouveaux types de table de données que nous ne prendrons pas en charge initialement. Ensuite, nous pouvons ajouter un support pour ceux-ci au cas par cas. Alors:

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

Un exemple notable : l'ensemble de données sur la fraude utilise lat/long . Actuellement, il ne passe qu'en deux flotteurs indépendants. À court terme, nous devrions simplement laisser tomber. Je suppose que nous pourrions encoder deux flottants indépendants, mais je doute que cela fonctionne bien. À long terme, nous voudrons utiliser les primitives compatibles latlong de featuretools pour créer des fonctionnalités pour ce type.

C'est logique?

@freddyaboulton a soulevé un bon point aujourd'hui : parce que nous expédions evalml sur conda, nous avons besoin que les boiseries soient sur conda avant de pouvoir nous attendre à ce que les utilisateurs l'installent. Cela nous laisse les options suivantes pour savoir comment procéder :

  1. Découvrez quand des boiseries seront ajoutées à conda (et/ou aidez à accélérer cela). Tenez toutes les fusions de boiseries jusque-là. Parce que nous avons besoin de cela pour publier du code qui dépend de la menuiserie.
  2. À court terme, faites de la menuiserie une dépendance "facultative", ce qui signifie que si l'importation échoue, nous ne prenons tout simplement pas en charge les tables de menuiserie en tant qu'argument pour la recherche automatique. À long terme, il semble maladroit de le faire pour toutes les méthodes de pipeline/composant fit / predict , surtout si nous allons de toute façon ajouter des boiseries à conda, nous devrions donc éviter cela.
  3. Fusionner le support de menuiserie. Toute installation conda d'evalml aura des erreurs d'importation. Vivez avec cela jusqu'à ce que les boiseries soient sur conda.
  4. Fusionner le support de menuiserie. Ne relâchez pas le conda tant que les boiseries ne sont pas sur le conda.

Je suis un fan de l'option 1, c'est-à-dire installer des boiseries sur conda, car je pense que c'est ce que nous voudrons faire à long terme.

Je vois qu'il y a déjà un problème pour l'ajout de boiseries à conda. Je vais suivre.

@dsherry Merci pour cela ! @gsheni a mentionné ici qu'ils auront probablement une mise à jour vers la fin de la semaine. Devrions-nous alors attendre la fusion pour la version d'octobre ?

@angela97lin oui , étant donné que la sortie est dans quelques jours, et que vous serez également absent un peu, cela ne devrait pas être trop difficile d'attendre pour fusionner après.

Je discutais juste avec @angela97lin et @freddyaboulton à propos de la mise à niveau des boiseries. Voici ce que nous avons répertorié comme actuellement en attente / en vol :

  • Mettre à jour les contrôles de données (en cours)
  • Mettre à jour tous les composants pour utiliser les types de menuiserie le cas échéant (#1290)
  • Mettre à jour les méthodes de compréhension des modèles
  • Renvoie les boiseries au lieu des pandas du pipeline/composant transform / predict , et partout où nous renvoyons une copie ou une extension des données saisies par l'utilisateur.
  • Mettez à jour nos anciennes listes de dtypes et toutes les utilisations pour utiliser les types de menuiserie

@angela97lin ai-je raté quelque chose ?

@dsherry Cela semble à peu près correct !

  • Mise à jour de la documentation pour utiliser Woodwork (en cours, #1466)
  • Mettre à jour les vérifications des données (en cours, #1481)
  • Mettre à jour les méthodes de compréhension du modèle + les graphiques non couverts dans la documentation
  • Renvoie les boiseries au lieu des pandas du pipeline/composant transform / predict , et partout où nous renvoyons une copie ou une extension des données saisies par l'utilisateur (#1406)
  • Mettez à jour nos anciennes listes de dtypes et tous les usages pour utiliser les types de menuiserie #1290

@angela97lin génial, merci !

@chukarsten @dsherry Tous les problèmes associés à cet Epic ont été résolus ! Est-il prudent de fermer cet Epic et de suivre uniquement les problèmes WW qui surviennent isolément ? :)

Cette page vous a été utile?
0 / 5 - 0 notes