Evalml: evalmlインポートに関するテキスト機能化警告

作成日 2020年08月03日  ·  7コメント  ·  ソース: alteryx/evalml

user_guideノートブック- evalmlが最初にインポートされると、RTDは警告を生成します。

この問題の原因は、すべてのコンポーネントを初期化するget_importable_subclassesです。

bug

最も参考になるコメント

nlp-primitives 1.0がpypiにリリースされ、テンソルフローは必須の依存関係ではなくなりました

全てのコメント7件

再現

import evalml

ここにトレースをスタックします

根本的な原因

  • get_importable_subclassesはすべてのコンポーネントを初期化しようとします
  • get_importable_subclassesを使用して推定量とコンポーネントの静的リストを生成するため、これはインポート時に実行されます
  • テキスト列名がコンストラクターに指定されていない場合、テキスト機能化機能は現在警告を発します

インポート時に警告が発生しないように、できる限りのことを行う必要があるようです。

修正のアイデア

  1. get_importable_subclassesによって生成されたリストを、インポート時ではなく実行時に生成されるように更新します。 つまり、コンポーネントutils
def _all_estimators():
    return get_importable_subclasses(Estimator, used_in_automl=False)
...
  1. デフォルトの引数で構築されている場合、どのコンポーネントも警告を出さないようにしてください。 この特定の警告を発生させないようにTextFeaturizerを更新します。 警告がないことを確認するために単体テストを追加します。
  2. get_importable_subclassesを更新して、コンポーネントの初期化による警告を抑制します

項目1と2を実行することをお勧めします。

#1022がマージされたとき、実行時の警告は削除されました。 ただし、まだ次の警告が表示されます。

2020-08-11 12:17:34,559 featuretools - WARNING Featuretools failed to load plugin nlp_primitives from library nlp_primitives. For a full stack trace, set logging to debug.

@dsherry上記のように、項目1と2を実行するためにPRを設定しますが、 @ eccabayから、この警告は私たちの側からのものではないことが通知されました。

@rwedge

  1. ベータpip依存関係リゾルバーを使用する

  2. featuretoolsは、テンソルフローをオプションにするプロセスにあり、EOD8 / 12/2020までに実行できます。

新しいfeaturetoolsのリリースを待ち、警告がまだ問題であるかどうかを確認することをお勧めします。

ありがとう@jeremyliweishih ! ここでのオプション2は、featuretoolsの警告を処理するのに最適であることに同意します。

それはさておき、先週の私のコメントから、あなたは現在オプション1と2に取り組んでいると理解していますよね? これらの変更の両方、特に最初の変更は、ここで付加価値をもたらすと思います。

nlp-primitives 1.0がpypiにリリースされ、テンソルフローは必須の依存関係ではなくなりました

最新バージョンのnlp-primitivesでは警告が表示されないことを確認しました。 ありがとう@rwedge! こちらで確認でき

素晴らしい、両方に感謝します!

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