Amazon SageMaker IP Insights アルゴリズムを試してみる

Pocket

[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 アドレスを検出する]