Predict job

datarobot.models.predict_job.wait_for_async_predictions(project_id, predict_job_id, max_wait=600)

Given a Project id and PredictJob id poll for status of process responsible for predictions generation until it’s finished

Parameters:
  • project_id (str) – The identifier of the project

  • predict_job_id (str) – The identifier of the PredictJob

  • max_wait (Optional[int]) – Time in seconds after which predictions creation is considered unsuccessful

Returns:

predictions – Generated predictions.

Return type:

pandas.DataFrame

Raises:
class datarobot.models.PredictJob

Tracks asynchronous work being done within a project

Variables:
  • id (int) – the id of the job

  • project_id (str) – the id of the project the job belongs to

  • status (str) – the status of the job - will be one of datarobot.enums.QUEUE_STATUS

  • job_type (str) – what kind of work the job is doing - will be ‘predict’ for predict jobs

  • is_blocked (bool) – if true, the job is blocked (cannot be executed) until its dependencies are resolved

  • message (str) – a message about the state of the job, typically explaining why an error occurred

classmethod from_job(job)

Transforms a generic Job into a PredictJob

Parameters:

job (Job) – A generic job representing a PredictJob

Returns:

predict_job – A fully populated PredictJob with all the details of the job

Return type:

PredictJob

Raises:

ValueError: – If the generic Job was not a predict job, e.g. job_type != JOB_TYPE.PREDICT

classmethod get(project_id, predict_job_id)

Fetches one PredictJob. If the job finished, raises PendingJobFinished exception.

Parameters:
  • project_id (str) – The identifier of the project the model on which prediction was started belongs to

  • predict_job_id (str) – The identifier of the predict_job

Returns:

predict_job – The pending PredictJob

Return type:

PredictJob

Raises:
  • PendingJobFinished – If the job being queried already finished, and the server is re-routing to the finished predictions.

  • AsyncFailureError – Querying this resource gave a status code other than 200 or 303

classmethod get_predictions(project_id, predict_job_id, class_prefix='class_')

Fetches finished predictions from the job used to generate them.

Note

The prediction API for classifications now returns an additional prediction_values dictionary that is converted into a series of class_prefixed columns in the final dataframe. For example, <label> = 1.0 is converted to ‘class_1.0’. If you are on an older version of the client (prior to v2.8), you must update to v2.8 to correctly pivot this data.

Parameters:
  • project_id (str) – The identifier of the project to which belongs the model used for predictions generation

  • predict_job_id (str) – The identifier of the predict_job

  • class_prefix (str) – The prefix to append to labels in the final dataframe (e.g., apple -> class_apple)

Returns:

predictions – Generated predictions

Return type:

pandas.DataFrame

Raises:
cancel()

Cancel this job. If this job has not finished running, it will be removed and canceled.

get_result(params=None)
Parameters:

params (dict or None) – Query parameters to be added to request to get results.

Notes

For featureEffects, source param is required to define source, otherwise the default is training.

Returns:

result

Return type depends on the job type
  • for model jobs, a Model is returned

  • for predict jobs, a pandas.DataFrame (with predictions) is returned

  • for featureImpact jobs, a list of dicts by default (see with_metadata parameter of the FeatureImpactJob class and its get() method).

  • for primeRulesets jobs, a list of Rulesets

  • for primeModel jobs, a PrimeModel

  • for primeDownloadValidation jobs, a PrimeFile

  • for predictionExplanationInitialization jobs, a PredictionExplanationsInitialization

  • for predictionExplanations jobs, a PredictionExplanations

  • for featureEffects, a FeatureEffects.

Return type:

object

Raises:
get_result_when_complete(max_wait=600, params=None)
Parameters:
  • max_wait (Optional[int]) – How long to wait for the job to finish.

  • params (dict, optional) – Query parameters to be added to request.

Returns:

result – Return type is the same as would be returned by Job.get_result.

Return type:

object

Raises:
refresh()

Update this object with the latest job data from the server.

wait_for_completion(max_wait=600)

Waits for job to complete.

Parameters:

max_wait (Optional[int]) – How long to wait for the job to finish.

Return type:

None