Amazon SageMaker Canvasのハンズオンについてのメモ
Amazon SageMaker Canvas Immersion DayというAmazon SageMaker Canvasのハンズオンをやってみたときのメモです。
上記ハンズオンでは、ユースケースとそのモデルを構築する例が10個紹介されています。
ノーコードでモデルを構築できるAmazon SageMaker Canvasを触ってみることでビジネス課題を機械学習や深層学習のタスクに落とし込む一連の流れを簡単に体験したいと思い、取り組んでみました。
ユースケース1-顧客離れ(マーケティング)
自身が携帯電話事業者のマーケティング部門のマーケティングアナリストの設定、解約しそうな顧客を特定したい。
また、解約の原因となる要因を特定し、ターゲットを絞ってキャンペーンを実施するなどの措置を講じたい。
データセット
以下属性を持つレコードが5000件ある。csv形式。Churn以外の属性を入力として(説明変数として)、Churnを予測するモデルを構築する。Churnは解約したかしてないかなので二値分類の問題を解くことになる。
モデルの構築
4つのタブとその内のSelectタブについて
Ploblem Type: Predictive analysisを選択してモデルを作成していく。画面には4つのステップ (Select、Build、Analyze、Predict) があり、まずSelectタブでcsvデータを設定する。
Buildタブ
次にBuildタブで目的変数を設定する。このとき、設定した目的変数によって二値分類の問題であることを自動的に検出する。その後、Quick buildまたはStandard buildを選択してモデルを構築する。このビルドの違いはモデルの構築速度の違いと予測精度である。Quick buildの方がモデルの構築速度は速く予測精度は低い。
モデルの信頼性の判断
Analyzeタブで、Accuracy(正解率)や各属性(説明変数)がどの程度モデルに影響するのかを見ることができる。例えば、Custserv_Callsが少ない場合と多い場合の両方で、解約の可能性が高くなることが読み取れ、サービスへの問い合わせを減らすためにWebサイトに詳細なFAQを作成する等の措置を講じることができる。
さらに、Advance metricsでは混同行列や適合率、再現率、F値などをみることができ、モデルの信頼性を判断できる。
モデルを用いた予測
Predictタブで、構築したモデルを使って予測ができる。Batch predictionとSingle predictionを選択できる。Batch predictionは、テストデータであるcsv形式のデータを入力して予測を行う。Single predictionは、各属性を調整して予測値がどうなるかを見ることができる。
Buildタブ補足
モデル構築前にデータクレンジングが必要な場合がある。データクレンジングは、欠損値や外れ値を持つレコードを削除するなど、モデルの精度を向上させるためのデータに対する処理である。Buildタブでは、データクレンジングのためにデータの欠損値と不一致値の数と割合、一意の値の数、その列の平均/最頻値、ターゲットとの相関関係を見ることができる。
また、各属性を組み合わせて算出した新たな属性を追加してモデルを構築できる。
ユースケース2-住宅価格(不動産)
住宅の位置や部屋の数の総数等を入力として住宅価格を予測するモデルを構築したい。住宅価格は任意の十数とるため、回帰問題を解くことになる。
データセット
モデルの信頼性の判断
ユースケース1と同様に進めて構築したモデルは、±43077ドルの誤差で住宅価格を予測できることを示している。
ユースケース3-需要予測(小売)
家庭用電化製品の過去の時系列データを使用して需要(デマンド)を予測するモデルを構築したい。時系列予測。
データセット
モデルの信頼性の判断
時系列予測の場合、Buildタブでターゲット: デマンドを選択してModel Type: Time series forecastingが自動選択された後、configure time series modelsをクリックして、データセット内で一意の属性を選択するitems fieldやタイムスタンプの属性を選択するtime stamp field等を設定する日必要がある。
以下図は、アイテムIDがitem_001の製品の5ヶ月先までの需要予測である。なお、どれくらいまで先を予測するかは、configure time series modelsで設定する。
テクノロジーラボ
SageMaker CanvasでAmazon Rekognition と Amazon Textractを使用したノーコードで画像認識や自然言語処理が可能で、事前トレーニング済みのモデルを利用するだけでなく、自身でさせてモデル構築もできる。
※SageMaker Canvasはセッションに対する課金もあるので、使わない時はログアウトする必要がある。
NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion