ModelJob
- datarobot.models.modeljob.wait_for_async_model_creation(project_id, model_job_id, max_wait=600)
Given a Project id and ModelJob id poll for status of process responsible for model creation until model is created.
- Parameters:
- project_idstr
The identifier of the project
- model_job_idstr
The identifier of the ModelJob
- max_waitint, optional
Time in seconds after which model creation is considered unsuccessful
- Returns:
- modelModel
Newly created model
- Raises:
- AsyncModelCreationError
Raised if status of fetched ModelJob object is
error
- AsyncTimeoutError
Model wasn’t created in time, specified by
max_wait
parameter
- Return type:
- class datarobot.models.ModelJob(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 ‘model’ for modeling jobs
- is_blockedbool
if true, the job is blocked (cannot be executed) until its dependencies are resolved
- sample_pctfloat
the percentage of the project’s dataset used in this modeling job
- model_typestr
the model this job builds (e.g. ‘Nystroem Kernel SVM Regressor’)
- processeslist of str
the processes used by the model
- featurelist_idstr
the id of the featurelist used in this modeling job
- blueprintBlueprint
the blueprint used in this modeling job
- classmethod from_job(job)
Transforms a generic Job into a ModelJob
- Parameters:
- job: Job
A generic job representing a ModelJob
- Returns:
- model_job: ModelJob
A fully populated ModelJob with all the details of the job
- Raises:
- ValueError:
If the generic Job was not a model job, e.g. job_type != JOB_TYPE.MODEL
- Return type:
- classmethod get(project_id, model_job_id)
Fetches one ModelJob. If the job finished, raises PendingJobFinished exception.
- Parameters:
- project_idstr
The identifier of the project the model belongs to
- model_job_idstr
The identifier of the model_job
- Returns:
- model_jobModelJob
The pending ModelJob
- Raises:
- PendingJobFinished
If the job being queried already finished, and the server is re-routing to the finished model.
- AsyncFailureError
Querying this resource gave a status code other than 200 or 303
- Return type:
- classmethod get_model(project_id, model_job_id)
Fetches a finished model from the job used to create it.
- Parameters:
- project_idstr
The identifier of the project the model belongs to
- model_job_idstr
The identifier of the model_job
- Returns:
- modelModel
The finished model
- Raises:
- JobNotFinished
If the job has not finished yet
- AsyncFailureError
Querying the model_job in question gave a status code other than 200 or 303
- Return type:
- 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