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

Platform For AI:不足しているデータの追加

最終更新日:Jul 22, 2024

Missing Data Imutationコンポーネントを使用すると、値のリストを使用して、入力テーブルの不足している値を代入できます。

背景情報

  • このコンポーネントは、数値のnull値を最大値、最小値、平均値、またはカスタム値に置き換えることができます。

  • このコンポーネントは、null文字列、空の文字列、nullと空の文字列、または指定された値をカスタム値に置き換えることもできます。

  • 削除する不足している値は、null値、空の文字列、またはカスタム値にすることができます。

    空の文字列を使用して欠落値を代入する場合、欠落値を代入する宛先列はSTRING型でなければなりません。

  • 数値のnull値をカスタム値に置き換えることができます。 または、数値のnull値を最大値、最小値、または平均値に直接置き換えることもできます。

コンポーネントの設定

次のいずれかの方法を使用してコンポーネントを設定できます。

方法1: Machine Learning Platform for AIコンソールの使用

Machine Learning Designerのパイプライン設定ページでコンポーネントパラメーターを設定します。

タブ

パラメーター

説明

フィールド設定

指定する列

デフォルトでは、入力テーブルのすべての列が選択されます。 特定の列をトレーニングに使用することはできません。 これらの列は予測結果に影響を与えません。

元の値

  • ヌル (数値と文字列)

  • 空の文字列

  • Null and Empty String (String)

  • カスタム (文字列)

交換する

  • 最小 (数値)

  • 最大 (数値)

  • 平均 (数値)

  • カスタム (数値と文字列)

Configs

ID列。

説明

このパラメーターは、[詳細オプション] を選択した場合にのみ表示されます。

チューニング

コア

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

方法2: Machine Learning Platform for AI (PAI) コマンドの使用

PAIコマンドを使用してコンポーネントパラメーターを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを実行できます。 詳細については、「SQLスクリプト」をご参照ください。 PAIコマンドのパラメーターを次の表に示します。

PAI -name FillMissingValues
    -project algo_public
    -Dconfigs="poutcome,null-empty,testing"
    -DoutputParaTableName="test_input_model_output"
    -DoutputTableName="test_3"
    -DinputTablePartitions="pt=20150501"
    -DinputTableName="bank_data_partition";

パラメーター

必須

説明

デフォルト値

inputTableName

入力テーブルの名前。

デフォルト値なし

inputTablePartitions

不可

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

  • Partition_name=value

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

説明

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

すべてのパーティション

outputTableName

出力テーブルの名前。

デフォルト値なし

設定

不足している値を代入するために使用する値。

たとえば、col1, null, 3.14; col2, empty, hello; col3, empty-null, worldでは、nullはnull値を示し、emptyは空の文字列を示します。

  • 空の文字列を使用する場合、欠落した値を代入する宛先列はSTRING型でなければなりません。

  • 最大値、最小値、または平均値を使用する場合、変数を使用して、max、min、またはmeanという名前を付けることができます。

  • カスタム値を使用する場合、ユーザー定義はcol4,user-defined,str,str123などの指定された形式で使用されます。

デフォルト値なし

outputParaTableName

出力パラメーターテーブルの名前。

デフォルト値なし

inputParaTableName

不可

入力パラメーターテーブルの名前。

デフォルト値なし

ライフサイクル

不可

出力テーブルのライフサイクル。 有効な値: [1,3650]

デフォルト値なし

coreNum

不可

コンピューティングで使用されるコアの数。 値は正の整数でなければなりません。

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

memSizePerCore

不可

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

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

