GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

Featuretools

featuretools – 自動フィーチャエンジニアリング

投稿日:

自動フィーチャエンジニアリング https://www.featuretools.com

「機械学習の聖杯の一つは、機能工学のプロセスをますます自動化することです。 – ペドロ・ドミンゴス、 機械学習について知っておくべき有用な情報

Featuretoolsは、自動化されたフィーチャエンジニアリングのためのPythonライブラリです。 詳細については、 ドキュメントを参照してください。

インストール

ピップでインストールする

pip install featuretools

以下は、Deep Feature Synthesis(DFS)を使用して自動フィーチャエンジニアリングを実行する例です。 この例では、タイムスタンプ付きの顧客トランザクションで構成される複数テーブルのデータセットにDFSを適用します。

>> import featuretools as ft
>> es = ft.demo.load_mock_customer(return_entityset=True)
>> es
Entityset: transactions
  Entities:
    customers (shape = [5, 3])
    sessions (shape = [35, 4])
    products (shape = [5, 2])
    transactions (shape = [500, 5])
  Relationships:
    transactions.product_id -> products.product_id
    transactions.session_id -> sessions.session_id
    sessions.customer_id -> customers.customer_id

Featuretoolsは、「ターゲットエンティティ」の機能の単一のテーブルを自動的に作成できます。

>> feature_matrix, features_defs = ft.dfs(entityset=es, target_entity="customers")
>> feature_matrix.head(5)
            zip_code  COUNT(transactions)  COUNT(sessions)  SUM(transactions.amount) MODE(sessions.device)  MIN(transactions.amount)  MAX(transactions.amount)  YEAR(join_date)  SKEW(transactions.amount)  DAY(join_date)                   ...                     SUM(sessions.MIN(transactions.amount))  MAX(sessions.SKEW(transactions.amount))  MAX(sessions.MIN(transactions.amount))  SUM(sessions.MEAN(transactions.amount))  STD(sessions.SUM(transactions.amount))  STD(sessions.MEAN(transactions.amount))  SKEW(sessions.MEAN(transactions.amount))  STD(sessions.MAX(transactions.amount))  NUM_UNIQUE(sessions.DAY(session_start))  MIN(sessions.SKEW(transactions.amount))
customer_id                                                                                                                                                                                                                                  ...                                                                                                                                                                                                                                                                                                                                                                                                                                          
1              60091                  131               10                  10236.77               desktop                      5.60                    149.95             2008                   0.070041               1                   ...                                                     169.77                                 0.610052                                   41.95                               791.976505                              175.939423                                 9.299023                                 -0.377150                                5.857976                                        1                                -0.395358
2              02139                  122                8                   9118.81                mobile                      5.81                    149.15             2008                   0.028647              20                   ...                                                     114.85                                 0.492531                                   42.96                               596.243506                              230.333502                                10.925037                                  0.962350                                7.420480                                        1                                -0.470007
3              02139                   78                5                   5758.24               desktop                      6.78                    147.73             2008                   0.070814              10                   ...                                                      64.98                                 0.645728                                   21.77                               369.770121                              471.048551                                 9.819148                                 -0.244976                               12.537259                                        1                                -0.630425
4              60091                  111                8                   8205.28               desktop                      5.73                    149.56             2008                   0.087986              30                   ...                                                      83.53                                 0.516262                                   17.27                               584.673126                              322.883448                                13.065436                                 -0.548969                               12.738488                                        1                                -0.497169
5              02139                   58                4                   4571.37                tablet                      5.91                    148.17             2008                   0.085883              19                   ...                                                      73.09                                 0.830112                                   27.46                               313.448942                              198.522508                                 8.950528                                  0.098885                                5.599228                                        1                                -0.396571

[5 rows x 69 columns]

現在、機械学習に使用できる各顧客のための特徴ベクトルがあります。 詳細な例については、Deep Feature Synthesisのドキュメントを参照してください。

デモ

次の購入を予測する

リポジトリ | ノート

このデモンストレーションでは、Instacartの300万件のオンライン食料品注文のマルチテーブルデータセットを使用して、次に顧客が購入するものを予測します。 自動化されたフィーチャエンジニアリングを使用してフィーチャを生成する方法と、Featuretoolsを使用して正確な機械学習パイプラインを構築する方法を示します。フィジカルツールは、複数の予測問題に再利用できます。 より高度なユーザーには、Daskを使用してパイプラインを大規模なデータセットに拡張する方法を示します。

Featuretoolsの使い方の例については、 デモページをご覧ください。

サポート

Featuretoolsコミュニティは、Featuretoolsのユーザーにサポートを提供してくれることでしょう。 プロジェクトのサポートは、質問のタイプに応じて4つの場所にあります。

  1. 使用上のご質問については、 featuretoolsタグでStack Overflowを使用してください。
  2. バグ、問題、または機能リクエストではGithubの問題が発生します。
  3. コアライブラリの開発に関する議論については、 gitterを使用してください
  4. それ以外の場合は、電子メールでhelp@featuretools.comにアクセスしてください

機能ラボ

Featuretoolsは、 Feature Labsの開発者によって作成されました インパクトのあるデータサイエンスパイプラインを構築することが重要な場合は、お気軽にお問い合わせください。







-Featuretools
-, , , ,

執筆者: