microsoftml.rx_predict: Skor menggunakan model pembelajaran mesin Microsoft

Penggunaan

microsoftml.rx_predict(model,
    data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
    pandas.core.frame.DataFrame],
    output_data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
    str] = None, write_model_vars: bool = False,
    extra_vars_to_write: list = None, suffix: str = None,
    overwrite: bool = False, data_threads: int = None,
    blocks_per_read: int = None, report_progress: int = None,
    verbose: int = 1,
    compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None,
    **kargs)

Deskripsi

Laporan penilaian per instans menghasilkan bingkai data atau sumber data revoscalepy menggunakan model Pembelajaran Mesin Microsoft ML terlatih dengan sumber arevoscalepydata.

Detail

Item berikut dilaporkan dalam output secara default: menilai tiga variabel untuk pengklasifikasi biner: PredictedLabel, Score, dan Probability; Skor untuk oneClassSvm dan pengklasifikasi regresi; PredictedLabel untuk pengklasifikasi Multi-kelas, ditambah variabel untuk setiap kategori yang ditambahkan sebelumnya oleh Skor.

Argumen

model

Objek informasi model yang dikembalikan dari model microsoftml. Misalnya, objek yang dikembalikan dari rx_fast_trees atau rx_logistic_regression.

data

Objek sumber data revoscalepy , bingkai data, atau jalur ke .xdf file.

output_data

Teks output atau nama file xdf atau RxDataSource dengan kemampuan tulis untuk menyimpan data yang diubah. Jika Tidak Ada, bingkai data dikembalikan. Nilai defaultnya adalah Tidak Ada.

write_model_vars

Jika True, variabel dalam model ditulis ke himpunan data output selain variabel penilaian. Jika variabel dari himpunan data input diubah dalam model, variabel yang diubah juga disertakan. Nilai defaultnya adalah False.

extra_vars_to_write

None atau vektor karakter nama variabel tambahan dari data input untuk disertakan output_datadalam . Jika write_model_vars adalah True, variabel model juga disertakan. Nilai defaultnya adalah None.

Akhiran

String karakter yang menentukan akhiran untuk ditambahkan ke variabel penilaian yang dibuat atau None di tidak ada akhiran. Nilai defaultnya adalah None.

menimpa

Jika True, yang ada output_data ditimpa; jika False yang ada output_data tidak ditimpa. Nilai defaultnya adalah False.

data_threads

Bilangan bulat yang menentukan tingkat paralelisme yang diinginkan dalam alur data. Jika Tidak Ada, jumlah utas yang digunakan ditentukan secara internal. Nilai defaultnya adalah Tidak Ada.

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.

Nilai defaultnya adalah 1.

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. Nilai defaultnya adalah 1.

compute_context

Mengatur konteks di mana komputasi dijalankan, ditentukan dengan pencabutan yang valid. RxComputeContext. Saat ini lokal dan revoscalepy. Konteks komputasi RxInSqlServer didukung.

karg

Argumen tambahan dikirim ke mesin komputasi.

Mengembalikan

Bingkai data atau revoscalepy. Objek RxDataSource yang mewakili data output yang dibuat. Secara default, output dari penilaian pengklasifikasi biner mencakup tiga variabel: PredictedLabel, , Scoredan Probability; rx_oneclass_svm dan regresi mencakup satu variabel: Score; dan pengklasifikasi multi-kelas termasuk PredictedLabel ditambah variabel untuk setiap kategori yang diawali oleh Score. suffix Jika disediakan, itu ditambahkan ke akhir nama variabel output ini.

Lihat juga

rx_featurize, revoscalepy.rx_data_step, revoscalepy.rx_import.

Contoh klasifikasi biner

'''
Binary Classification.
'''
import numpy
import pandas
from microsoftml import rx_fast_linear, rx_predict
from revoscalepy.etl.RxDataStep import rx_data_step
from microsoftml.datasets.datasets import get_dataset

infert = get_dataset("infert")

