モデルの作成

「異常検出」でモデルを作成してからトレーニングします。

  • 既存のプロジェクトでモデルを作成することも、そのプロジェクトを作成することもできます。

    1. ナビゲーション・メニューを開き、「アナリティクスとAI」をクリックします。「AIサービス」で、「異常検出」をクリックします。
    2. 左側のナビゲーション・メニューで、「プロジェクト」をクリックします。
    3. 使用するプロジェクトを含むコンパートメントを選択するか、プロジェクトを作成するコンパートメントを選択します。
    4. 次のいずれかのアクションを実行します。
      1. 既存のプロジェクトを使用するには、その名前をクリックします。
      2. 新しいプロジェクトを作成するには、「プロジェクトの作成」をクリックします。
    5. プロジェクトの詳細ページで、「モデルの作成とトレーニング」をクリックします。
    6. 既存のデータ・アセットが存在する場合は選択するか、「新規データ・アセットの作成」をクリックします。
    7. 「次へ」をクリックします。
    8. 「モデルのトレーニング」ページで、モデルを作成するコンパートメントを選択し、モデルのオプションの名前と説明を入力します。名前を指定しない場合、自動的に生成されます。
    9. 「ターゲットの偽のアラーム確率(FAP)」に、値0から0.05を指定します。

      FAPはモデルのパフォーマンスを示します。FAPが低いほど、モデルのパフォーマンスが高いことを示しています。

    10. 「トレーニングの割合」に、0.5から0.8の値を指定します。

      トレーニング分割率は、トレーニング・データと検証データの分割比率を示します。

    11. (オプション)「アルゴリズム・ヒント」で、ヒントの1つを指定して、モデルが使用するアルゴリズムのタイプを把握します。
    12. 次のいずれかのアクションを実行します。
      1. ウィンドウ・サイズを設定するには、「自動ウィンドウ・サイズ」をクリックし、値1から100を指定します。
      2. サービスでウィンドウ・サイズを設定し、「自動ウィンドウ・サイズ」をクリックします。
    13. (オプション)「拡張オプションの表示」をクリックして、リソースにタグを割り当てます。タグを使用すると、タグ・ネームスペースを選択してキーおよび値を入力することで、リソースを簡単に検索およびトラッキングできます。

      複数のタグを追加するには、「タグの追加」をクリックします。

      タグ付けに関する項では、コスト・トラッキング・タグなど、リソースの整理および検索に使用できる様々なタグについて説明します。

    14. 「次へ」をクリックします。
    15. トレーニング・データとモデル情報を確認します。「前」を使用して変更を行い、「レビュー」パネルに戻ります。
    16. 「作成してトレーニング」をクリックします。
      モデルのトレーニングには時間がかかることがあります。ページは20秒ごとに自動的にリフレッシュされます。
    1. 既存のOCIドキュメントの説明に従って、OCI CLIまたはSDKをダウンロードして構成します。
    2. 認証済ユーザーとして、トレーニング・データを含む.csvまたは.jsonファイルをテナンシのオブジェクト・ストレージにアップロードします。
    3. CLIまたはSDKを使用して、オブジェクト・ストアへのパスを含むトレーニング作業リクエストを作成します。
    4. 認証済ユーザーとして、トレーニングするHTTP作業リクエストを作成します。
    5. 作業リクエストを定期的に問い合せて、トレーニング・リクエストのステータスを確認します。

      トレーニング・リクエストが完了すると、レスポンスにモデル検出エンドポイントが含まれます。

    6. このトレーニング済モデルを使用するには、HTTP POSTリクエストを作成し、前のステップで受信したエンドポイントへのリクエストを行います。
    7. HTTPレスポンスを解析して、アプリケーションで使用する結果を取得します。

    APIコールの例

    次の異常検出サービスAPIコールを使用して、モデルを作成およびトレーニングできます。

    1. AIプロジェクトを作成します:

      Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/projects
       Method: POST
       Body:
           {
                   "displayName":"Test Anomaly Detection",
                   "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrr…..jpbdfmcjmzdufz6sy52pra",
                   "description" : "PROJECT FOR ANOMALY DETECTION"
           }
    2. データ・アセットを作成します。これは、データがすでにOCIオブジェクト・ストレージにあることを前提としています:

      Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/dataAssets
          Method: POST
          Body:
              {
             "displayName" : "sample dataAsset",
             "compartmentId" : "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrbl…..pbdfmcjmzdufz6sy52pra",
             "projectId" : "ocid1.aiproject.oc1.iad.amaaaaaaor7l3jiauulbiu5dtqga….eksq3ophqwxsiyuf4q",
             "description" : "oracle object storage data asset",
             "dataSourceDetails" :
                {
                   "dataSourceType" : "ORACLE_OBJECT_STORAGE",
                   "bucketName" : "mset_service_model_storage",
                   "namespace" : "namespace_bucket",
                   "objectName" : "ValidTrainingData.json"
                }
              }
    3. モデルをトレーニングします。

      • 単変量モデルの例

        Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models
         Method: POSTBody:{
            "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrb…..rcmjpbdfmcjmzdufz6sy52pra",
            "displayName": "ashburn_data_center",
            "description": "Ashburn Data center model",
            "projectId": "ocid1.aianomalydetectionproject.oc1.phx.amaaaaaaukxuveqahqmhksgwsdf5w7unr75nrk4cevclqitd6nkroltlr34q",
            "modelTrainingDetails":
            {
                "targetFap": 0.05,
                "trainingFraction": 0.7,
                "algorithmHint": "UNIVARIATE_OCSVM",
                "dataAssetIds":
                [
                    "ocid1.aianomalydetectiondataasset.oc1.phx.amaaaaaaukxuveqaun27l3qyrcdz5bofrezezf6sivlhk6kxhnj6dnkzqyea"
                ]
            }
        }
      • 多変量モデルの例

        Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models
         Method: POST
         Body:{
            "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrb…..rcmjpbdfmcjmzdufz6sy52pra",
            "displayName": "ashburn_data_center",
            "description": "Ashburn Data center model",
            "projectId": "ocid1.aianomalydetectionproject.oc1.phx.amaaaaaaukxuveqahqmhksgwsdf5w7unr75nrk4cevclqitd6nkroltlr34q",
            "modelTrainingDetails":
            {
                "targetFap": 0.05,
                "trainingFraction": 0.7,
                "algorithmHint": "MULTIVARIATE_MSET",
                "dataAssetIds":
                [
                    "ocid1.aianomalydetectiondataasset.oc1.phx.amaaaaaaukxuveqaun27l3qyrcdz5bofrezezf6sivlhk6kxhnj6dnkzqyea"
                ]
            }
  • このアプローチは、異常検出モデルを作成して既存のアプリケーションにトレーニングし、本番に実装することをお薦めします。

    1. 既存のOCIドキュメントの説明に従って、OCI CLIまたはSDKをダウンロードして構成します。
    2. 認証済ユーザーとして、トレーニング・データを含む.csvまたは.jsonファイルをテナンシのオブジェクト・ストレージにアップロードします。
    3. CLIまたはSDKを使用して、オブジェクト・ストアへのパスを含むトレーニング作業リクエストを作成します。
    4. 認証済ユーザーとして、トレーニングするHTTP作業リクエストを作成します。
    5. 作業リクエストを定期的に問い合せて、トレーニング・リクエストのステータスを確認します。

      トレーニング・リクエストが完了すると、レスポンスにモデル検出エンドポイントが含まれます。

    6. このトレーニング済モデルを使用するには、HTTP POSTリクエストを作成し、前のステップで受信したエンドポイントへのリクエストを行います。
    7. HTTPレスポンスを解析して、アプリケーションで使用する結果を取得します。

    APIコールの例

    次の異常検出サービスAPIコールを使用して、モデルを作成およびトレーニングできます。

    1. AIプロジェクトを作成します:

      Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/projects
       Method: POST
       Body:
           {
                   "displayName":"Test Anomaly Detection",
                   "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrr…..jpbdfmcjmzdufz6sy52pra",
                   "description" : "PROJECT FOR ANOMALY DETECTION"
           }
    2. データ・アセットを作成します。これは、データがすでにOCIオブジェクト・ストレージにあることを前提としています:

      Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/dataAssets
          Method: POST
          Body:
              {
             "displayName" : "sample dataAsset",
             "compartmentId" : "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrbl…..pbdfmcjmzdufz6sy52pra",
             "projectId" : "ocid1.aiproject.oc1.iad.amaaaaaaor7l3jiauulbiu5dtqga….eksq3ophqwxsiyuf4q",
             "description" : "oracle object storage data asset",
             "dataSourceDetails" :
                {
                   "dataSourceType" : "ORACLE_OBJECT_STORAGE",
                   "bucketName" : "mset_service_model_storage",
                   "namespace" : "namespace_bucket",
                   "objectName" : "ValidTrainingData.json"
                }
              }
    3. モデルをトレーニングします。

      • 単変量モデルの例

        Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models
         Method: POSTBody:{
            "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrb…..rcmjpbdfmcjmzdufz6sy52pra",
            "displayName": "ashburn_data_center",
            "description": "Ashburn Data center model",
            "projectId": "ocid1.aianomalydetectionproject.oc1.phx.amaaaaaaukxuveqahqmhksgwsdf5w7unr75nrk4cevclqitd6nkroltlr34q",
            "modelTrainingDetails":
            {
                "targetFap": 0.05,
                "trainingFraction": 0.7,
                "algorithmHint": "UNIVARIATE_OCSVM",
                "dataAssetIds":
                [
                    "ocid1.aianomalydetectiondataasset.oc1.phx.amaaaaaaukxuveqaun27l3qyrcdz5bofrezezf6sivlhk6kxhnj6dnkzqyea"
                ]
            }
        }
      • 多変量モデルの例

        Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models
         Method: POST
         Body:{
            "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrb…..rcmjpbdfmcjmzdufz6sy52pra",
            "displayName": "ashburn_data_center",
            "description": "Ashburn Data center model",
            "projectId": "ocid1.aianomalydetectionproject.oc1.phx.amaaaaaaukxuveqahqmhksgwsdf5w7unr75nrk4cevclqitd6nkroltlr34q",
            "modelTrainingDetails":
            {
                "targetFap": 0.05,
                "trainingFraction": 0.7,
                "algorithmHint": "MULTIVARIATE_MSET",
                "dataAssetIds":
                [
                    "ocid1.aianomalydetectiondataasset.oc1.phx.amaaaaaaukxuveqaun27l3qyrcdz5bofrezezf6sivlhk6kxhnj6dnkzqyea"
                ]
            }