Bagikan melalui


microsoftml.rx_ensemble: Menggabungkan model menjadi satu model

Penggunaan

microsoftml.rx_ensemble(formula: str,
    data: [<class 'revoscalepy.datasource.RxDataSource.RxDataSource'>,
    <class 'pandas.core.frame.DataFrame'>, <class 'list'>],
    trainers: typing.List[microsoftml.modules.base_learner.BaseLearner],
    method: str = None, model_count: int = None,
    random_seed: int = None, replace: bool = False,
    samp_rate: float = None, combine_method: ['Average', 'Median',
    'Vote'] = 'Median', max_calibration: int = 100000,
    split_data: bool = False, ml_transforms: list = None,
    ml_transform_vars: list = None, row_selection: str = None,
    transforms: dict = None, transform_objects: dict = None,
    transform_function: str = None,
    transform_variables: list = None,
    transform_packages: list = None,
    transform_environment: dict = None, blocks_per_read: int = None,
    report_progress: int = None, verbose: int = 1,
    compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None)

Deskripsi

Melatih ansambel model.

Detail

rx_ensemble adalah fungsi yang melatih sejumlah model dari berbagai jenis untuk mendapatkan performa prediktif yang lebih baik daripada yang dapat diperoleh dari satu model.

Argumen

Formula

Rumus simbolis atau matematika dalam sintaks Python yang valid, diapit dalam tanda kutip ganda. Rumus simbolis mungkin mereferensikan objek di sumber data, seperti "creditScore ~ yearsEmploy". Istilah interaksi (creditScore * yearsEmploy) dan ekspresi (creditScore == 1) saat ini tidak didukung.

data

Objek sumber data atau string karakter yang menentukan file .xdf atau objek bingkai data. Atau, ini bisa menjadi daftar sumber data yang menunjukkan setiap model harus dilatih menggunakan salah satu sumber data dalam daftar. Dalam hal ini, panjang daftar data harus sama dengan model_count.

Pelatih

Daftar pelatih dengan argumen mereka. Pelatih dibuat dengan menggunakan FastTrees, , FastForest, FastLinearLogisticRegression, NeuralNetwork, atau OneClassSvm.

metode

String karakter yang menentukan jenis ansambel: "anomaly" untuk Deteksi Anomali, "binary" untuk Klasifikasi Biner, multiClass untuk Klasifikasi Multikelas, atau "regression" untuk Regresi.

random_seed

Menentukan nilai awal acak. Nilai defaultnya adalah None.

model_count

Menentukan jumlah model yang akan dilatih. Jika jumlah ini lebih besar dari panjang daftar pelatih, daftar pelatih diduplikasi untuk mencocokkan model_count.

ganti

Nilai logis yang menentukan apakah pengambilan sampel pengamatan harus dilakukan dengan atau tanpa penggantian. Nilai defaultnya adalah False.

samp_rate

Skalar nilai positif yang menentukan persentase pengamatan yang akan diambil sampelnya untuk setiap pelatih. Defaultnya adalah 1.0 untuk pengambilan sampel dengan penggantian (yaitu, replace=True) dan 0.632 untuk pengambilan sampel tanpa penggantian (yaitu, replace=False). Ketika split_data adalah True, defaultnya samp_rate adalah 1.0 (tidak ada pengambilan sampel yang dilakukan sebelum memisahkan).

split_data

Nilai logis yang menentukan apakah akan melatih model dasar pada partisi yang tidak tumpang tindih atau tidak. Default adalah False. Ini hanya tersedia untuk RxSpark konteks komputasi dan diabaikan untuk orang lain.

combine_method

Menentukan metode yang digunakan untuk menggabungkan model:

  • "Median": untuk menghitung median output model individual,

  • "Average": untuk menghitung rata-rata output model individu dan

  • "Vote": untuk menghitung (pos-neg) / jumlah total model, di mana 'pos' adalah jumlah output positif dan 'neg' adalah jumlah output negatif.

max_calibration

Menentukan jumlah maksimum contoh yang akan digunakan untuk kalibrasi. Argumen ini diabaikan untuk semua tugas selain klasifikasi biner.

ml_transforms