import sklearn
if sklearn.__version__ < "0.18":
    from sklearn.cross_validation import train_test_split
else:
    from sklearn.model_selection import train_test_split

infertdf = infert.as_df()
infertdf["isCase"] = infertdf.case == 1
data_train, data_test, y_train, y_test = train_test_split(infertdf, infertdf.isCase)

forest_model = rx_fast_linear(
    formula=" isCase ~ age + parity + education + spontaneous + induced ",
    data=data_train)
    
# RuntimeError: The type (RxTextData) for file is not supported.
score_ds = rx_predict(forest_model, data=data_test,
                     extra_vars_to_write=["isCase", "Score"])
                     
# Print the first five rows
print(rx_data_step(score_ds, number_rows_read=5))

Output:

Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Beginning processing data.
Rows Read: 186, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 186, Read Time: 0.001, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 186, Read Time: 0.001, Transform Time: 0
Beginning processing data.
Using 2 threads to train.
Automatically choosing a check frequency of 2.
Auto-tuning parameters: maxIterations = 8064.
Auto-tuning parameters: L2 = 2.666837E-05.
Auto-tuning parameters: L1Threshold (L1/L2) = 0.
Using best model from iteration 590.
Not training a calibrator because it is not needed.
Elapsed time: 00:00:00.6058289
Elapsed time: 00:00:00.0084728
Beginning processing data.
Rows Read: 62, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0302359
Finished writing 62 rows.
Writing completed.
Rows Read: 5, Total Rows Processed: 5, Total Chunk Time: 0.001 seconds 
  isCase PredictedLabel     Score  Probability
0  False           True  0.576775     0.640325
1  False          False -2.929549     0.050712
2   True          False -2.370090     0.085482
3  False          False -1.700105     0.154452
4  False          False -0.110981     0.472283

Contoh regresi

'''
Regression.
'''
import numpy
import pandas
from microsoftml import rx_fast_trees, rx_predict
from revoscalepy.etl.RxDataStep import rx_data_step
from microsoftml.datasets.datasets import get_dataset

airquality = get_dataset("airquality")

import sklearn
if sklearn.__version__ < "0.18":
    from sklearn.cross_validation import train_test_split
else:
    from sklearn.model_selection import train_test_split

airquality = airquality.as_df()


######################################################################
# Estimate a regression fast forest
# Use the built-in data set 'airquality' to create test and train data

df = airquality[airquality.Ozone.notnull()]
df["Ozone"] = df.Ozone.astype(float)

data_train, data_test, y_train, y_test = train_test_split(df, df.Ozone)

airFormula = " Ozone ~ Solar_R + Wind + Temp "

# Regression Fast Forest for train data
ff_reg = rx_fast_trees(airFormula, method="regression", data=data_train)

# Put score and model variables in data frame
score_df = rx_predict(ff_reg, data=data_test, write_model_vars=True)
print(score_df.head())

# Plot actual versus predicted values with smoothed line
# Supported in the next version.
# rx_line_plot(" Score ~ Ozone ", type=["p", "smooth"], data=score_df)

Output:

'unbalanced_sets' ignored for method 'regression'
Not adding a normalizer.
Making per-feature arrays
Changing data from row-wise to column-wise
Beginning processing data.
Rows Read: 87, Read Time: 0.001, Transform Time: 0
Beginning processing data.
Warning: Skipped 4 instances with missing features during training
Processed 83 instances
Binning and forming Feature objects
Reserved memory for tree learner: 22620 bytes
Starting to train ...
Not training a calibrator because it is not needed.
Elapsed time: 00:00:00.0390764
Elapsed time: 00:00:00.0080750
Beginning processing data.
Rows Read: 29, Read Time: 0.001, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0221875
Finished writing 29 rows.
Writing completed.
   Solar_R  Wind  Temp      Score
0    290.0   9.2  66.0  33.195541
1    259.0  15.5  77.0  20.906796
2    276.0   5.1  88.0  76.594643
3    139.0  10.3  81.0  31.668842
4    236.0  14.9  81.0  43.590839