PredictJob
- 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_idstr
The identifier of the project
- predict_job_idstr
The identifier of the PredictJob
- max_waitint, optional
Time in seconds after which predictions creation is considered unsuccessful
- Returns:
- predictionspandas.DataFrame
Generated predictions.
- Raises:
- AsyncPredictionsGenerationError
Raised if status of fetched PredictJob object is
error
- AsyncTimeoutError
Predictions weren’t generated in time, specified by
max_wait
parameter
- Return type:
DataFrame
- class datarobot.models.PredictJob(data, completed_resource_url=None)
Tracks asynchronous work being done within a project
- Attributes:
- idint
the id of the job
- project_idstr
the id of the project the job belongs to
- statusstr
the status of the job - will be one of
datarobot.enums.QUEUE_STATUS
- job_typestr
what kind of work the job is doing - will be ‘predict’ for predict jobs
- is_blockedbool
if true, the job is blocked (cannot be executed) until its dependencies are resolved
- messagestr
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: PredictJob
A fully populated PredictJob with all the details of the job
- Raises:
- ValueError:
If the generic Job was not a predict job, e.g. job_type != JOB_TYPE.PREDICT
- Return type:
- classmethod get(project_id, predict_job_id)
Fetches one PredictJob. If the job finished, raises PendingJobFinished exception.
- Parameters:
- project_idstr
The identifier of the project the model on which prediction was started belongs to
- predict_job_idstr
The identifier of the predict_job
- Returns:
- predict_jobPredictJob
The pending 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
- Return type:
- classmethod get_predictions(project_id, predict_job_id, class_prefix='class_')
Fetches finished predictions from the job used to generate them. :rtype:
DataFrame
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_idstr
The identifier of the project to which belongs the model used for predictions generation
- predict_job_idstr
The identifier of the predict_job
- class_prefixstr
The prefix to append to labels in the final dataframe (e.g., apple -> class_apple)
- Returns:
- predictionspandas.DataFrame
Generated predictions
- Raises:
- JobNotFinished
If the job has not finished yet
- AsyncFailureError
Querying the predict_job in question gave a status code other than 200 or 303
- cancel()
Cancel this job. If this job has not finished running, it will be removed and canceled.
- get_result(params=None)
- Parameters:
- paramsdict or None
Query parameters to be added to request to get results.
- For featureEffects, source param is required to define source,
- otherwise the default is `training`
- Returns:
- resultobject
- 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 theFeatureImpactJob
class and itsget()
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
- Raises:
- JobNotFinished
If the job is not finished, the result is not available.
- AsyncProcessUnsuccessfulError
If the job errored or was aborted
- get_result_when_complete(max_wait=600, params=None)
- Parameters:
- max_waitint, optional
How long to wait for the job to finish.
- paramsdict, optional
Query parameters to be added to request.
- Returns:
- result: object
Return type is the same as would be returned by Job.get_result.
- Raises:
- AsyncTimeoutError
If the job does not finish in time
- AsyncProcessUnsuccessfulError
If the job errored or was aborted
- 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_waitint, optional
How long to wait for the job to finish.
- Return type:
None