すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:マルチクラス分類評価

最終更新日:Jul 22, 2024

マルチクラス分類評価アルゴリズムは、3つ以上のクラスを含む分類問題を処理するために使用されるモデルの分類効率を評価するために使用される。 アルゴリズムは、精度、再現率、F1スコア、および混同行列などの複数のメトリックを提供して、各クラスの分類精度を定量化するのに役立ちます。 混同行列は、モデルによって予測されたクラスと実際のクラスとの間の関係を表示する。 他のメトリックは、各クラスの分類結果が正しいかどうかを判断するのに役立つ情報を提供します。 これらのメトリックは、各クラスでモデルがどのように機能するかを理解するのに役立ち、その後のモデル最適化に使用できます。

コンポーネントの設定

方法1: パイプラインページでコンポーネントを設定する

Platform for AI (PAI) コンソールのMachine Learning Designerのパイプラインページで、[マルチクラス分類評価] コンポーネントのパラメーターを設定します。 下表に、各パラメーターを説明します。

タブ

パラメーター

説明

フィールド設定

元の分類結果列

このパラメータには、元のラベル列を選択できます。 最大1,000のクラスがサポートされています。

予測分類結果列

予測された分類結果の列。 ほとんどの場合、このパラメーターはprediction_resultに設定されます。

高度なオプション

[詳細オプション] を選択した場合、[予測分類結果列] パラメーターは有効です。

予測結果の確率列

モデルの対数損失の計算に使用される列。 ほとんどの場合、このパラメーターはprediction_detailに設定されます。 このパラメーターは、ランダムフォレストモデルに対してのみ有効です。 このパラメーターを他のモデルに設定すると、エラーが報告される可能性があります。

チューニング

コア

コアの数。 デフォルトでは、システムが値を決定します。 このパラメーターは、[コアあたりのメモリサイズ] パラメーターと共に使用する必要があります。

コアあたりのメモリサイズ

各コアのメモリサイズ。 単位:MB。 デフォルトでは、システムが値を決定します。

方法2: PAIコマンドを使用する

PAIコマンドを使用して、[マルチクラス分類評価] コンポーネントのパラメーターを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「シナリオ4: SQLスクリプトコンポーネント内でPAIコマンドを実行する」をご参照ください。

PAI -name MultiClassEvaluation -project algo_public 
    -DinputTableName="test_input" 
    -DoutputTableName="test_output" 
    -DlabelColName="label" 
    -DpredictionColName="prediction_result" 
    -Dlifecycle=30;

パラメーター

必須

デフォルト値

説明

inputTableName

デフォルト値なし

入力テーブルの名前。

inputTablePartitions

不可

フルテーブル

トレーニング用に入力テーブルから選択されたパーティション。

outputTableName

デフォルト値なし

出力テーブルの名前。

labelColName

デフォルト値なし

入力テーブルの元のラベル列の名前。

predictionColName

デフォルト値なし

予測結果のラベル列の名前。

predictionDetailColName

不可

デフォルト値なし

予測結果の確率列の名前。 例: {"A":0.2,"B":0.3,"C": 0.5}

ライフサイクルの設定 (Set lifecycle)

不可

デフォルト値なし

出力テーブルのライフサイクル。

coreNum

不可

システムによって決定される

コアの数。

memSizePerCore

不可

システムによって決定される

各コアのメモリサイズ。