Menentukan daftar transformasi MicrosoftML yang akan dilakukan pada data sebelum pelatihan atau Tidak Ada jika tidak ada transformasi yang harus dilakukan. Transformasi yang memerlukan pass over tambahan pada data (seperti featurize_text, categorical tidak diizinkan. Transformasi ini dilakukan setelah transformasi R yang ditentukan. Nilai defaultnya adalah Tidak Ada.

ml_transform_vars

Menentukan vektor karakter nama variabel yang akan digunakan dalam ml_transforms atau Tidak Ada jika tidak ada yang akan digunakan. Nilai defaultnya adalah Tidak Ada.

row_selection

TIDAK DIDUKUNG. Menentukan baris (pengamatan) dari himpunan data yang akan digunakan oleh model dengan nama variabel logis dari himpunan data (dalam tanda kutip) atau dengan ekspresi logis menggunakan variabel dalam himpunan data. Contohnya:

  • rowSelection = "old" hanya akan menggunakan pengamatan di mana nilai variabel old adalah True.

  • rowSelection = (age > 20) & (age < 65) & (log(income) > 10) hanya menggunakan pengamatan di mana nilai age variabel adalah antara 20 dan 65 dan nilai logincome variabel lebih besar dari 10.

Pemilihan baris dilakukan setelah memproses transformasi data apa pun (lihat argumen transforms atau transform_func). Seperti semua ekspresi, row_selection dapat didefinisikan di luar panggilan fungsi menggunakan expression fungsi .

transformasi

TIDAK DIDUKUNG. Ekspresi formulir yang mewakili putaran pertama transformasi variabel. Seperti semua ekspresi, transforms (atau row_selection) dapat didefinisikan di luar panggilan fungsi menggunakan expression fungsi .

transform_objects

TIDAK DIDUKUNG. Daftar bernama yang berisi objek yang dapat dirujuk oleh transforms, transform_function, dan row_selection.

transform_function

Fungsi transformasi variabel.

transform_variables

Vektor karakter variabel himpunan data input yang diperlukan untuk fungsi transformasi.

transform_packages

TIDAK DIDUKUNG. Vektor karakter yang menentukan paket Python tambahan (di luar yang ditentukan dalam RxOptions.get_option("transform_packages")) untuk tersedia dan dimuat sebelumnya untuk digunakan dalam fungsi transformasi variabel. Misalnya, mereka yang secara eksplisit didefinisikan dalam fungsi pencabutan skala melalui argumen dan transform_function mereka transforms atau yang didefinisikan secara implisit melalui argumen atau row_selection merekaformula. Argumen transform_packages mungkin juga Tidak Ada, menunjukkan bahwa tidak ada paket di luar RxOptions.get_option("transform_packages") yang dimuat sebelumnya.

transform_environment

TIDAK DIDUKUNG. Lingkungan yang ditentukan pengguna untuk berfungsi sebagai induk untuk semua lingkungan yang dikembangkan secara internal dan digunakan untuk transformasi data variabel. Jika transform_environment = None, lingkungan "hash" baru dengan induk revoscalepy.baseenv digunakan sebagai gantinya.

blocks_per_read

Menentukan jumlah blok yang akan dibaca untuk setiap potongan data yang dibaca dari sumber data.

report_progress

Nilai bilangan bulat yang menentukan tingkat pelaporan pada kemajuan pemrosesan baris:

  • 0: tidak ada kemajuan yang dilaporkan.

  • 1: jumlah baris yang diproses dicetak dan diperbarui.

  • 2: baris yang diproses dan waktu dilaporkan.

  • 3: baris yang diproses dan semua waktu dilaporkan.

verbose

Nilai bilangan bulat yang menentukan jumlah output yang diinginkan. Jika 0, tidak ada output verbose yang dicetak selama perhitungan. Nilai bilangan bulat dari 1 untuk 4 memberikan peningkatan jumlah informasi.

compute_context

Mengatur konteks di mana komputasi dijalankan, ditentukan dengan yang valid revoscalepy.RxComputeContext. Saat ini lokal dan revoscalepy. Konteks komputasi RxSpark didukung. Ketika mencabut skala. RxSpark ditentukan, pelatihan model dilakukan dengan cara terdistribusi, dan ansambel dilakukan secara lokal. Perhatikan bahwa konteks komputasi tidak boleh tidak menunggu.

Mengembalikan

Objek rx_ensemble dengan model ansambel terlatih.