このトピックでは、Machine Learning Designer (旧称Machine Learning Studio) が提供する離散機能分析コンポーネントについて説明します。
離散特徴分析コンポーネントは、次のメトリック、すなわち、gini、エントロピー、giniゲイン、情報ゲイン、および情報ゲイン比を使用することによって、離散特徴の分布に関する統計を収集する。 giniおよびエントロピーは、各離散値に対して計算される。 各列について、giniゲイン、情報ゲイン、情報ゲイン比を算出する。
ジーニ
エントロピー
コンポーネントの設定
次のいずれかの方法を使用して、離散特徴分析コンポーネントを設定できます。
方法1: パイプラインページでコンポーネントを設定する
Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、離散特徴分析コンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
フィーチャー列 | トレーニングサンプルのデータの特徴を表す列。 |
ラベル列 | ラベル列。 |
スパース行列 | 入力テーブルのデータがスパース形式の場合、フィーチャはキーと値のペア形式でなければなりません。 |
方法2: PAIコマンドを使用する
PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。
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 | 不可 | トレーニング用に入力テーブルから選択されたパーティション。 次の形式がサポートされています。
説明 複数のパーティションを指定する場合は、コンマ (,) で区切ります。 | フルテーブル |
featureColNames | 不可 | トレーニング用に入力テーブルから選択されたフィーチャ列。 | デフォルト値なし |
labelColName | 不可 | 入力テーブルのラベル列の名前。 | デフォルト値なし |
enableSparse | 不可 | 入力データがスパース形式かどうかを指定します。 有効な値: trueとfalse。 | false |
kvFeatureColNames | 不可 | キーと値のペア形式のフィーチャ列の名前。 | フルテーブル |
kvDelimiter | 不可 | 入力テーブルのデータがスパース形式の場合、keyとvalueを区切るために使用される区切り文字。 | : |
itemDelimiter | 不可 | 入力テーブルのデータがスパース形式の場合、キーと値のペアを区切るために使用される区切り文字。 | , |
outputCntTableName | 不可 | 離散フィーチャの列挙値を含む出力分布テーブル。 | 非該当 |
outputValueTableName | 不可 | 離散フィーチャのgini値とエントロピー値を含む出力テーブル。 | 非該当 |
outputEnumValueTableName | 不可 | 離散フィーチャの列挙されたgini値とエントロピー値を含む出力テーブル。 | 非該当 |
lifecycle | 不可 | テーブルのライフサイクル。 | デフォルト値なし |
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 | | 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 | +------------+------------+------------+------------+
PAIコンソール
コンポーネントインタフェース
パラメーター設定
結果