Updating Resources¶
When you update a resource, it is returned in a dictionary exactly like
the one you get when you create a new one. However the status code will
be bigml.api.HTTP_ACCEPTED
if the resource can be updated without
problems or one of the HTTP standard error codes otherwise.
api.update_source(source, {"name": "new name"})
api.update_dataset(dataset, {"name": "new name"})
api.update_model(model, {"name": "new name"})
api.update_prediction(prediction, {"name": "new name"})
api.update_evaluation(evaluation, {"name": "new name"})
api.update_ensemble(ensemble, {"name": "new name"})
api.update_batch_prediction(batch_prediction, {"name": "new name"})
api.update_cluster(cluster, {"name": "new name"})
api.update_centroid(centroid, {"name": "new name"})
api.update_batch_centroid(batch_centroid, {"name": "new name"})
api.update_anomaly(anomaly, {"name": "new name"})
api.update_anomaly_score(anomaly_score, {"name": "new name"})
api.update_batch_anomaly_score(batch_anomaly_score, {"name": "new name"})
api.update_project(project, {"name": "new name"})
api.update_correlation(correlation, {"name": "new name"})
api.update_statistical_test(statistical_test, {"name": "new name"})
api.update_logistic_regression(logistic_regression, {"name": "new name"})
api.update_linear_regression(linear_regression, {"name": "new name"})
api.update_association(association, {"name": "new name"})
api.update_association_set(association_set, {"name": "new name"})
api.update_topic_model(topic_model, {"name": "new name"})
api.update_topic_distribution(topic_distribution, {"name": "new name"})
api.update_batch_topic_distribution(\
batch_topic_distribution, {"name": "new name"})
api.update_time_series(\
time_series, {"name": "new name"})
api.update_forecast(\
forecast, {"name": "new name"})
api.update_deepnet(deepnet, {"name": "new name"})
api.update_fusion(fusion, {"name": "new name"})
api.update_pca(pca, {"name": "new name"})
api.update_projection(projection, {"name": "new name"})
api.update_batch_projection(batch_projection, {"name": "new name"})
api.update_script(script, {"name": "new name"})
api.update_library(library, {"name": "new name"})
api.update_execution(execution, {"name": "new name"})
api.update_external_connector(external_connector, {"name": "new name"})
Updates can change resource general properties, such as the name
or
description
attributes of a dataset, or specific properties, like
the missing tokens
(strings considered as missing values). As an example,
let’s say that your source has a certain field whose contents are
numeric integers. BigML will assign a numeric type to the field, but you
might want it to be used as a categorical field. You could change
its type to categorical
by calling:
api.update_source(source, \
{"fields": {"000001": {"optype": "categorical"}}})
where 000001
is the field id that corresponds to the updated field.
Another usually needed update is changing a fields’ non-preferred
attribute,
so that it can be used in the modeling process:
api.update_dataset(dataset, {"fields": {"000001": {"preferred": True}}})
where you would be setting as preferred
the field whose id is 000001
.
You may also want to change the name of one of the clusters found in your clustering:
api.update_cluster(cluster, \
{"clusters": {"000001": {"name": "my cluster"}}})
which is changing the name of the cluster whose centroid id is 000001
to
my_cluster
. Or, similarly, changing the name of one detected topic:
api.update_topic_model(topic_model, \
{"topics": {"000001": {"name": "my topic"}}})
You will find detailed information about the updatable attributes of each resource in BigML developer’s documentation.