例:

  1. 次のSQL文を実行してテストデータを生成します。

    drop table if exists fill_missing_values_test_input;
    create table fill_missing_values_test_input(
        col_string string,
        col_bigint bigint,
        col_double double,
        col_boolean boolean,
        col_datetime datetime);
    insert overwrite table fill_missing_values_test_input
    select
        *
    from
    (
        select
            '01' as col_string,
            10 as col_bigint,
            10.1 as col_double,
            True as col_boolean,
            cast('2016-07-01 10:00:00' as datetime) as col_datetime
        union all
            select
                cast(null as string) as col_string,
                11 as col_bigint,
                10.2 as col_double,
                False as col_boolean,
                cast('2016-07-02 10:00:00' as datetime) as col_datetime
        union all
            select
                '02' as col_string,
                cast(null as bigint) as col_bigint,
                10.3 as col_double,
                True as col_boolean,
                cast('2016-07-03 10:00:00' as datetime) as col_datetime
        union all
            select
                '03' as col_string,
                12 as col_bigint,
                cast(null as double) as col_double,
                False as col_boolean,
                cast('2016-07-04 10:00:00' as datetime) as col_datetime
        union all
            select
                '04' as col_string,
                13 as col_bigint,
                10.4 as col_double,
                cast(null as boolean) as col_boolean,
                cast('2016-07-05 10:00:00' as datetime) as col_datetime
        union all
            select
                '05' as col_string,
                14 as col_bigint,
                10.5 as col_double,
                True as col_boolean,
                cast(null as datetime) as col_datetime
    ) tmp;

    入力データ:

    +------------+------------+------------+-------------+--------------+
    | col_string | col_bigint | col_double | col_boolean | col_datetime |
    +------------+------------+------------+-------------+--------------+
    | 04         | 13         | 10.4       | NULL        | 2016-07-05 10:00:00 |
    | 02         | NULL       | 10.3       | true        | 2016-07-03 10:00:00 |
    | 03         | 12         | NULL       | false       | 2016-07-04 10:00:00 |
    | NULL       | 11         | 10.2       | false       | 2016-07-02 10:00:00 |
    | 01         | 10         | 10.1       | true        | 2016-07-01 10:00:00 |
    | 05         | 14         | 10.5       | true        | NULL         |
    +------------+------------+------------+-------------+--------------+
  2. 以下のコマンドを実行します。

    drop table if exists fill_missing_values_test_input_output;
    drop table if exists fill_missing_values_test_input_model_output;
    PAI -name FillMissingValues
    -project algo_public
    -Dconfigs="col_double,null,mean;col_string,null-empty,str_type_empty;col_bigint,null,max;col_boolean,null,true;col_datetime,null,2016-07-06 10:00:00"
    -DoutputParaTableName="fill_missing_values_test_input_model_output"
    -Dlifecycle="28"
    -DoutputTableName="fill_missing_values_test_input_output"
    -DinputTableName="fill_missing_values_test_input";
    drop table if exists fill_missing_values_test_input_output_using_model;
    drop table if exists fill_missing_values_test_input_output_using_model_model_output;
    PAI -name FillMissingValues
    -project algo_public
    -DoutputParaTableName="fill_missing_values_test_input_output_using_model_model_output"
    -DinputParaTableName="fill_missing_values_test_input_model_output"
    -Dlifecycle="28"
    -DoutputTableName="fill_missing_values_test_input_output_using_model"
    -DinputTableName="fill_missing_values_test_input";
  3. 戻り結果を表示します。

    • fill_missing_values_test_input_output

      +------------+------------+------------+-------------+--------------+
      | col_string | col_bigint | col_double | col_boolean | col_datetime |
      +------------+------------+------------+-------------+--------------+
      | 04         | 13         | 10.4       | true        | 2016-07-05 10:00:00 |
      | 02         | 14         | 10.3       | true        | 2016-07-03 10:00:00 |
      | 03         | 12         | 10.3       | false       | 2016-07-04 10:00:00 |
      | str_type_empty | 11         | 10.2       | false       | 2016-07-02 10:00:00 |
      | 01         | 10         | 10.1       | true        | 2016-07-01 10:00:00 |
      | 05         | 14         | 10.5       | true        | 2016-07-06 10:00:00 |
      +------------+------------+------------+-------------+--------------+
    • fill_missing_values_test_input_model_output

      +------------+------------+
      | feature    | json       |
      +------------+------------+
      | col_string | {"name": "fillMissingValues", "type": "string", "paras":{"missing_value_type": "null-empty",  "replaced_value": "str_type_empty"}} |
      | col_bigint | {"name": "fillMissingValues", "type": "bigint", "paras":{"missing_value_type": "null",  "replaced_value": 14}} |
      | col_double | {"name": "fillMissingValues", "type": "double", "paras":{"missing_value_type": "null",  "replaced_value": 10.3}} |
      | col_boolean | {"name": "fillMissingValues", "type": "boolean", "paras":{"missing_value_type": "null",  "replaced_value": 1}} |
      | col_datetime | {"name": "fillMissingValues", "type": "datetime", "paras":{"missing_value_type": "null",  "replaced_value": 1467770400000}} |
      +------------+------------+
    • fill_missing_values_test_input_output_using_model

      +------------+------------+------------+-------------+--------------+
      | col_string | col_bigint | col_double | col_boolean | col_datetime |
      +------------+------------+------------+-------------+--------------+
      | 04         | 13         | 10.4       | true        | 2016-07-05 10:00:00 |
      | 02         | 14         | 10.3       | true        | 2016-07-03 10:00:00 |
      | 03         | 12         | 10.3       | false       | 2016-07-04 10:00:00 |
      | str_type_empty | 11         | 10.2       | false       | 2016-07-02 10:00:00 |
      | 01         | 10         | 10.1       | true        | 2016-07-01 10:00:00 |
      | 05         | 14         | 10.5       | true        | 2016-07-06 10:00:00 |
      +------------+------------+------------+-------------+--------------+
    • fill_missing_values_test_input_output_using_model_model_output

      +------------+------------+
      | feature    | json       |
      +------------+------------+
      | col_string | {"name": "fillMissingValues", "type": "string", "paras":{"missing_value_type": "null-empty",  "replaced_value": "str_type_empty"}} |
      | col_bigint | {"name": "fillMissingValues", "type": "bigint", "paras":{"missing_value_type": "null",  "replaced_value": 14}} |
      | col_double | {"name": "fillMissingValues", "type": "double", "paras":{"missing_value_type": "null",  "replaced_value": 10.3}} |
      | col_boolean | {"name": "fillMissingValues", "type": "boolean", "paras":{"missing_value_type": "null",  "replaced_value": 1}} |
      | col_datetime | {"name": "fillMissingValues", "type": "datetime", "paras":{"missing_value_type": "null",  "replaced_value": 1467770400000}} |
      +------------+------------+