A rating table is an exportable CSV representation of a Generalized Additive Model. It contains information about the features and coefficients used to make predictions. Users can influence predictions by downloading and editing values in a rating table, then uploading the table and using it to create a new model. See the page about interpreting Generalized Additive Model output in the Datarobot user guide for more details on how to interpret and edit rating tables.
To explore rating tables, let’s first connect to DataRobot. First, you must load the DataRobot R package library.
If you have set up a credentials file, library(datarobot)
will initialize a connection to DataRobot automatically. Otherwise, you can specify your endpoint
and apiToken
as in this example to connect to DataRobot directly. For more information on connecting to DataRobot, see the “Introduction to DataRobot” vignette.
library(datarobot)
<- "https://<YOUR DATAROBOT URL GOES HERE>/api/v2"
endpoint <- "<YOUR API TOKEN GOES HERE>"
apiToken ConnectToDataRobot(endpoint = endpoint, token = apiToken)
You can retrieve a rating table from the list of rating tables in a project:
<- "59dab74bbd2a54035786bfc0"
projectId <- ListRatingTables(projectId)
ratingTables <- ratingTables[[1]]
ratingTable print(ratingTable)
$validationJobId NULL
$validationError [1] “”
$projectId [1] “59dab74bbd2a54035786bfc0”
$ratingTableName [1] “Rating Table for 59dab774bd2a54035d157fa7”
$parentModelId [1] “59dab774bd2a54035d157fa7”
$modelJobId NULL
$id [1] “59dab7a06f42a6df428bc14c”
$originalFilename [1] “rating_table.csv”
$modelId [1] “59dab774bd2a54035d157fa7”
attr(,“class”) [1] “dataRobotRatingTable”
Or you can retrieve a rating table from a specific model. The model must already have a rating table.
<- "59dab74bbd2a54035786bfc0"
projectId <- ListRatingTableModels(projectId)
ratingTableModels <- ratingTableModels[[1]]
ratingTableModel <- ratingTableModel$ratingTableId
ratingTableId <- GetRatingTable(projectId, ratingTableId)
ratingTable print(ratingTable)
$validationJobId NULL
$validationError [1] “”
$projectId [1] “59dab74bbd2a54035786bfc0”
$ratingTableName [1] “Rating Table for 59dab774bd2a54035d157fa7”
$parentModelId [1] “59dab774bd2a54035d157fa7”
$modelJobId NULL
$id [1] “59dab7a06f42a6df428bc14c”
$originalFilename [1] “rating_table.csv”
$modelId [1] “59dab774bd2a54035d157fa7”
attr(,“class”) [1] “dataRobotRatingTable”
Or retrieve model by id. The model must have a rating table.
<- "59dab74bbd2a54035786bfc0"
projectId <- "59dd0b01d9575702bec96e4"
modelId <- GetRatingTableModel(projectId, modelId)
ratingTableModel <- ratingTableModel$ratingTableId
ratingTableId <- GetRatingTable(projectId, ratingTableId)
ratingTable print(ratingTable)
$validationJobId NULL
$validationError [1] “”
$projectId [1] “59dab74bbd2a54035786bfc0”
$ratingTableName [1] “Rating Table for 59dab774bd2a54035d157fa7”
$parentModelId [1] “59dab774bd2a54035d157fa7”
$modelJobId NULL
$id [1] “59dab7a06f42a6df428bc14c”
$originalFilename [1] “rating_table.csv”
$modelId [1] “59dab774bd2a54035d157fa7”
attr(,“class”) [1] “dataRobotRatingTable”
Once you have a rating table, you can download the contents to a CSV.
DownloadRatingTable(projectId, ratingTableId, "myRatingTable.csv")
You can then modify the values in the CSV and re-upload a new rating table back to DataRobot.
DownloadRatingTable(projectId, ratingTableId, "myRatingTable.csv")
<- CreateRatingTable(project,
newRatingTableJobId
modelId,"myRatingTable.csv",
ratingTableName = "Modified File")
<- GetRatingTableFromJobId(project, newRatingTableJobId)
newRatingTable print(newRatingTable)
$validationJobId NULL
$validationError [1] “”
$projectId [1] “59dab74bbd2a54035786bfc0”
$ratingTableName [1] “Rating Table for 59dab774bd2a54035d157fa7”
$parentModelId [1] “59dab774bd2a54035d157fa7”
$modelJobId NULL
$id [1] “59dab7a06f42a6df428bc14c”
$originalFilename [1] “rating_table.csv”
$modelId [1] “59dab774bd2a54035d157fa7”
attr(,“class”) [1] “dataRobotRatingTable”
You can then take the new rating tables you make and create new models from them.
<- RequestNewRatingTableModel(project, newRatingTable)
newModelJobId <- GetRatingTableModelFromJobId(project, newModelJobId)
newRatingTableModel print(newRatingTableModel)
$featurelistId [1] “59dd4731c0d33327b8f55610”
$processes [1] “One-Hot Encoding”
[2] “Ordinal encoding of categorical variables”
[3] “Missing Values Imputed”
[4] “Matrix of word-grams occurrences”
[5] “Generalized Additive Model”
[6] “Text fit on Residuals (L2 / Binomial Deviance)”
$featurelistName [1] “Informative Features”
$projectId [1] “59dd4723d957570407bc37b4”
$modelType [1] “Generalized Additive Model”
$samplePct [1] 64.041
$isFrozen [1] FALSE
$metrics \(metrics\)AUC \(metrics\)AUC$backtesting NULL
\(metrics\)AUC$holdout NULL
\(metrics\)AUC$backtestingScores NULL
\(metrics\)AUC$crossValidation NULL
\(metrics\)AUC$validation [1] 0.77283
\(metrics\)Rate@Top5%
\(metrics\)Rate@Top5%
$backtesting NULL
\(metrics\)Rate@Top5%
$holdout NULL
\(metrics\)Rate@Top5%
$backtestingScores NULL
\(metrics\)Rate@Top5%
$crossValidation NULL
\(metrics\)Rate@Top5%
$validation [1] 1
\(metrics\)Rate@TopTenth%
\(metrics\)Rate@TopTenth%
$backtesting NULL
\(metrics\)Rate@TopTenth%
$holdout NULL
\(metrics\)Rate@TopTenth%
$backtestingScores NULL
\(metrics\)Rate@TopTenth%
$crossValidation NULL
\(metrics\)Rate@TopTenth%
$validation [1] 1
\(metrics\)RMSE \(metrics\)RMSE$backtesting NULL
\(metrics\)RMSE$holdout NULL
\(metrics\)RMSE$backtestingScores NULL
\(metrics\)RMSE$crossValidation NULL
\(metrics\)RMSE$validation [1] 0.41992
\(metrics\)LogLoss \(metrics\)LogLoss$backtesting NULL
\(metrics\)LogLoss$holdout NULL
\(metrics\)LogLoss$backtestingScores NULL
\(metrics\)LogLoss$crossValidation NULL
\(metrics\)LogLoss$validation [1] 0.50643
\(metrics\)FVE Binomial
\(metrics\)FVE Binomial
$backtesting NULL
\(metrics\)FVE Binomial
$holdout NULL
\(metrics\)FVE Binomial
$backtestingScores NULL
\(metrics\)FVE Binomial
$crossValidation NULL
\(metrics\)FVE Binomial
$validation [1] 0.23955
\(metrics\)Gini Norm
\(metrics\)Gini Norm
$backtesting NULL
\(metrics\)Gini Norm
$holdout NULL
\(metrics\)Gini Norm
$backtestingScores NULL
\(metrics\)Gini Norm
$crossValidation NULL
\(metrics\)Gini Norm
$validation [1] 0.54566
\(metrics\)Rate@Top10%
\(metrics\)Rate@Top10%
$backtesting NULL
\(metrics\)Rate@Top10%
$holdout NULL
\(metrics\)Rate@Top10%
$backtestingScores NULL
\(metrics\)Rate@Top10%
$crossValidation NULL
\(metrics\)Rate@Top10%
$validation [1] 1
$modelCategory [1] “model”
$blueprintId [1] “24ea7590216323555b8fe51fe006dfba”
$ratingTableId [1] “59dd4778e643feefd5d87c9b”
$id [1] “59dd474bd95757040120a8e8”
attr(,“class”) [1] “dataRobotRatingTableModel”