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 writeModelVars
TRUE
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 ist1
.
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)