rxPredict.mlModel: assegnare punteggi usando un modello di Microsoft R Machine Learning
Segnala i risultati del punteggio per ogni singola istanza in un frame di dati o in un'origine dati RevoScaleR usando un modello di Microsoft R Machine Learning sottoposto a training con origine dati RevoScaleR.
Utilizzo
## 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"), ...)
Arguments
modelObject
Oggetto informazioni modello restituito da un modello MicrosoftML. Ad esempio, un oggetto restituito da rxFastTrees o rxLogisticRegression.
data
Oggetto origine dati RevoScaleR, frame di dati o percorso di un file .xdf
.
outData
Testo di output o nome file xdf o RxDataSource
con funzionalità di scrittura in cui archiviare le previsioni. Se NULL
, viene restituito un frame di dati. Il valore predefinito è NULL
.
writeModelVars
Se TRUE
, le variabili presenti nel modello vengono scritte nel set di dati di output in aggiunta alle variabili di assegnazione dei punteggi. Se le variabili del set di dati di input vengono trasformate nel modello, vengono incluse anche le variabili trasformate. Il valore predefinito è FALSE
.
extraVarsToWrite
NULL
o vettore di caratteri di variabili aggiuntive dai dati di input da includere in outData
. Se writeModelVars
è TRUE
, sono incluse anche le variabili di modello. Il valore predefinito è NULL
.
suffix
Stringa di caratteri che specifica il suffisso da aggiungere alle variabili di assegnazione dei punteggi create o NULL
se non è presente alcun suffisso. Il valore predefinito è NULL
.
overwrite
Se TRUE
, un valore di outData
già esistente viene sovrascritto; se FALSE
, un valore outData
già esistente non viene sovrascritto. Il valore predefinito è FALSE
.
dataThreads
Numero intero che specifica il grado di parallelismo desiderato nella pipeline di dati. Se NULL
, il numero di thread usati viene determinato internamente. Il valore predefinito è NULL
.
blocksPerRead
Specifica il numero di blocchi da leggere per ogni blocco di dati letto dall'origine dati.
reportProgress
Valore intero che specifica il livello di creazione di report sullo stato di elaborazione delle righe:
0
: non viene segnalato alcun avanzamento.1
: il numero di righe elaborate viene stampato e aggiornato.2
: vengono segnalate le righe elaborate e le tempistiche.3
: vengono segnalate le righe elaborate e tutte le tempistiche.
Il valore predefinito è1
.
verbose
Valore intero che specifica la quantità di output desiderata. Se 0
, non viene stampato alcun output dettagliato durante i calcoli. Valori interi da 1
a 4
per fornire quantità crescenti di informazioni. Il valore predefinito è 1
.
computeContext
Imposta il contesto in cui vengono eseguiti i calcoli, specificato con un RxComputeContext valido. Sono attualmente supportati contesti di calcolo locali e RxInSqlServer.
...
Argomenti aggiuntivi da passare direttamente al motore di calcolo Microsoft.
Dettagli
Gli elementi seguenti vengono segnalati nell'output per impostazione predefinita: assegnazione di punteggi sulle tre variabili PredictedLabel, Score e Probability per classificatori binari; Score per classificatori oneClassSvm e di regressione; PredictedLabel per classificatori multiclasse, più una variabile per ogni categoria preceduta da Score.
Valore
Frame di dati o oggetto RxDataSource rappresentativo dei dati di output creati. Per impostazione predefinita, l'output dei classificatori binari di assegnazione dei punteggi include tre variabili, PredictedLabel
, Score
e Probability
; per rxOneClassSvm
e la regressione è inclusa un'unica variabile, Score
; per i classificatori multiclasse vengono incluse PredictedLabel
più una variabile per ogni categoria preceduta da Score
. Se viene specificato un suffix
, viene aggiunto alla fine di questi nomi di variabili di output.
Autore/i
Microsoft Corporation Microsoft Technical Support
Vedi anche
rxFastTrees, rxFastForest, rxLogisticRegression, rxNeuralNet, rxOneClassSvm.
Esempi
# 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)