全部产品
Search
文档中心

Platform For AI:Analisis Fitur Diskrit

更新时间:Jun 22, 2025

Analisis fitur diskrit adalah teknik yang digunakan untuk menangani dan menganalisis fitur dengan sejumlah kategori berbeda yang terbatas. Pendekatan ini menilai distribusi fitur diskrit, menghitung metrik seperti indeks Gini dan entropi dari setiap fitur diskrit, serta mengevaluasi pentingnya fitur menggunakan metrik seperti Gini Gain, Information Gain, dan Information Gain Ratio. Evaluasi ini membantu mengidentifikasi fitur yang secara signifikan memengaruhi performa model.

Konfigurasikan komponen

Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Analisis Fitur Diskrit.

Metode 1: Konfigurasikan komponen pada halaman pipeline

Pada halaman detail pipeline di Machine Learning Designer, tambahkan komponen Analisis Fitur Diskrit ke pipeline dan konfigurasikan parameter yang dijelaskan dalam tabel berikut.

Parameter

Deskripsi

Kolom Fitur

Kolom-kolom yang merepresentasikan fitur data dalam sampel pelatihan.

Kolom Label

Kolom label.

Matriks Sparse

Jika data dalam tabel input berada dalam format sparse, fitur harus dalam format pasangan kunci-nilai.

Metode 2: Gunakan perintah PAI

Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat Skenario 4: Jalankan Perintah PAI dalam Komponen Skrip 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;

Parameter

Diperlukan

Nilai default

Deskripsi

inputTableName

Ya

Tidak ada nilai default

Nama tabel input.

inputTablePartitions

Tidak

Tabel lengkap

Partisi yang dipilih dari tabel input untuk pelatihan. Format berikut didukung:

  • Partition_name=value

  • name1=value1/name2=value2: partisi multi-level

null

Jika Anda menentukan beberapa partisi, pisahkan mereka dengan koma (,).

featureColNames

Tidak

Tidak ada nilai default

Kolom fitur yang dipilih dari tabel input untuk pelatihan.

labelColName

Tidak

Tidak ada nilai default

Nama kolom label dalam tabel input.

enableSparse

Tidak

false

Menentukan apakah data input berada dalam format sparse. Nilai valid: true and false.

kvFeatureColNames

Tidak

Tabel lengkap

Nama kolom fitur yang berada dalam format pasangan kunci-nilai.

kvDelimiter

Tidak

:

Pemisah yang digunakan untuk memisahkan kunci dan nilai jika data dalam tabel input berada dalam format sparse.

itemDelimiter

Tidak

,

Pemisah yang digunakan untuk memisahkan pasangan kunci-nilai jika data dalam tabel input berada dalam format sparse.

outputCntTableName

Tidak

N/A

Tabel distribusi keluaran yang berisi nilai enumerasi fitur diskrit.

outputValueTableName

Tidak

N/A

Tabel keluaran yang berisi nilai gini dan entropi fitur diskrit.

outputEnumValueTableName

Tidak

N/A

Tabel keluaran yang berisi nilai gini dan entropi enumerasi fitur diskrit.

lifecycle

Tidak

Tidak ada nilai default

Siklus hidup tabel.

coreNum

Tidak

Ditentukan oleh sistem

Jumlah core yang digunakan dalam komputasi. Nilainya harus bilangan bulat positif.

memSizePerCore

Tidak

Ditentukan oleh sistem

Ukuran memori setiap core. Nilai valid: 1 hingga 65536. Unit: MB.

Contoh

Jalankan pernyataan SQL berikut untuk menghasilkan data input:

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;

Data Input:

+------------+------------+------------+
| 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        |
+------------+------------+------------+
  • Perintah PAI

    • Perintah

      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";
    • Output Perintah

      • 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 |
        +------------+------------+------------+------------+