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

Platform For AI:離散的な特徴分析

最終更新日:Jan 08, 2025

離散特徴分析は、限られた数の別個のカテゴリを有する特徴を処理および分析するために使用される技術である。 このアプローチは、離散的特徴の分布を評価し、各離散的特徴のgini指数およびエントロピーなどのメトリックを計算し、そして、Gini利得、情報利得、および情報利得比などのメトリックを使用することによって特徴重要性を評価する。 これらの評価は、モデルのパフォーマンスに大きな影響を与えるフィーチャの特定に役立ちます。

コンポーネントの設定

次のいずれかの方法を使用して、離散特徴分析コンポーネントを設定できます。

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

Machine Learning Designerのパイプラインの詳細ページで、離散機能分析コンポーネントをパイプラインに追加し、次の表に示すパラメーターを設定します。

パラメーター

説明

フィーチャー列

トレーニングサンプルのデータの特徴を表す列。

ラベル列

ラベル列。

スパース行列

入力テーブルのデータがスパース形式の場合、フィーチャはキーと値のペア形式でなければなりません。

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

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

PAI
-name enum_feature_selection
-project algo_public
-DinputTableName=enumfeautreselection_input
-DlabelColName=label
-DfeatureColNames=col0,col1
-DenableSparse=false
-DoutputCntTableName=enumfeautreselection_output_cntTable
-DoutputValueTableName=enumfeautreselection_output_valuetable
-DoutputEnumValueTableName=enumfeautreselection_output_enumvaluetable;

パラメーター

必須 / 任意

デフォルト値

説明

inputTableName

対象

デフォルト値なし

入力テーブルの名前。

inputTablePartitions

非対象

フルテーブル

トレーニング用に入力テーブルから選択されたパーティション。 次の形式がサポートされています。

  • Partition_name=value

  • name1=value1/name2=value2: マルチレベルパーティション

説明

複数のパーティションを指定する場合は、コンマ (,) で区切ります。

featureColNames

非対象

デフォルト値なし

トレーニング用に入力テーブルから選択されたフィーチャ列。

labelColName

非対象

デフォルト値なし

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

enableSparse

非対象

false

入力データがスパース形式かどうかを指定します。 有効な値: trueとfalse

kvFeatureColNames

非対象

フルテーブル

キーと値のペア形式のフィーチャ列の名前。

kvDelimiter

非対象

:

入力テーブルのデータがスパース形式の場合、keyvalueを区切るために使用される区切り文字。

itemDelimiter

非対象

,

入力テーブルのデータがスパース形式の場合、キーと値のペアを区切るために使用される区切り文字。

outputCntTableName

非対象

非該当

離散フィーチャの列挙値を含む出力分布テーブル。

outputValueTableName

非対象

非該当

離散フィーチャのgini値とエントロピー値を含む出力テーブル。

outputEnumValueTableName

非対象

非該当

離散的な特徴の列挙されたginiおよびエントロピー値を含む出力テーブル。

ライフサイクル

非対象

デフォルト値なし

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

coreNum

非対象

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

コンピューティングで使用されるコアの数。 値は正の整数である必要があります。

memSizePerCore

非対象

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

各コアのメモリサイズ。 有効な値: 1 ~ 65536 単位:MB。

例:

次のSQL文を実行して入力データを生成します。

drop table if exists enum_feature_selection_test_input;
create table enum_feature_selection_test_input
as
select
    *
from
(
    select
        '00' as col_string,
        1 as col_bigint,
        0.0 as col_double
    from dual
    union all
        select
            cast(null as string) as col_string,
            0 as col_bigint,
            0.0 as col_double
        from dual
    union all
        select
            '01' as col_string,
            0 as col_bigint,
            1.0 as col_double
        from dual
    union all
        select
            '01' as col_string,
            1 as col_bigint,
            cast(null as double) as col_double
        from dual
    union all
        select
            '01' as col_string,
            1 as col_bigint,
            1.0 as col_double
        from dual
    union all
        select
            '00' as col_string,
            0 as col_bigint,
            0.0 as col_double
        from dual
) tmp;

入力データ:

+------------+------------+------------+
| col_string | col_bigint | col_double |
+------------+------------+------------+
| 01         | 1          | 1.0        |
| 01         | 0          | 1.0        |
| 01         | 1          | NULL       |
| NULL       | 0          | 0.0        |
| 00         | 1          | 0.0        |
| 00         | 0          | 0.0        |
+------------+------------+------------+
  • PAIコマンド

    • コマンド

      drop table if exists enum_feature_selection_test_input_enum_value_output;
      drop table if exists enum_feature_selection_test_input_cnt_output;
      drop table if exists enum_feature_selection_test_input_value_output;
      PAI -name enum_feature_selection -project algo_public -DitemDelimiter=":" -Dlifecycle="28" -DoutputValueTableName="enum_feature_selection_test_input_value_output" -DkvDelimiter="," -DlabelColName="col_bigint" -DfeatureColNames="col_double,col_string" -DoutputEnumValueTableName="enum_feature_selection_test_input_enum_value_output" -DenableSparse="false" -DinputTableName="enum_feature_selection_test_input" -DoutputCntTableName="enum_feature_selection_test_input_cnt_output";
    • コマンド出力

      • enum_feature_selection_test_input_cnt_output

        +------------+------------+------------+------------+
        | colname    | colvalue   | labelvalue | cnt        |
        +------------+------------+------------+------------+
        | col_double | NULL       | 1          | 1          |
        | col_double | 0          | 0          | 2          |
        | col_double | 0          | 1          | 1          |
        | col_double | 1          | 0          | 1          |
        | col_double | 1          | 1          | 1          |
        | col_string | NULL       | 0          | 1          |
        | col_string | 00         | 0          | 1          |
        | col_string | 00         | 1          | 1          |
        | col_string | 01         | 0          | 1          |
        | col_string | 01         | 1          | 2          |
        +------------+------------+------------+------------+
      • enum_feature_selection_test_input_value_output

        +------------+------------+------------+------------+------------+---------------+
        | colname    | gini       | entropy    | infogain   | ginigain   | infogainratio |
        +------------+------------+------------+------------+------------+---------------+
        | col_double | 0.3888888888888889 | 0.792481250360578 | 0.20751874963942196 | 0.1111111111111111 | 0.14221913160264427 |
        | col_string | 0.38888888888888884 | 0.792481250360578 | 0.20751874963942196 | 0.11111111111111116 | 0.14221913160264427 |
        +------------+------------+------------+------------+------------+---------------+
      • enum_feature_selection_test_input_enum_value_output

        +------------+------------+------------+------------+
        | colname    | colvalue   | gini       | entropy    |
        +------------+------------+------------+------------+
        | col_double | NULL       | 0.0        | 0.0        |
        | col_double | 0          | 0.22222222222222224 | 0.4591479170272448 |
        | col_double | 1          | 0.16666666666666666 | 0.3333333333333333 |
        | col_string | NULL       | 0.0        | 0.0        |
        | col_string | 00         | 0.16666666666666666 | 0.3333333333333333 |
        | col_string | 01         | 0.2222222222222222 | 0.4591479170272448 |
        +------------+------------+------------+------------+