モデル構築の自動化
このチュートリアルでは、IBM Watson® Studio の AutoAI 機能を使用して機械学習モデルを構築し、評価する方法を示します。モデリング・フェーズでは、様々なモデリング・テクニックを選択して適用し、そのパラメータをキャリブレーションして最適な予測を実現します。一般的に、適用可能な手法は複数あり、手法によってはデータの形式に関する特定の要件があります。そのため、データの準備段階に戻る必要があることが多い。しかし、モデルの評価段階では、データ分析の観点から質の高いモデルを構築することが目標となります。モデルの最終的な展開に進む前に、モデルを徹底的に評価し、モデルを作成するために実行されたステップを見直し、モデルがビジネス目標を適切に達成していることを確認することが重要です。
Watson StudioのAutoAIグラフィカルツールを使用すると、コードを1行も書くことなく、モデルを素早く構築し、その精度を評価することができます。AutoAIは、学習データのアップロード、機械学習手法とアルゴリズムの選択、モデルのトレーニングと評価など、機械学習モデルの構築を段階的にガイドします。
このラーニングパスの他のチュートリアルと同様に、Kaggleで利用可能な顧客の解約データセットを使用しています。
前提条件¶
このラーニングパスのチュートリアルを完了するには、IBM Cloud アカウントが必要です。このアカウントがあれば、IBM Cloud、IBM Watson Studio、IBM Watson Machine Learning Serviceへのアクセスが可能になります。
見積もり時間¶
このチュートリアルを完了するには、約 60 分かかります。
手順¶
ラーニングパスのために環境をセットアップする手順は、Data visualization, preparation, and transformation using IBM Watson Studioチュートリアルで説明されています。これらのステップは、以下の方法を示しています。
- IBM Cloud Object Storage サービスを作成します。
- Watson Studio プロジェクトを作成します。
- IBM Cloud サービスをプロビジョニングします。
- データセットをアップロードします。
学習パスを続行する前に、これらのステップを完了する必要があります。環境のセットアップが完了している場合は、次のステップである Watson Studio での新しいモデルの作成に進みます。
Watson Studio で新しいモデルを作成する¶
注意してください。「IBM Watson Studio」のバナーが、場合によっては「IBM Cloud Pak for Data」という名称に変わっていることに気づくかもしれません。使用されるバナーは、お客様が IBM Cloud アカウントで作成したサービスの数と種類に依存します。この変更は、サービスの機能やナビゲーションには影響しません。
-
Watson Studio プロジェクトの「Assets」タブを選択します。
-
Asset タブで、Add to Project コマンドをクリックします。
をクリックします。
-
- AutoAI Experiment アセットタイプを選択します。
-
Create an AutoAI experimentウィンドウが表示されます。
-
「customer-churn-manual」のような Name を入力します。
-
Machine Learning Service には、以前プロジェクト用に作成した Watson Machine Learning サービスを選択します。
-
Create をクリックします。
-
-
「データソースの追加」ウィンドウが表示されます。
-
プロジェクトから選択 をクリックします。
-
プロジェクトに以前追加したKaggleデータアセットを選択します。
-
Select Asset をクリックします。
-
Run and train the model¶
Configure AutoAI experimentウィンドウから。
-
What do you want to predict?のボックスで、churnを選択します。
-
デフォルトの予測タイプであるBinary Classificationと、最適化された指標であるAccuracyを維持します。
-
「実験の実行」をクリックします。
実験を実行すると、ページの上部にステップのパイプラインが表示されます。実験が終了すると、パネルの下部に完成したモデルのリストが精度の高い順に表示されます。実験の完了には30分以上かかることがありますので、しばらくお待ちください。
AutoAIプロセスでは、以下の順序で、異なるモデルを使用し、ハイパーパルメータ最適化(HPO)とフィーチャリング(FE)の値を変化させながら、パイプラインの候補リストを作成します。
今回のデータでは、パイプライン4(Light Gradient Boosting Machine Classifier)が、「Accuracy」指標に基づいて最も高いランクになりました。「ハイパーパラメータ最適化」と「フィーチャーエンジニアリング」の両方の拡張機能を使用しています。
AutoAI 実験が完了すると、Watson Studio プロジェクトに保存されます。それは、AssetsタブのAutoAI experimentsから見ることができます。
モデルの性能を評価する¶
AutoAI Experimentのページでは、各パイプラインのパフォーマンスの詳細を知るためのオプションがいくつか用意されています。
パイプラインの比較タブコマンドは、各パイプラインに表示されるメトリクスのリストを拡張します。
ここでは、Accuracyでランキングした場合、Pipeline 4 (P4)が最高位であることがわかります。
パイプライン名をクリックすると、そのパイプラインのModel Evaluationウィンドウが表示されます。
左側にはメニューがあり、以下のようなパイプラインの詳細なメトリクスを提供しています。
- Confusion Matrix table
- 特徴量重要度グラフ
AutoAI Experimentモデル機能は、Jupyter Notebookで得られるのと全く同じ分類アプローチや評価指標を提供するわけではありませんが、プログラミングを必要とせず、格段に早く結果を得ることができます。
Watson Studio のこのモデルビルダーコンポーネントは、時間のかかるプログラミング作業を行わずに、テストされ、予測性能に関して評価できる初期の機械学習モデルを作成するのに役立ちます。また、このサービスで提供される予測メトリクスは、データセットが使用しようとする目的に有用かどうかを最初に把握するのに役立ちます。
デプロイメントスペースの作成¶
IBM Watson Studio では、デプロイメント・スペース という概念を使用して、関連するデプロイ可能なアセットのセットのデプロイを構成および管理します。これらの資産は、データファイルや機械学習モデルなどです。
今回の例では、AutoAI 実験モデルを保存するためにデプロイメント・スペースを使用します。
デプロイメント・スペースを作成するには、(☰)メイン・ナビゲーション・メニューで、デプロイメント・スペースを展開し、すべてのスペースを表示を選択します。
「新しいデプロイメント スペース +」ボタンをクリックします。
デプロイメント スペースに一意の名前とオプションの説明を付けます。以前の手順で作成したCloud Object StorageとMachine Learningサービスインスタンスを提供します。そして、Createボタンをクリックします。
デプロイメント スペースが作成されたら、View new spaceボタンをクリックします。
これは新しいデプロイメント スペースの 資産 パネルです。
Watson Machine Learning サービスを使用した AutoAI 実験モデルのデプロイとテスト¶
データサイエンスに関するIBMのプロセスによると、満足のいくモデルが開発され、ビジネススポンサーの承認を得た後、本番環境または同等のテスト環境にデプロイされます。通常は、パフォーマンスが十分に評価されるまで、限定的にデプロイされます。
Watson Studio の Machine Learning サービスを使用すると、モデルを Web サービス、バッチプログラム、リアルタイムストリーミング予測の 3 種類の方法でデプロイできます。このチュートリアルでは、ウェブサービスとしてデプロイしてから、インタラクティブにテストします。
まず、モデルを保存する必要があります。
最高評価のパイプラインの詳細ページに戻る
「名前を付けて保存」をクリックします。
Select asset type of modelを選択し、デフォルトの名前のまま、Createをクリックします。
このモデルは、プロジェクトのAssetsタブのModelsセクションに表示されます。
モデルをデプロイするには、モデル名をクリックして開きます。
Promote to deployment spaceをクリックします。
ターゲットスペースで、前の手順で作成したデプロイメントスペースを選択し、Promoteをクリックします。
これで、デプロイメント・スペースのページにモデルが表示されます。
モデル名の上にマウスオーバーすると、アクションアイコンが表示されます。デプロイメントアイコンをクリックします。
をクリックします。
配置を作成するページで
-
配置の 名前 を入力します(例:「customer-churn-manual-web-deployment」)。
-
デフォルトのオンライン 配置タイプ の設定を維持します。
- [作成]をクリックして、配置を保存します。
配置スペースパネルの Deployments タブをクリックし、Watson Studio が STATUS フィールドを「Deployed」に設定するまで待ちます。
モデルがデプロイされ、予測に使用できるようになりました。しかし、本番環境で使用する前に、実際のデータを使用してテストする価値があるかもしれません。このテストは、Watson Machine Learning サービスの API を使用して対話的またはプログラム的に行うことができます。API の使用については、このラーニングパスの別のチュートリアルで説明しますが、ここでは引き続き対話形式でテストを行います。
予測をインタラクティブにテストするには、個別のフィールドに値を 1 つずつ入力する方法(各特徴に 1 つずつ)と、JSON オブジェクトを使用してすべての特徴の値を指定する方法があります。2つ目の方法は、テストが複数回行われる場合(通常はこのケースが多い)や、大量の特徴量が必要な場合に最も便利だからです。
簡単に説明するために、以下のサンプルのJSONオブジェクトをカット&ペーストして、次のステップで使用することができます。