例:

  1. SQLスクリプトコンポーネントをノードとしてキャンバスに追加し、次のSQL文を実行してトレーニングデータを生成します。

    drop table if exists multi_esti_test;
    create table multi_esti_test as
    select * from
    (
      select '0' as id,'A' as label,'A' as prediction,'{"A": 0.6, "B": 0.4}' as detail
      union all
      select '1' as id,'A' as label,'B' as prediction,'{"A": 0.45, "B": 0.55}' as detail
      union all
      select '2' as id,'A' as label,'A' as prediction,'{"A": 0.7, "B": 0.3}' as detail
      union all
      select '3' as id,'A' as label,'A' as prediction,'{"A": 0.9, "B": 0.1}' as detail
      union all
      select '4' as id,'B' as label,'B' as prediction,'{"A": 0.2, "B": 0.8}' as detail
      union all
      select '5' as id,'B' as label,'B' as prediction,'{"A": 0.1, "B": 0.9}' as detail
      union all
      select '6' as id,'B' as label,'A' as prediction,'{"A": 0.52, "B": 0.48}' as detail
      union all
      select '7' as id,'B' as label,'B' as prediction,'{"A": 0.4, "B": 0.6}' as detail
      union all
      select '8' as id,'B' as label,'A' as prediction,'{"A": 0.6, "B": 0.4}' as detail
      union all
      select '9' as id,'A' as label,'A' as prediction,'{"A": 0.75, "B": 0.25}' as detail
    )tmp;
  2. SQLスクリプトコンポーネントをノードとしてキャンバスに追加し、次のPAIコマンドを実行してモデルをトレーニングします。

    drop table if exists ${o1};
    PAI -name MultiClassEvaluation -project algo_public 
        -DinputTableName="multi_esti_test" 
        -DoutputTableName=${o1} 
        -DlabelColName="label" 
        -DpredictionColName="prediction" 
        -Dlifecycle=30;
  3. SQLスクリプトコンポーネントを右クリックし、[データの表示]> [SQLスクリプトの出力] を選択してトレーニング結果を表示します。

    | result                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | {
        "ActualLabelFrequencyList": [5,
            5],
        "ActualLabelProportionList": [0.5,
            0.5],
        "ConfusionMatrix": [[4,
                1],
            [2,
                3]],
        "LabelList": ["A",
            "B"],
        "LabelMeasureList": [{
                "Accuracy": 0.7,
                "F1": 0.7272727272727273,
                "FalseDiscoveryRate": 0.3333333333333333,
                "FalseNegative": 1,
                "FalseNegativeRate": 0.2,
                "FalsePositive": 2,
                "FalsePositiveRate": 0.4,
                "Kappa": 0.3999999999999999,
                "NegativePredictiveValue": 0.75,
                "Precision": 0.6666666666666666,
                "Sensitivity": 0.8,
                "Specificity": 0.6,
                "TrueNegative": 3,
                "TruePositive": 4},
            {
                "Accuracy": 0.7,
                "F1": 0.6666666666666666,
                "FalseDiscoveryRate": 0.25,
                "FalseNegative": 2,
                "FalseNegativeRate": 0.4,
                "FalsePositive": 1,
                "FalsePositiveRate": 0.2,
                "Kappa": 0.3999999999999999,
                "NegativePredictiveValue": 0.6666666666666666,
                "Precision": 0.75,
                "Sensitivity": 0.6,
                "Specificity": 0.8,
                "TrueNegative": 4,
                "TruePositive": 3}],
        "LabelNumber": 2,
        "OverallMeasures": {
            "Accuracy": 0.7,
            "Kappa": 0.3999999999999999,
            "LabelFrequencyBasedMicro": {
                "Accuracy": 0.7,
                "F1": 0.696969696969697,
                "FalseDiscoveryRate": 0.2916666666666666,
                "FalseNegative": 1.5,
                "FalseNegativeRate": 0.3,
                "FalsePositive": 1.5,
                "FalsePositiveRate": 0.3,
                "Kappa": 0.3999999999999999,
                "NegativePredictiveValue": 0.7083333333333333,
                "Precision": 0.7083333333333333,
                "Sensitivity": 0.7,
                "Specificity": 0.7,
                "TrueNegative": 3.5,
                "TruePositive": 3.5},
            "MacroAveraged": {
                "Accuracy": 0.7,
                "F1": 0.696969696969697,
                "FalseDiscoveryRate": 0.2916666666666666,
                "FalseNegative": 1.5,
                "FalseNegativeRate": 0.3,
                "FalsePositive": 1.5,
                "FalsePositiveRate": 0.3,
                "Kappa": 0.3999999999999999,
                "NegativePredictiveValue": 0.7083333333333333,
                "Precision": 0.7083333333333333,
                "Sensitivity": 0.7,
                "Specificity": 0.7,
                "TrueNegative": 3.5,
                "TruePositive": 3.5},
            "MicroAveraged": {
                "Accuracy": 0.7,
                "F1": 0.7,
                "FalseDiscoveryRate": 0.3,
                "FalseNegative": 3,
                "FalseNegativeRate": 0.3,
                "FalsePositive": 3,
                "FalsePositiveRate": 0.3,
                "Kappa": 0.3999999999999999,
                "NegativePredictiveValue": 0.7,
                "Precision": 0.7,
                "Sensitivity": 0.7,
                "Specificity": 0.7,
                "TrueNegative": 7,
                "TruePositive": 7}},
        "PredictedLabelFrequencyList": [6,
            4],
        "PredictedLabelProportionList": [0.6,
            0.4],
        "ProportionMatrix": [[0.8,
                0.2],
            [0.4,
                0.6]]} |

付録

パイプラインページでマルチクラス分類評価コンポーネントを実行する場合は、マルチクラス分類評価コンポーネントを右クリックし、[視覚分析] を選択して結果を表示できます。image

image

image