[Amazon AI by ナレコム Advent Calendar 2018]の16日目の記事です。
今日は、Amazon SageMaker IP Insights アルゴリズムを試してみました。
IP Insights アルゴリズムは、IPアドレスの異常な動作や使用パターンを検出するものです。
[チュートリアル]があるので、実行してみましょう。
ノートブックインスタンスの作成
1.AWS Consoleを開き、SageMakerを開きます。
2.左のメニューの<strong>ノートブック</strong>
-><strong>ノートブックインスタンス</strong>
を選択し、<strong>ノートブックインスタンスの作成</strong>
をクリックして新規作成します。
3.ステータスが<strong>InService</strong>
になったら、アクションにある<strong>開く Jupyter</strong>
をクリックして、Jupyterを開きます。
Jupyterの作成
1.<strong>SageMaker Examples</strong>
タブをクリックし、<strong>Introduction to Amazon Algorithms</strong>
を展開します。
2.<strong>ipinsights-tutorial.ipynb</strong>
の右側にある<strong>Use</strong>
をクリックし、<strong>Create Copy</strong>
をクリックしてチュートリアルのコピーを作成します。
3.S3を作成します。バケット名は、<strong>sagemaker-ipinsights-test</strong>
としました。
4.作成したS3を指定します。
データセットの準備
1.データセットをインストールします。
2.ファイルを読み込みます。
3.タイムスタンプをDateTimeオブジェクトに変換します。
4.タイムゾーンの一致を確認します。
5.タイムゾーンの処理をします。
6.リソースを選択します。
7.ユーザーとIPアドレスを抽出します。
8.学習とテストのデータセットを作成します。
9.10日間のログイベントを使用し、7日間を学習、3日間をテストとします。
10.学習データをシャッフルします。
学習
1.S3に格納します。
2.イメージを取得します。
3.学習します。
推論
1.エンドポイントを作成します。
2.データのシリアライズ/デシリアライズ
3.dot_productを表示します。
異常検出スコアの計算
1.通常のトラフィックデータセットを使用します。
2.異常のトラフィックデータセットを挿入します。
分布の表示
閾値が0.0の場合、103390件の中、98394件が異常と予測してます。
精度は95%となりました。
まとめ
Amazon SageMaker IP Insights アルゴリズムを試してみました。
独自のデータセットでやってみたいですね。
参考文献
[1] [Amazon SageMaker IP Insights アルゴリズムを使用して、不審な IP アドレスを検出する]