Evalml: WoodworkDataTablesをEvalMLに統合する

作成日 2020年09月25日  ·  8コメント  ·  ソース: alteryx/evalml

このEpicは、 WoodworkDataTablesをEvalMLに統合することに関連するすべての問題を追跡します。

ここでのメモ: https ://alteryx.quip.com/XedaAs9HXc9f/EvalML-Woodwork-Table-Integration
ここでの設計ドキュメント: https ://alteryx.quip.com/Oa4aA6h0Rf2k/Woodwork-DataTable-Integration-Design-Document

実行計画:

  • AutoMLの更新:1週間

    • AutoMLSearchを更新して、WWDataTablesをサポートします。 パンダ入力のサポートを維持します。

    • AutoMLは引き続きパンダDFをパイプライン/コンポーネントに渡します

  • automlが機能を正しく処理するために、カテゴリ、数値、およびテキストが設定されると予想されるタイプに関するドキュメントを追加し、ユーザーがpandas DataFrames / numpy配列を渡した場合に何が起こるかをユーザーに警告します。 2日

  • パイプラインとすべてのコンポーネントを更新して、WW DataTablesを受け入れます:1週間

    • グループで行うことができます(そしてすべきです)
  • AutoMLを更新して、パンダDFではなくすべてのパイプライン/コンポーネントにデータテーブルを渡します。 1日
  • 代わりに、pandasdtypesを使用した選択からDataTable論理型を使用した選択にコンポーネントを更新します。 3日
  • すべての例でDataTablesを使用するようにドキュメントを更新します。 2日
  • DataTablesをサポートするために、すべてのグラフメソッド、データを受け入れるutilメソッドを更新します。 1週間

合計:3週間3日、さらに1週間でグラフ化/ユーティリティを実行します。

重要な日付
10月のリリースは10月27日火曜日です。

ゴール
11月6日(金)(4週間)までにすべて完了してください。 11月リリースで出荷。

ストレッチゴール
10月のリリース(10月27日)までに行われたグラフ化/ユーティリティを除くすべて。

epic

全てのコメント8件

@ angela97lin :最初はサポートしない新しいデータテーブルタイプを削除する必要があると思います。 次に、ケースバイケースでそれらのサポートを追加できます。 そう:

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

注目すべき例:詐欺データセットはlat / longを使用しています。 現在、それは2つの独立したフロートとして渡されます。 短期的には、私たちはただドロップする必要があります。 2つの独立したフロートにエンコードできると思いますが、それがうまく機能するとは思えません。 長期的には、featuretoolsのlatlong互換プリミティブを使用して、そのタイプの機能を構築する必要があります。

意味がある?

@freddyaboultonは今日、良い点を挙げました。evalmlはcondaで出荷されるため、ユーザーがインストールすることを期待する前に、木工品をcondaに配置する必要があります。 これにより、続行する方法について次のオプションが残ります。

  1. 木工品がいつコンダに追加されるかを調べます(および/またはそれを促進するのに役立ちます)。 それまで木工の合流を保持します。 木工に依存するコードをリリースするためにそれを行う必要があるからです。
  2. 短期的には、木工品を「オプションの」依存関係にします。つまり、インポートが失敗した場合、automl検索の引数として木工品テーブルをサポートしません。 長期的には、すべてのパイプライン/コンポーネントfit / predictメソッドでこれを行うのは厄介だと感じます。特に、とにかく木工品をコンダに追加する場合は、これを避ける必要があります。
  3. 木工サポートをマージします。 evalmlのcondaインストールには、インポートエラーが発生します。 木工がコンダになるまでこれと一緒に住んでください。
  4. 木工サポートをマージします。 木工品がコンダになるまでコンダに放さないでください。

私はオプション1、つまり木工品をコンダに乗せるのが好きです。それが私たちが長期的にやりたいことだと信じているからです。

コンダに木工品を追加するための問題がすでに提出されているようです。 フォローアップします。

@dsherryありがとうございます! @gsheniここで、週末近くに更新がある可能性が高いと述べました。 それでは、10月のリリースのためにマージを延期する必要がありますか?

@ angela97linうん、リリースが数日であり、あなたも少しの間外出することを考えると、その後までマージするのを待つのはそれほど問題ではないはずです。

木工品のアップグレードについて@ angela97lin@freddyaboultonとチャットしていました。 現在未処理/機内としてリストされているものは次のとおりです。

  • データチェックの更新(進行中)
  • 該当する場合は木工タイプを使用するようにすべてのコンポーネントを更新します(#1290)
  • モデル理解方法を更新する
  • パイプライン/コンポーネントtransform / predictからパンダの代わりに木工品を返し、ユーザーが入力したデータのコピーまたは拡張をどこにでも返します。
  • 古いdtypeリストとすべての使用法を更新して、木工タイプを使用します

@ angela97lin私は何かを逃しましたか?

@dsherryそれはほぼ正しいようです!

  • Woodworkを使用するようにドキュメントを更新(進行中、#1466)
  • データチェックを更新します(進行中、#1481)
  • モデル理解方法の更新+ドキュメントに記載されていないグラフ化
  • パイプライン/コンポーネントtransform / predictからパンダの代わりに木工品を返し、ユーザーが入力したデータのコピーまたは拡張を返す場所(#1406)
  • 古いdtypeリストとすべての使用法を更新して、木工タイプ#1290を使用します

@ angela97lin素晴らしい、ありがとう!

@chukarsten @dsherryこのエピックに関連するすべての問題は解決されました! このエピックを閉じて、単独で発生するWWの問題を追跡して安全ですか? :)

このページは役に立ちましたか?
0 / 5 - 0 評価