Teilen über


rxPredict.mlModel: Bewertung mithilfe eines Microsoft R Machine Learning-Modells

Meldet Bewertungsergebnisse instanzbezogen in einem Datenrahmen oder einer RevoScaleR-Datenquelle mithilfe eines trainierten Microsoft R Machine Learning-Modells mit einer RevoScaleR-Datenquelle.

Verwendung

 ## S3 method for class `mlModel':
rxPredict  (modelObject, data, outData = NULL,
    writeModelVars = FALSE, extraVarsToWrite = NULL, suffix = NULL,
    overwrite = FALSE, dataThreads = NULL,
    blocksPerRead = rxGetOption("blocksPerRead"),
    reportProgress = rxGetOption("reportProgress"), verbose = 1,
    computeContext = rxGetOption("computeContext"), ...)

Argumente

modelObject

Ein Modellinformationsobjekt, das von einem Microsoft ML-Modell zurückgegeben wird. Beispielsweise ein von rxFastTrees oder rxLogisticRegression zurückgegebenes Objekt.

data

Ein RevoScaleR-Datenquellenobjekt, ein Datenrahmen oder der Pfad zu einer .xdf-Datei.

outData

Ausgabetext oder Name der XDF-Datei oder RxDataSource mit Schreibfunktionen zum Speichern von Vorhersagen. Falls NULL, wird ein Datenrahmen zurückgegeben. Standardwert: NULL.

writeModelVars

Falls TRUE, werden die Variablen des Modells zusätzlich zu den Bewertungsvariablen in das Ausgabedataset geschrieben. Wenn Variablen aus dem Eingabedataset im Modell transformiert werden, werden auch die transformierten Variablen einbezogen. Der Standardwert ist FALSE.

extraVarsToWrite

NULL oder ein Zeichenvektor mit den Namen zusätzlicher Variablen aus den Eingabedaten, die in outData einbezogen werden sollen. Wenn writeModelVarsTRUE ist, werden auch Modellvariablen einbezogen. Der Standardwert ist NULL.

suffix

Eine Zeichenfolge, die das Suffix angibt, das an die erstellten Bewertungsariablen angefügt werden soll, oder NULL, wenn es kein Suffix gibt. Standardwert: NULL.

overwrite

Falls TRUE, wird ein vorhandenes outData-Element überschrieben. Falls FALSE, wird ein vorhandenes outData-Element nicht überschrieben. Der Standardwert ist FALSE.

dataThreads

Eine ganze Zahl, die den gewünschten Grad von Parallelität in der Datenpipeline angibt. Falls NULL, wird die Anzahl der verwendeten Threads intern bestimmt. Standardwert: NULL.

blocksPerRead

Gibt die Anzahl der Blöcke an, die für jeden Datenblock gelesen werden, der aus der Datenquelle gelesen wird.

reportProgress

Ein ganzzahliger Wert, der die Berichtsebene für den Status der Zeilenverarbeitung angibt:

  • 0: Es wird kein Status gemeldet.
  • 1: Die Anzahl der verarbeiteten Zeilen wird ausgegeben und aktualisiert.
  • 2: Verarbeitete Zeilen und Zeitsteuerungen werden gemeldet.
  • 3: Verarbeitete Zeilen und alle Zeitsteuerungen werden gemeldet.
    Der Standardwert ist 1.

verbose

Ein ganzzahliger Wert, der die gewünschte Ausgabemenge angibt. Falls 0, erfolgt während der Berechnungen keine ausführliche Ausgabe. Ganzzahlige Werte von 1 bis 4 liefern zunehmend mehr Informationen. Standardwert: 1.

computeContext

Legt den Kontext fest, in dem Berechnungen erfolgen, angegeben mit einer gültigen Angabe für RxComputeContext. Derzeit werden lokale und RxInSqlServer-Computekontexte unterstützt.

...

Zusätzliche Argumente, die direkt an die Microsoft-Compute-Engine übergeben werden sollen.

Details

Die folgenden Elemente werden in der Ausgabe standardmäßig angegeben: Bewertung für drei Variablen für die binären Klassifizierer: PredictedLabel, Score und Probability. Der Punktwert für oneClassSvm und Regressionsklassifikatoren, PredictedLabel für Multiklassen-Klassifizier sowie eine Variable für jede Kategorie, der „Score“ vorangestellt ist.

Wert

Ein Datenrahmen oder ein RxDataSource-Objekt, das die erstellten Ausgabedaten darstellt. Standardmäßig umfasst die Ausgabe binärer Bewertungsklassifizierer drei Variablen: PredictedLabel, Score und Probability. rxOneClassSvm und Regression enthalten eine Variable: Score. Multiklassen-Klassifizierer enthalten PredictedLabel plus eine Variable für jede Kategorie, der Score vorangestellt ist. Wenn ein suffix angegeben wird, wird es an das Ende dieser Ausgabevariablennamen angehängt.

Autor(en)

Microsoft Corporation Microsoft Technical Support

Weitere Informationen

rxFastTrees, rxFastForest, rxLogisticRegression, rxNeuralNet, rxOneClassSvm.

Beispiele



 # Estimate a logistic regression model
 infert1 <- infert
 infert1$isCase <- (infert1$case == 1)
 myModelInfo <- rxLogisticRegression(formula = isCase ~ age + parity + education + spontaneous + induced,
                        data = infert1)

 # Create an xdf file with per-instance results using rxPredict
 xdfOut <- tempfile(pattern = "scoreOut", fileext = ".xdf")
 scoreDS <- rxPredict(myModelInfo, data = infert1,
     outData = xdfOut, overwrite = TRUE,
     extraVarsToWrite = c("isCase", "Probability"))

 # Summarize results with an ROC curve
 rxRocCurve(actualVarName = "isCase", predVarNames = "Probability", data = scoreDS)

 # Use the built-in data set 'airquality' to create test and train data
 DF <- airquality[!is.na(airquality$Ozone), ]  
 DF$Ozone <- as.numeric(DF$Ozone)
 set.seed(12)
 randomSplit <- rnorm(nrow(DF))
 trainAir <- DF[randomSplit >= 0,]
 testAir <- DF[randomSplit < 0,]
 airFormula <- Ozone ~ Solar.R + Wind + Temp

 # Regression Fast Tree for train data
 fastTreeReg <- rxFastTrees(airFormula, type = "regression", 
     data = trainAir)  

 # Put score and model variables in data frame, including the model variables
 # Add the suffix "Pred" to the new variable
 fastTreeScoreDF <- rxPredict(fastTreeReg, data = testAir, 
     writeModelVars = TRUE, suffix = "Pred")

 rxGetVarInfo(fastTreeScoreDF)

 # Clean-up
 file.remove(xdfOut)