TD AutoML Q&A
このページは、TD AutoML に関するさまざまな Q&A を通して、TD AutoML への理解と興味を深めてもらうことを目的としています。
参考リンク:
第1回セミナーで寄せられた質問(後日カテゴライズします)
1AutoGluon AutoMLでのケースとして、Churn推定ができるとのことですが、アプリのアンインストールや休眠を推定するのと同義になるでしょうか
はい、アプリのアンインストールや休眠の有無も予測も、Churnの有無を推定するChurn予測と同様の2値分類となります。
2各種ソリューションで分析を行う際に、データ計算量に応じて金額が変わるのでしょうか? それともメモリがベストエフォートの形で実行に時間が長くかかるだけで金額は一定なのでしょうか?
CustomScripts と同様に、月間の利用時間枠を購入いただく形となります。例えば、500ユニット時間かっていただくと、その分だけご利用いただけます。
データ量に応じて必要なユニット(メモリ容量)が異なります。ユニット時間については以下のドキュメントを参照ください。
https://docs.treasuredata.com/display/public/PD/AutoML+Resource+Capacity
3オーディエンススタジオの Predictive Scoring では、Attribute のカラムしか使えない点が課題としてあった理解です。 TD AutoMLでは Behavior のカラムも入力とできるのでしょうか?また、その場合の特徴量はどのように作られるのでしょうか?(ユーザーごとに平均値等で統計化?)
はい、Behavior テーブルのカラムも使用することができますが、そのままでは使用できません。なぜなら、TD AutoML (特に機械学習系Notebook)のインプットは、ユーザーごとに1行となる1枚のテーブルになるからです。特徴量はテーブルの中にあるカラムが使用されます。そのため、1ユーザーが複数行に現れる Behavior の項目をユーザーごとに集計(例えば、直近90日のPVや年間の売上)したものを、インプットテーブルのカラムとして追加する形で使用してもらうことになります。この点でいえば、Predictive Scoring においても、Behavior Table の集計情報を Attribute Table にセットするようにすれば、特徴量として使うことができます。
4AutoGluon AutoML について、分析するアルゴリズムは何になりますでしょうか(多値でも決定木やロジスティック回帰などいろいろ存在すると想像しております。)多数アルゴリズムが存在する場合、明示的に指定可能でしょうか。
https://docs.treasuredata.com/display/public/PD/Gluon+Train
に解説していますが、AutoGluonのノートブックでは
- Neural network (MXNet, FastAI)
- Gradient Boosting Models (LightGBM, CatBoost, XGBoost)
- Random Forests
- Extremely Randomized Trees
- k-Nearest Neighbors
exclude_models
というオプションで利用しないモデルを指定します。ですので、RandomForestを明示的に利用したい場合は、RandomForest以外をexclude_modelsオプションに指定ください。5Auto Gluon AutoML では、インプットテーブル自体は手動でデータクレンジングが必要になりますか?
手動での対応が必要なケースもあるかもしれませんが、欠損値の対応やIDなど全カラムが固有値を持つカラムの除去など基本的なデータクレンジングについては自動化されております。
インプットテーブルに対して自動処理される項目につきましては、AutoGluon Tabular - Feature Engineeringをご参照ください。
6AutoGluon AutoML を実行した際のfeature_importanceはどのように出すのでしょうか?それを元にcolumns数を減らす際、columnsの指定はどのようにやるのでしょうか?
feature importance は Permutation importanceがnotebookに出力されます。
また、
export_feature_importance
オプションでTDにテーブルとして出力も可能です。オプションの使用例は、こちらのコードをご参照ください。
また、それを元にcolumns数を減らす際、ignore_columns
オプションでカラムの指定可能です。こちらのコードで使用例をご確認ください。
その他オプションの一覧はdocumentを参照ください。
7AutoGluonで作成されたモデルについて、最終的にPythonでコードに書き出すことは可能でしょうか?
作成されたモデルはTDに保存されますが、Pythonコードとして書き出すことはできません。ただし、実行されたNotebookをダウンロードすることは可能です。UIではhtmlコンバートされたものがダウンロード可能ですが、ipynb形式もworkflowのapiから取得可能です。
8機械学習で思ったよりも精度があがらないとき、(試行錯誤になると思いますが)精度を上げるために出来ることはありますでしょうか。
精度が上がらない多くのケースで多くの場合は特徴量が足りなかったり、データ自体に問題があると思いますが、データの統計値をEDA Notebookで確認したり、Feature importance や Shapley値を確認することをお勧めします。
9AutoGluonではクロスバリデーションは自動でやってくれるのでしょうか?train, testのテーブルを両方用意しないといけないのでしょうか?
k-fold(k:3-8)の交差検証を自動的にやってくれます。
10レコメンドのお話がなかったと思うのですが、どのようなモデルがあるのでしょうか?
今後Notebookとして実装予定ですが、Field-aware Factorization Machinesというアルゴリズムを実装予定です。
11不均衡データ(Trueの方が1割以下など)における予測でも、under_samplingなどを自動にやってくれるのでしょうか?
AutoGluon AutoML Notebookにおいて、SMOTE Oversamplingがサポートされています。以下に設定例を紹介します:
+gluon_train: ml_train>: notebook: gluon_train input_table: ml_datasets.creditcard_train target_column: fraud model_name: gluon_model_${session_id} time_limit: 60 * 2 oversampling_threshold: 0.02
oversampling_threshold
パラメータによってオーバーサンプリングを制御します。上記の例の場合、マイナー(サンプル数が非常に少ないラベル)なクラスが少なくとも 0.02=2% 含まれるようにオーバーサンプリング(多めにサンプリング) が行われることになります。このオーバーサンプリングは、特に異常検知などを目的とした場合に、得られている異常値のサンプルが少ない場合などに有効です。デフォルト値は0.001(=0.1%)が設定されています。12各予測モデルに対する評価の良し悪しをどのように判断すべきでしょうか?
出力されるNotebookに、ROCなどのモデルの主要な評価指標の結果を見ることができます。また、少し話が変わるかもしれませんが、Shapley Notebook によって、実際に予測値に説明を与えることで予測モデルの理解を深めることができます。
13自動で特徴量を計算して補完してくれる機能はあるのでしょうか。 平均、最大、最小、偏差値など
今の所、特徴量を自動計算する機能はありません。
事前に寄せられた質問
1仮に目的変数が定まったとして、機会学習に掛ける際の説明変数の選び方、選定基準などがあいまいになりがち(勘に頼ってしまいがち)。どのように考えるのが良いか。
説明変数の選び方や選定基準を決めることは、機械学習において非常に重要です。以下は、説明変数を選ぶ際に考慮すべきポイントです。
- ドメイン知識を考慮する
- データセットに関するドメイン知識を持っている場合は、その知識を活用することができます。特定のドメインに関する理解があると、特定の変数が重要である可能性が高く、そのドメインに関連する変数を選択することができます。
- 相関関係を分析する
- データセットに含まれる変数の相関関係を分析することができます。相関行列を作成し、変数間の相関を確認することができます。相関が高い変数を除去することで、モデルの精度を向上させることができます。
- 特徴選択アルゴリズムを使用する
- 特徴選択アルゴリズムを使用することで、最も重要な変数を選択することができます。例えば、相互情報量、決定木、ランダムフォレストなどのアルゴリズムを使用することができます。これらのアルゴリズムは、モデルの精度を維持しながら、変数の数を減らすことができます。
- 交差検証を行う
- モデルの精度を向上させるためには、交差検証を行うことが重要です。交差検証を行うことで、モデルが過剰適合していないかどうかを確認することができます。また、交差検証を行うことで、説明変数の選択の妥当性を確認することができます。
- 説明変数の数に注意する
- 最適な説明変数の数は、モデルやデータセットによって異なります。多すぎる場合は、モデルが過剰適合してしまう可能性があります。一方、少なすぎる場合は、モデルが不十分になる可能性があります。適切な数の説明変数を選択するためには、過去のデータに基づいてモデルを評価し、必要に応じて説明変数の調整を行います。
2社員のスキル差が大きいので、極力スキルレスである程度のレベルの機械学習やデータ分析ができたら…と考えております。
TD AutoML はスキルレスで機械学習/データ分析を行うことを目指した枠組みとなっていますので是非ともご活用いただければと思います。
3CRMでデータを中心としたアプロ―チをしようとしてますが、エンドユーザ側で機械学習など現場で使えてない状況です。ぜひこの機会にTD上で容易に機械学習使っていきたいです。
ありがとうございます。エキスパート不要で実践可能な TD AutoML が、エンドユーザー側で活用されることを願っております。今後、そのサポートとなる詳細なドキュメントや活用事例を公開していきたいと思います。
4TDの機械学習を用いたユースケースを知りたいです
TD AutoMLのソリューションごとの汎用的な活用事例と、より詳細な顧客事例を現在準備中です。もう少しお時間を頂ければと思います。
5別ツールで機械学習を行っているため、TDで完結できるものなのかを確認したいです。
TD AutoML では、Workflow 内で専用のオペレータを用いて実行することになります。つまりTD CDP内で処理が完結するため、(外部ツールで機械学習を実行するために)学習に必要なデータを外部に出したり、また得られた予測結果などをTDに戻すといった工程がなくなります。
6Q学習
TD AutoML では、NBA(Next Best Action)という Notebook にて、Q学習を実行することができます。過去の顧客に対するアクションとその結果を都度学習(強化学習)し、顧客ごとに次に最適なアクションを提示してくれるものとなっています。
7使いにくい、分かりにくい、データをいちいち機械学習をする先にコピーしたくない
TD AutoML では「使いにくい、わかりにくい」の解消を目指して、できるだけ実践の敷居を下げる様な工夫を行っております。また、TD CDP内で全ての機械学習プロセスが完結しますので、データを外部に出したり戻したりする必要がなく、これが大きなメリットと呼べるものになっています。
8精度と使いやすいさ
TD AutoML の最大のメリットの一つに、必要最低限の記述で、精度の高い処理を実行してくれるところにあります。例えば AutoGluon と呼ばれる AutoML を実行する Notebook を利用すれば、候補のモデルをアンサンブルさせてより最適なモデルを自動で選択することができます。これにより、最適なモデルを目指す試行錯誤のフェーズを省略することができます。
9機械学習の正しい前処理と精度評価をどのようにするかが難しく、それがAutoMLでどれぐらい楽になるかが気になっています。
まず前処理につきましては、例えば AutoGluon AutoML では自動的に必要な前処理を実施してくれることになりますので、ユーザー側でこれを意識する必要がなくなります。また、精度評価につきましては、まず自動で最適なモデルを模索してくれます。逆に言うと、ユーザー側で細かいモデルの調整を行うことが難しくなっています。また実行後の Notebook にて、ROC や Shapley といったモデルの評価指標を得ることができますので、それを元に精度評価を行うことができます。モデルの精度評価についてはやや敷居の高い試みとなりますが、詳細なドキュメントを提供予定です。
10スタッフの技術理解、リソースの不足
TD AutoML を利用すれば、一般的な機械学習で必要とされる人材(特にエキスパート)を最小限で済ませることができます。ただ、TD AutoML の実行の敷居が低いと言っても、できればスタッフはこれを機に様々な機械学習の知識と実行ノウハウを蓄積していただければと願っています。そのための資料などは積極的に公開していきたいと考えています。
11行動履歴や他社での購買データとの連携など、自社だけではない、他社での購買データも紐づけたデータを用いた分析。また、WEBLOGを用いた、カート内導線の見直しへの活用など
いずれも非常に有用な活用手段だと思われます。ただ、TD AutoML の利用にあたっては、1人に複数のレコードが登場する(購買やアクセスなどの)行動データは、直接機械学習の特徴量として利用することができません。それらを特定の期間でサマリーを取るなどして、1人1行のデータに整形し、それを学習データとして活用することになります。
12活用方法のイメージが社内大多数の関係者の間で漠然としている
本セミナーの目的は、TD AutoMLでできることを知ってもらうところにあります。弊社では次のステップとして、TD AutoMLのNotebookごと(ソリューションごとの)活用方法を公開することだと考えています。社内の多くのメンバーで活用方法のイメージが具体的になるような資料を今後提示していければと思っています。
AutoML
1Auto ML とは何ですか?
AutoML(Automated Machine Learning)とは、機械学習のモデル構築やハイパーパラメータの最適化など、機械学習のタスクを自動化する技術です。
AutoMLは、機械学習の専門家でなくても、機械学習のモデルを作成できるようにすることを目的としています。
2AutoML で自動化される機械学習タスクは何ですか?
AutoMLによって自動化される機械学習タスクは、以下になります:
- データ前処理
- データの欠損値の処理
- 特徴量のスケーリングや正規化
- カテゴリカル変数のエンコーディング
- 特徴量の選択
- 最適な特徴量の選択
- 最適モデルの探索
- 様々な機械学習アルゴリズムの中から、最適なモデルを選択する
- ハイパーパラメータ最適化
- モデルのパラメータ(ハイパーパラメータ)の最適な設定を自動的に探索する
- モデルアンサンブル(精度向上)
- モデルの学習を自動化し、複数のモデルの性能を比較する
- 複数のモデルを組み合わせた新しいモデルを作成する
TD AutoML
1TD AutoML の価値はどこにありますか?
TD AutoML の真価は、Treasure Data CDPとのシームレスな連携によって大量データに対して実行できること、顧客データの価値を高めるための取り組みが行えることにあります。
また、
- AutoMLをはじめとした様々な機械学習
- マルチタッチアトリビューションをはじめとした様々な高度なデータ分析
- データサイエンティストなどの人材リソース
- 実行するまでにかかっていた時間リソース
2Treasure Data CDP で機械学習が実行できる機能を教えてください。
現在TD CDP内で機械学習を実行できる機能は4つあります。
- Hivemall:HiveのライブラリでSQLベースで機械学習の実行が可能
- 予測スコアリング:オーディエンススタジオの機能で、ロジスティック回帰という手法のみの実行が可能
- Custom Scripts:Workflow内でPythonが記述実行できる。さまざまなライブラリが利用可能で、自身でコードを書いて機械学習を実行。
- TD AutoML:Workflowで必要最低限の記述で機械学習が実行できる。
3TD AutoML とは、数ある AutoML ライブラリの一種なのでしょうか?
いいえ、TD AutoML は弊社のプロダクト名で、「AutoML をはじめとしたさまざまな機械学習・統計分析ができるフレームワーク」となります。現在、TD AutoML 内で利用できる AutoML ライブラリは AutoGluon になりますが、今後利用できる AutoML ライブラリは増えていく予定です。
4AutoMLを利用するために必要なスキルは何ですか? マーケターでも使えますか?
はい、マーケターでも利用できます。また、TD Console には AutoML を実行するためのUIが用意されており、技術的なバックグラウンドを持たないユーザーでも利用できます。ただし、MLの問題解決のためのスキルや評価指標を理解するための知識があることが望ましいと思われます。
5TD AutoML で解決できるソリューションは今後も増えていくのでしょうか?
はい、TD AutoML では各ソリューションごとの notebook を用意しています。今後も notebook の拡充、すなわちソリューションの拡充が積極的に行われる予定になっています。
6自分のデータ、または生成したモデルが十分な品質であることを確認するには、どうすればよいですか?
まずデータの品質の確認については、EDA(Exploratory Data Analysis:探索的データ分析)ノートブックがあり、これを学習データに対して実行することによって各カラムの値の内訳や偏りなどを把握し、学習データとして役割を果たすかどうかの示唆を得ることができます。
また、(教師あり)学習の notebook によって生成されたモデルの評価は、その notebook に表示されるパフォーマンスレポートによって確認することができます。また、Shapley notebook を生成したモデルに対して利用すると、そのモデルから出力された予測結果に対して説明を得ることができます。
TD AutoML でできること
1現時点で TD AutoML で実行できる機械学習・分析の種類を教えてください。
以下の図の中で、* がついたものがリリースされています。その他のものは今後リリースされる予定となっているものです。
2クラスタリングに対応していますか?
現在のところサポートされていませんが、 今後のリリースでクラスタリングのための notebook が予定されています。
3テキスト解析に使用できますか?
現在のところサポートされていませんが、 今後のリリースでテキスト解析のための notebook が予定されています。
TD AutoML の利用に関して
1TD AutoMLの技術的な制限は何ですか?
全ての AutoML タスクは、実行から25時間以上経過するとタイムアウトしてkillされることになります。タスクが25時間以内に終わるようにする必要があります。
2モデルや Notebook の保存期間やアクセス可能な期間はどのくらいですか?
モデルは永久に保存されます。Notebook(ここではTD AutoML実行毎に出力される Notebook を指します)へのアクセスは、作成日から365日間に限られます。その後、ノートブックは削除されます。ノートブックにアクセスする必要がある場合は、ノートブックの内容をダウンロードすることができます。
3学習タスクで出力された予測モデルには、誰がアクセスできるのでしょうか?
AutoGluon のように学習タスクを実行して予測モデルを出力するものにおいては、Workflow Session ごとに、それを実行したユーザーが、予測モデルのオーナーとなります。
スケジュールされたワークフローの場合、ワークフローの最後の編集者がそのセッションのオーナーとなります。
また、基本的に予測モデルはオーナーのみが利用することができます。
ただし、シェアモデルオプションによってモデルを共有することができます。オーナーはこのオプションを有効にした上で学習タスクを実行すると、そのモデルにアクセスするためのUUIDを得ることができます。この UUID を他のユーザーに共有することで、他ユーザーもこのモデルを使って予測タスクを実行することができます。
4出力された Notebook には誰がアクセスできるのでしょうか?
実行されたノートブックには、テーブルデータのプレビューが含まれることがあるため、Workflow Session のオーナー(その Workflow を実行したユーザー)にのみ表示されます。
ライセンスに関して
1Tier(価格プラン)ごとに何が異なるのでしょうか?
TD AutoML は現在3つの Tier から選択することになりますが、以下の要素で違いがあります:
- 月間の Unit Hours
- タスクユニット:タスクごとに設定できるメモリ使用量の上限
- A/C Concurrency Limit:アカウント内で同時に実行することのできる AutoML のタスク数
- User Limit:アカウント内で AutoML を利用できるユーザーの数
2タスクメモリとは何でしょうか?
タスクメモリとは、AutoML 実行時に指定する、その実行タスクで利用できるメモリ容量を指します。デフォルトは 128GBとなっており、以下の選択肢があります。
- Task Type: 1(64GB)
- Task Type: 2(128GB)
- Task Type: 4(256GB)
- Task Type: 6(384GB)
- Task Type: 8(512GB)
3Unit Hours とは何でしょうか?
Unit Hours とは、タスクごと(=AutoML の実行ごと)に計算される Unit Hour の月間の(全タスクに対する)総和になります。Unit Hour = (実行時間)*(タスクユニット)で計算され、単純な実行時間ではなく、タスクユニット、すなわちメモリ使用量と合わせて考慮されます。
4Unit Hours の計算の具体例を教えてください。
まずタスクユニットの考え方ですが、64GBを1ユニットとして、128GBなら2ユニット、512GBなら8ユニットと計算されます。これを使って、例えば月間で以下の利用なら 10+10+40=60 Unit Hoursとなります:
- Task Type: 1(64GB) での実行を 10 時間 → 1 task unit * 10 hour = 10 unit hours
- Task Type: 2(128GB) での実行を 5 時間 → 2 task unit * 5 hour = 10 unit hours
- Task Type: 4(256GB) での実行を 10 時間 → 4 task uniit * 10 hour = 40 unit hours
- Task Type: 1(64GB) → 500/1 = 500時間(≒20日)
- Task Type: 2(128GB) → 500/2 = 250時間(≒10日)
- Task Type: 4(256GB) → 500/4 = 125時間(≒5日)
5Notebook はどの Tier でも全種類使えるのでしょうか?
いいえ、どの Tier であっても標準に付属する Notebook(Basic Notebook と呼ばれます)は、
- AutoGluon Notebook
- ml_datesets Notebook
6Solution Notebook は1つずつ購入するのでしょうか?また、Notebook によって価格に違いはあるのでしょうか?
どちらもいいえとなります。Solution Notebook は2つが1セットになり、セット単位(つまり2つずつ)で購入することになります。また、どの Notebook のペアを選んでも価格の違いはありません。
7購入した Solution Notebook を途中で変更することはできますか?
はい、可能です。ただし、1年間に3回までとさせていただきます。
8Solution Notebook の購入前に全ての Notebook を試すことができますか?
はい、Solution Notebook 購入の際には、全ての Notebook を評価する期間が設けられます。また、購入を決めた Notebook も年に3回までであれば他のものに変更することができます。
9実行された AutoML Notebook を見ることは、Unit Hours の消費に含まれますか?
いいえ、Unit Hours は AutoML タスクが実行されている時のみ消費されます。
10AutoML の最大同時実行者数を超えて実行しようとした場合はどうなりますか?
A/C concurrency limit と呼ばれるこの制限は、アカウントで同時に実行されるAutoMLタスクの最大数を定義するものです。最大同時実行数制限に達した場合、新しいタスクの登録はエラーメッセージとともに失敗することになります。
11Unit Hours の未使用分は、翌月にロールオーバーされますか?
いいえ、ロールオーバーはされず、1ヶ月ごとにリセットされます。
12Unit Hours が超過した場合にはどうなりますか?
Unit Hours が超過しても、すぐに利用に制限がかかるといったことはありません。しかし、TDは使用状況を積極的に監視しており、毎月の Unit Hours が契約時間を超えるか、それに近づくと、アカウントチームがお客様に連絡して追加購入をお願いすることになります。
ただし、複数月の Unit Hours が契約時間を超える場合には、ハードリミットが適用され、その月の残りの期間、新しいAutoMLタスクはエラーメッセージとともに失敗します。
13使用途中で何らかの契約の制限に達した時には、実行しているタスクはどうなりますか?
実行中のタスクが途中でkillされることはなく、それが完了するまでは待ってくれます。もちろん、以後の実行タスクには制限がかかる場合があります。
14TD AutoML を使用することで発生するその他のプラットフォームコストはありますか?
TD AutoMLでは、予測結果を Treasure Data CDP にインポートするためにバルクインポートを使用します。このバルクインポート量の増加は TD AutoML とは別に加算されるものになります。
Notebook 全般
1Notebook とは何ですか?
TD AutoML の文脈で語られる Notebook とは「Jupyter Notebook」を指します。
Pythonなどのプログラム言語をインタラクティブに実行し、結果を視覚的に表現することができるオープンソースのWebアプリケーションです。
Jupyter Notebookは、ブラウザ上で実行することができ、テキストや数式、グラフ、画像、コードなどを1つのドキュメントに統合することができます。これにより、コードの実行結果を即座に確認し、コードの実行過程を途中で止めたり、再開したりすることができます。
また、Jupyter Notebookは、Markdown記法を使った簡単な文書作成ができるため、コードとドキュメントを一体化することができます。そのため、データ分析や機械学習などの分野で広く使われています。
オンライン上で Python が実行できるツールで有名なのは、Google が提供している Google Colabも、Jupyter Notebook をベースに開発されたものです。
2Notebook と TD AutoML の関係はどうなっていますか?
TD AutoML では、Workflow から notebook を実行することで機械学習や分析を遂行する仕組みとなっています。各ソリューションごとに(Python で実行コードが記述された) notebook が用意されています。
3Notebook はカスタマイズしたり自前の Jupyter Notebook を実行できるのでしょうか?
いいえ、notebook は弊社のデータエンジニアによって提供されるものが利用できます。ユーザー側でカスタマイズしたり、自前で用意して実行することはできません。
4標準で付属する Notebook と別途購入の必要のある Notebook を教えてください。
どのプランにも付属する Basic Notebook と呼ばれるものは以下の2つになります:
- AutoGluon Notebook
- ml_datesets Notebook
AutoGluon Notebook
1AutoGluon とは何ですか?
AutoGluonは、機械学習の自動化フレームワークの1つで、AWSとUC Berkeleyが共同開発したオープンソースのライブラリです。AutoGluon は MXNet というディープラーニングフレームワークをベースにしており、2020年3月に論文で発表され、他のあらゆる同種の手法に対して優れていることが述べられていたこともあり、話題になりました。
2AutoGluon と TD AutoML の関係はどうなっていますか?
TD AutoML の1つのソリューションとして、AutoGluon notebook を提供しています。この notebook によって AutoGluon による AutoML を TD 上で実行することができます。
3AutoGluon Tabular とは何ですか?
本来、AutoGluon では
- テーブルデータ
- 画像分類
- 物体検出
- 文章分類
4AutoGluon は不均衡なデータをうまく扱えますか?
AutoGluon は、ロジスティック回帰よりも不均衡なデータをうまく処理するランダムフォレスト、XGBoost などのロバストモデルを使用しています。数の少ないマイナーなラベルからのオーバーサンプリングを補正するための仕組みも、今後のリリースで計画されています。
5Feature Engineering とは何でしょうか?
Feature Engineering(特徴量エンジニアリング)は、学習モデルのトレーニングの際に、データセットから有用な特徴(特徴量)を抽出するプロセスを指します。
機械学習モデルは、データセット内のパターンを学習することによって構築されます。データセットには、目的変数とそれに関連する特徴量が含まれています。しかし、データセットが不完全であったり、多くの場合、特徴量が適切に構造化されていない場合があります。そのため、特徴量エンジニアリングは、有用な特徴量を作成することによって、モデルの性能を向上させることができます。
特徴量エンジニアリングのプロセスには、次のような作業が含まれます。
- 特徴量の選択
- 特徴量のスケーリング
- 特徴量の変換
- 特徴量の抽出
- 特徴量の生成
6AutoGluon ではどのような Feature Engineering が行われますか?
AutoGluon においては、非常に多くの Feature Engineering が行われています。詳細はAutoGluon Tabular - Feature Engineeringをご参照ください。
7AutoGluon の実行にはどれくらいのメモリ(タスクユニット)が必要ですか?
必要なメモリは、データセットとタスクによって異なりますが、AutoGluon では 384GB のメモリインスタンスを推奨しています。少なくともトレーニングタスクにおいては最低 256GB(Tier 2と3は384GBを推奨)、予測タスクには128GBを推奨しています。64GBは試行錯誤のための探索には十分かもしれません。
8AutoGluon のコード記述例を教えてください。
ml_datesets Notebook に含まれる telco_churn_train テーブルに対して、必要最低限の学習タスクの記述例は以下になります。
+gluon_train: ml_train>: notebook: gluon_train input_table: ml_datasets.telco_churn_train target_column: churn model_name: churn_modeltarget_column に指定されている churn カラムには、Yes/No の2値が入っているため、2値分類問題として学習が進められることになります。Auto Gluon では、target_column に指定されているカラムの内容から、
- 2値分類(カラムの値の内訳が2種類の場合)
- 多値分類(カラムの値の内訳が文字列であり、3種類以上ある場合)
- 回帰(カラムの型が数値型である場合、数量予測を行う)
+gluon_predict: ml_predict>: notebook: gluon_predict model_name: churn_model input_table: ml_datasets.telco_churn_test output_table: ml_results.telco_churn_predictedinput_table には予測を行いたいテーブルで、output_table に予測値が付与されたテーブルが出力されることになります。
9AutoGluon でできることは何ですか?
AutoGluon Notebook は「教師あり学習」を実行し、
- 2値分類
- 多値分類
- 回帰(数量予測)
ml_datasets Notebook
1ml_datasets Notebook とは何ですか?
この notebook はソリューションを提供するものでなく、AutoML向けの多数のサンプルデータセットを取り込むためのものです。Notebook ごとにサンプルデータが用意されているため、
これによって、これを使って誰でも AutoMLの各種Notebookを試すことが可能です。
また、この Notebook はどのパッケージプランにも標準で付属します。
EDA Notebook
1EDA とは何ですか?
EDAとは、Exploratory Data Analysis(探索的データ分析)の略称で、データ分析の一種です。EDAは、データセットを探索して、その特徴や構造を理解することを目的としています。主に、データセットの概要を把握することや、異常値や欠損値の有無を確認すること、データの分布や相関関係を視覚化することなどを行います。
TD AutoML の脈略では、データセットの特徴を理解するための必要不可欠なプロセスになると同時に、学習のためのデータセットに偏りなどがないかを事前に把握するために用いられることになります。また、オーディエンススタジオのデータセットをインプットにすれば、有益な顧客インサイトを得ることができます。