このトピックでは、Auto Feature Engineering (AutoFE) を使用してFeatureStoreで新しい機能を生成する方法について説明します。 AutoFEによって生成されたパイプラインモデルを使用して、トレーニングデータセットとテストデータセットのフィーチャを変換できます。 これにより、機械学習または深層学習モデルのパフォーマンスが向上します。
AutoFEの概要
AutoFEでは、指定したデータを分析することにより、一連のフィーチャエンジニアリング操作を推奨します。 この一連の操作を直接使用して、フィーチャエンジニアリングを実行したり、推奨される操作に基づいてフィーチャエンジニアリングプロセスをカスタマイズしたりできます。
AutoFEは次の機能を提供します。
group by feature_xやgroup by (feature_x, feature_y) などの操作を実行して、統計的特徴を取得します。 たとえば、AutoFEは、サンプルデータに基づいて都市ごとに販売機能を生成できます。これは、都市を数値機能にマッピングすることに相当します。
フィーチャの組み合わせを分析して結合フィーチャを取得します。 例: crosscount(feature_x, feature_y)
加算、減算、乗算、および除算演算を実行することによって導出された特徴を得ます。 例: feature_x +-*/ feature_y
Gradient Boosting Decision Tree (GBDT) アルゴリズムを使用して、フィーチャ選択のためのフィーチャの情報値、重要度、および相関に基づいて、生成されたフィーチャをソートします。
フローチャート
前処理
AutoFEは、MaxComputeプロジェクト、Object Storage Service (OSS) バケット、Hadoop Distributed File System (HDFS) ファイルシステム、ローカルファイルなどのデータストアから読み取られたデータを前処理し、特定の要件とデータ量に基づいてデータをサンプリングします。 FeatureStoreのAutoFEは、MaxComputeプロジェクトのみをサポートします。 AutoFEのスタンドアロン版は、すべてのデータストアをサポートします。
フィーチャーの選択
フィーチャの数が800を超えると、後続のフィーチャ分析およびモデルトレーニングステップのパフォーマンスに影響があります。 GBDTアルゴリズムを使用して、生のフィーチャを評価およびフィルタリングすることを推奨します。
特徴分析
AutoFEは、フィーチャに対して統計分析、組み合わせ生成、およびスケーラブルな自動フィーチャエンジニアリング (SAFE) 選択を実行して、新しいフィーチャセットを生成します。
統計分析: AutoFEは、平均値、標準偏差、最大値、最小値、歪度、尖度などの複数の重要な統計メトリックに基づいて、特徴データの統計分析を実行します。
組み合わせ生成: AutoFEはGBDTモデルをトレーニングし、ツリーパスに基づいてフィーチャを組み合わせ、情報ゲイン比を計算してフィーチャをソートし、フィーチャの組み合わせを推奨します。
SAFE選択: AutoFEは、バケットを使用して各列の情報値を計算し、情報値の低いフィーチャを除外し、GBDTモデルをトレーニングし、フィーチャの重要度を計算し、重要度の低いフィーチャを除外します。
詳細については、「SAFE: スケーラブル自動機能エンジニアリングフレームワークFor Industrial Tasks」をご参照ください。
モデルトレーニング
AutoFEは、フィーチャ分析に基づいて構成とデータを生成し、パイプラインプロセスをトレーニングしてから、オフラインとオンラインの両方で使用できるモデルを生成します。
フィーチャー変換
AutoFEは、パイプラインモデルを読み込み、トレーニングデータとテストデータのフィーチャを変換し、フィーチャエンジニアリング結果を生成します。
課金
あなたは無料でAutoFEを使用することができます。 ただし、AutoFEが前処理、機能選択、統計分析、モデルトレーニングなどの操作を実行すると、サブスクリプションまたは従量課金制のMaxComputeプロジェクトでデータコンピューティングおよびモデルトレーニングのタスクが開始されます。 したがって、MaxComputeに関連するパブリックリソースの使用には料金がかかります。 詳細については、「概要」をご参照ください。
前提条件
このトピックで説明する操作を実行する前に、次の表で説明する要件が満たされていることを確認してください。
関连サービス | 説明 |
MaxCompute | |
DataWorks |
|
AI (PAI) のためのプラットフォーム | |
OSS |
始める前に
pai_online_project.finance_recordテーブルのデータを同期する
テストを容易にするために、Alibaba CloudはMaxComputeプロジェクトpai_online_projectにシミュレートされたテーブルを提供します。 SQL文を実行して、MaxComputeプロジェクトpai_online_projectからMaxComputeプロジェクトにテーブル内のデータを同期できます。 以下の手順を実行します。
DataWorks コンソールにログインします。
左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。
[DataStudio] ページで、作成したDataWorksワークスペースを選択し、[DataStudioに移動] をクリックします。
ポインタを [作成] に移動し、[ノードの作成] > [MaxCompute] > [ODPS SQL] を選択します。 [ノードの作成] ダイアログボックスで、次の表に示すノードパラメーターを設定します。
パラメーター
説明
エンジンインスタンス
作成したMaxComputeエンジンインスタンスを選択します。
ノードタイプ
[ノードタイプ] ドロップダウンリストから [ODPS SQL] を選択します。
パス
ビジネスフロー> ワークフロー> MaxComputeを選択します。
名前
カスタム名を指定します。
[確認]をクリックします。
作成したノードのタブで、次のSQL文を実行して、finance_recordテーブルのデータをpai_online_projectプロジェクトからMaxComputeプロジェクトに同期します。
finance_recordが存在しない場合は
CREATE TABLE IF NOT EXISTS finance_record like pai_online_project.finance_record STORED AS ALIORC LIFECYCLE 90; INSERT OVERWRITE TABLE finance_record SELECT * FROM pai_online_project.finance_record
手順
Data Science Workshop (DSW) インスタンスの開発環境に移動します。
PAI コンソールにログインします。
上部のナビゲーションバーで、DSWインスタンスが存在するリージョンを選択します。
左側のナビゲーションペインで、[ワークスペース] をクリックします。 [ワークスペース] ページで、デフォルトのワークスペースの名前をクリックします。
デフォルトのワークスペースの左側のナビゲーションウィンドウで、[モデルトレーニング] > [データサイエンスワークショップ (DSW)] を選択します。
[Data Science Workshop (DSW)] ページで、開くDSWインスタンスを見つけ、[操作] 列の [開く] をクリックして、DSWインスタンスの開発環境に移動します。
[ノートブック] タブの [ランチャー] タブで、[クイックスタート] > [ツール] を選択します。 [ツール] セクションで [DSWギャラリー] をクリックして、[DSWギャラリー] ページに移動します。
[DSWギャラリー] ページで、[Feature Store with AutoFE] を検索し、[DSWで開く] をクリックします。 必要なリソースとチュートリアルファイルのDSWインスタンスへのダウンロードが開始されます。 ダウンロードが完了すると、チュートリアルファイルが自動的に開きます。
チュートリアルファイルfeature_store_with_autofe.ipynbで、チュートリアルの内容を表示し、チュートリアルを実行します。
チュートリアルファイルでパラメーターを設定し、をクリックしてステップでコマンドを実行します。 各ステップでコマンドを順番に実行します。
コマンドの実行後、OSSコンソールに移動してテスト結果を表示します。
OSSバケットのパスを取得するには、手順4で設定した
output_config_oss_dir
パラメーターの値を表示します。