Model job
- 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_id (
str
) – The identifier of the projectmodel_job_id (
str
) – The identifier of the ModelJobmax_wait (
Optional[int]
) – Time in seconds after which model creation is considered unsuccessful
- Returns:
model – Newly created model
- Return type:
Model
- Raises:
AsyncModelCreationError – Raised if status of fetched ModelJob object is
error
AsyncTimeoutError – Model wasn’t created in time, specified by
max_wait
parameter
- class datarobot.models.ModelJob
Tracks asynchronous work being done within a project
- Variables:
id (
int
) – the id of the jobproject_id (
str
) – the id of the project the job belongs tostatus (
str
) – the status of the job - will be one ofdatarobot.enums.QUEUE_STATUS
job_type (
str
) – what kind of work the job is doing - will be ‘model’ for modeling jobsis_blocked (
bool
) – if true, the job is blocked (cannot be executed) until its dependencies are resolvedsample_pct (
float
) – the percentage of the project’s dataset used in this modeling jobmodel_type (
str
) – the model this job builds (e.g. ‘Nystroem Kernel SVM Regressor’)processes (
List[str]
) – the processes used by the modelfeaturelist_id (
str
) – the id of the featurelist used in this modeling jobblueprint (
Blueprint
) – the blueprint used in this modeling job
- classmethod from_job(job)
Transforms a generic Job into a ModelJob
- classmethod get(project_id, model_job_id)
Fetches one ModelJob. If the job finished, raises PendingJobFinished exception.
- Parameters:
project_id (
str
) – The identifier of the project the model belongs tomodel_job_id (
str
) – The identifier of the model_job
- Returns:
model_job – The pending ModelJob
- Return type:
- 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
- classmethod get_model(project_id, model_job_id)
Fetches a finished model from the job used to create it.
- Parameters:
project_id (
str
) – The identifier of the project the model belongs tomodel_job_id (
str
) – The identifier of the model_job
- Returns:
model – The finished model
- Return type:
- 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
- cancel()
Cancel this job. If this job has not finished running, it will be removed and canceled.
- get_result(params=None)
- Parameters:
params (
dict
orNone
) – 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 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.
- Return type:
object
- 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_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:
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_wait (
Optional[int]
) – How long to wait for the job to finish.- Return type:
None