フォーム読み込み中
IBM CloudのWatsonサービス群の一つである、IBM Watson StudioのAutoAIを使って、GUIのみで完結した予測モデルを作成します。
この記事は、ソフトバンク Advent Calendar2022の11日目の記事になります。
Watson Studioは、クラウド上で機械学習モデルを開発するための環境とツールを提供してくれるサービスです。数値などの構造化データの分析やテキストの分類、画像分類といった様々な分類や予測ごとに合わせたツールが提供されています。
本記事では、チューニング作業なしで、簡単に機械学習モデルを構築ができるAutoAIというツールを使って予測モデルの作成を行います。
AutoAIでは二値分類、多クラス分類、回帰分類(時系列予測)についての予測モデルを作成できます。
今回はその中でも一番シンプルな二値分類についての予測モデルを作成する方法を紹介します。
二値分類とは予測するクラスの数が2クラスの場合の分類のことを指します。具体例としては、ある顧客の購買情報や属性(年齢など)からその顧客が新商品を「買うか」「買わないか」を予測します。
今回は、実在する銀行の顧客属性データをもとに、電話勧誘によって対象の顧客が定期預金を「契約するか」「契約しないか」を予測するモデルを作成します。
こちらのデータはIBM Cloud の公式ガイドのチュートリアルでも使用されているデータです。
データセットのリンク(GitHub)
予測のイメージ図
利用するデータセット
対象データの各列についての説明
age | 年齢 |
job | 仕事の種類 |
marital | 配偶者の有無 |
education | 最終学歴 |
default | 債務不履行 |
balance | 年間平均預金額(€) |
housing | 住宅ローンの有無 |
loan | 個人ローンの有無 |
contact | 連絡手段 |
day | 前回の通話日 |
month | 前回の通話月 |
duration | 前回の通話時間 |
campaign | 今回のキャンペーン期間中に通話回数 |
pdays | 前回通話日からの経過日数 |
previous | 今回のキャンペーン前に行った通話回数 |
poutcome | 前回のキャンペーンの結果 |
y | 定期預金を契約したか |
今回は最後の列である y(定期預金を契約したか)の値について予測するモデルを作成します。
Watson Studioを利用するには、まずIBM Cloud のアカウント作成が必要になります。
IBM Cloud のアカウント作成が完了したら、下記の3種類のサービス・インスタンスを用意します。
・IBM Watson Studio
・IBM Watson Machine Learning
・IBM Cloud Object Storage
これらのサービスインスタンスについては無料で利用できるライトプランがあります。(利用制限あり)
環境の準備が完了したら、IBM Watson Studioでプロジェクトを作成します。
1.IBM Watson Studio のインスタンスを起動
2.「Create new project」を選択
3.「空のプロジェクトの作成」を選択※1
※1.IBMの言語表記によっては英語で表記されている場合があります。今後の説明もすべて日本語対応の説明となります。
4.プロジェクト名を入力して、ストレージ・サービスの選択で作成したCloud Object Storage を選択
5.「作成」を選択
プロジェクトの作成が完了したら、予測モデルを作成します。
1.作成したプロジェクトを開いて、「新規資産」を選択
2.ツール一覧から「AutoAI」を選択
3.名前を入力し、Watson Machine Learning サービス・インスタンスで作成したインスタンスを選択
4.「作成」を選択
5.データソースの追加で「参照」を選択し、分析するCSVデータを選択
6.時系列予測の作成は「いいえ」を選択し、予測列は「y」を選択し、「エクスペリメントの実行」を選択
自動的に様々な処理が実行され、モデルが作成されます。(多少の時間がかかります)
モデルは色々なアルゴリズムを使って複数作成されます。今回は、一番評価が高いモデルを保存します。モデルの名前を選択するとモデルの評価の詳細を見ることができます。モデル評価の指標には、正解率、適合率、再現率、F1値などがあります。値は0から1までの範囲をとり、1に近いほど良いです。(対数損失のみ低いほうがいいです)特にF1値は適合率と再現率の調和平均をとり、値が1に近いほどバランスの取れた機械学習モデルといえます。
7.モデルを選択し「名前を付けて保存」を選択
モデルは複数保存することができ、保存したモデルは資産一覧から確認することができます。
保存したモデルをデプロイして予測テストを行います。
1.資産一覧から保存したモデルを選択して「デプロイメント・スペースにプロモート」を選択
2.新規デプロイメントスペースの作成を選択
3.デプロイメント・スペース名を入力し、IBM Cloud Object StorageとIBM Watson Machine Learningのインスタンスを選択し、作成を選択
4.作成したスペースを選択して「プロモート」を選択
5.プロモートできたら、左側のナビゲーションメニューから「デプロイメント」を選択
6.作成したスペースを選択
7.資産一覧から保存したモデルを選択し、「新しいデプロイメント」を選択
8.デプロイメント・タイプは「バッチ」を選択し、名前を入力して「作成」を選択
9.「新規ジョブ」を選択し、ジョブの名前を入力して、データの選択まで「次へ」を選択
10.データの選択で「インライン・データ」※1を選択し、「フォームを使用して入力」を選択
11.学習データに沿って適当な値を入力して「次へ」を選択(今回はテストの為、学習データを参考に結果が「no」になるであろう値を入力します。)
※1データ資産の場合は学習データ同様、CSVを利用して予測テストを行うことができます。
12.ジョブが完了したら、選択してログを確認
ログのvaluesにある値が予測結果になります。値の右側にある二つの数値は、左側が「no」である場合の正解率で右側が「yes」である場合の正解率です。正解率は1に近いほどその値だと予測でき2つの値は合計で1になります。今回の例では、左側が「0.96…」で右側が「0.03…」なので、ほとんどの確率で「no」だと予測できています。
今回は、IBM Watson StudioのAuto AIについて紹介しました。ほとんどマウス操作のみで簡単に予測モデルを作れることがわかったかと思います。ぜひ、データ予測の入門として試してみてください。
Watson Studioには今回ご紹介できなかった様々なツールがございますので、興味がありましたら、これらもあわせて利用してみてはいかがでしょうか。
以上最後までお読みいただきありがとうございました。
ソフバンク アドベントカレンダー 12日目をお楽しみに。
IBM Cloudは、IBMが提供するビジネスのためのクラウドサービスです。AIプラットフォームのIBM Watsonをはじめとする幅広い製品・サービスを提供。ビジネス活用だけでなく、既存システムからのセキュアなクラウド移行や、クラウドネィティブ・アプリケーションの開発の両方に対応できるクラウドサービスです。
条件に該当するページがございません