microsoftml.rx_predict: Microsoft makine öğrenimi modeli kullanılarak puanlar

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)

Description

Raporlar örnek başına puanlama, arevoscalepydata kaynağına sahip eğitilmiş bir Microsoft ML Machine Learning modeli kullanılarak veri çerçevesi veya revoscalepy veri kaynağı elde eder.

Ayrıntılar

Çıktıda varsayılan olarak şu maddeler rapor edilmiştir: ikili sınıflandırıcılar için üç değişken üzerinden puanlama: PredictedLabel, Score ve Probability; oneClassSvm ve regresyon sınıflayıcıları için Puan; Çok sınıflı sınıflandırıcılar için PredictedLabel ve her kategori için Puan ile birlikte bir değişken.

Arguments

model

Microsoftml modelinden döndürülmüş bir model bilgi nesnesi. Örneğin, bir nesne veya rx_logistic_regression'den rx_fast_trees döner.

data

Bir revoscalepy veri kaynak nesnesi, bir veri çerçevesi veya bir .xdf dosyaya giden yol.

output_data

Metin veya xdf dosya adı ya RxDataSource da dönüştürülmüş verileri depolamak için yazma yeteneklerine sahip bir gönderi ver. Eğer Yoksa, bir veri çerçevesi döner. Varsayılan değer olarak Hiçbiri kullanılır.

write_model_vars

Eğer True, modeldeki değişkenler puanlama değişkenlerine ek olarak çıktı veri setine yazılır. Eğer girdi veri setinden değişkenler modelde dönüştürülürse, dönüştürülmüş değişkenler de dahil edilir. False varsayılan değerdir.

extra_vars_to_write

None veya giriş verilerinden ek değişken isimlerinin karakter vektörü olarak output_data. Eğer write_model_vars ise True, model değişkenleri de dahil edilir. None varsayılan değerdir.

suffix

Oluşturulan puanlama değişken(lerine) ekleyici ekleyen bir karakter dizisi veya None eki yoktur. None varsayılan değerdir.

üzerine yazmak

Eğer True, var output_data olan bir şey üzerine yazılır; eğer False var olan bir output_data şey üzerine yazılmazsa. False varsayılan değerdir.

data_threads

Veri boru hattında istenen paralellik derecesini belirten bir tam sayı. Eğer Yoksa, kullanılan iş parçacığı sayısı dahili olarak belirlenir. Varsayılan değer olarak Hiçbiri kullanılır.

blocks_per_read

Veri kaynağından okunan her veri öbekleri için okunacak blok sayısını belirtir.

report_progress

Satır işleme ilerleme durumuyla ilgili raporlama düzeyini belirten bir tamsayı değeri:

  • 0: herhangi bir ilerleme bildirilmemiştir.

  • 1: işlenen satır sayısı yazdırılır ve güncelleştirilir.

  • 2: işlenen satırlar ve zamanlamalar bildirilir.

  • 3: işlenen satırlar ve tüm zamanlamalar bildirilir.

1 varsayılan değerdir.

verbose

İstenen çıkış miktarını belirten bir tamsayı değeri. ise 0, hesaplamalar sırasında ayrıntılı çıktı yazdırılmaz. Artan miktarda bilgi sağlamak için 1 olan 4 tamsayı değerleri. 1 varsayılan değerdir.

compute_context

Geçerli bir revoscalepy ile belirtilen hesaplamaların yürütülme bağlamını ayarlar. RxComputeContext. Şu anda yerel ve revoscalepy. RxInSqlServer işlem bağlamları desteklenir.

kargs

İşlem altyapısına gönderilen ek bağımsız değişkenler.

İadeler

Bir veri çerçevesi veya bir revoscalepy. Oluşturulan çıktı verisini temsil eden RxDataSource nesnesi. Varsayılan olarak, puanlama ikili sınıflandırıcılarından çıkan çıktılar üç değişken içerir: PredictedLabel, Score, ve Probability; rx_oneclass_svm regresyon ise bir değişken içerir: Score; ve çok sınıflı sınıflandırıcılar PredictedLabel her kategori için bir değişken içerir.Score Eğer a suffix sağlanırsa, bu çıktı değişken isimlerinin sonuna eklenir.

İkili sınıflandırma örneği

'''
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))

Çıktı:

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

Regresyon örneği

'''
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)

Çıktı:

'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