microsoftml.rx_predict: Skor menggunakan model machine learning Microsoft

Usage

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

Melaporkan hasil penilaian per instance dalam data frame atau sumber data revoscalepy menggunakan model Microsoft ML Pembelajaran Mesin yang terlatih dengan sumber data arevoscalepy.

Rincian

Item berikut dilaporkan secara default dalam output: penilaian pada tiga variabel untuk klasifikator biner: LabelPredicted, Score, dan Probability; skor untuk klasifikasi oneClassSvm dan regresi; PredictedLabel untuk klasifikator Multi-kelas, ditambah variabel untuk setiap kategori yang diawali oleh Score.

Arguments

model

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

data

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

output_data

Teks keluaran atau nama file xdf atau yang RxDataSource memiliki kemampuan menulis untuk menyimpan data yang telah ditransformasi. Jika Tidak ada, sebuah frame data akan dikembalikan. Nilai defaultnya adalah Tidak Ada.

write_model_vars

Jika True, variabel dalam model ditulis ke set data output selain variabel skor. Jika variabel dari set data input ditransformasikan dalam model, variabel yang telah ditransformasi juga dimasukkan. Nilai defaultnya adalah False.

extra_vars_to_write

None atau vektor karakter dari nama variabel tambahan dari data input yang akan dimasukkan ke output_datadalam . Jika write_model_vars adalah True, variabel model juga termasuk. Nilai defaultnya adalah None.

suffix

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

Mengganti

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

data_threads

Sebuah bilangan bulat yang menentukan tingkat paralelisme yang diinginkan dalam pipeline data. Jika Tidak ada, jumlah thread 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 waktunya 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 skala yang valid. RxComputeContext. Saat ini lokal dan pencabutan. Konteks komputasi RxInSqlServer didukung.

karg

Argumen tambahan dikirim ke mesin komputasi.

Pengembalian Barang

Sebuah data frame atau revoscalepy. Objek RxDataSource yang mewakili data output yang dibuat. Secara default, output dari klasifikasi biner penilaian mencakup tiga variabel: PredictedLabel, Score, dan Probability; rx_oneclass_svm dan regresi mencakup satu variabel: Score; dan klasifikator multi-kelas mencakup PredictedLabel ditambah satu variabel untuk setiap kategori yang diawali oleh Score. Jika a suffix diberikan, nama tersebut ditambahkan di akhir nama variabel output tersebut.

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