Deploying Data Mining Models using Model Export and Import

Posted by [email protected] on Oracle Blogs See other posts from Oracle Blogs or by [email protected]
Published on Mon, 17 May 2010 17:15:03 +0000 Indexed on 2010/05/17 17:42 UTC
Read the original article Hit count: 498

In this post, we'll take a look at how Oracle Data Mining facilitates model deployment.

After building and testing models, a next step is often putting your data mining model into a production system -- referred to as model deployment. The ability to move data mining model(s) easily into a production system can greatly speed model deployment, and reduce the overall cost.

Since Oracle Data Mining provides models as first class database objects, models can be manipulated using familiar database techniques and technology. For example, one or more models can be exported to a flat file, similar to a database table dump file (.dmp). This file can be moved to a different instance of Oracle Database EE, and then imported. All methods for exporting and importing models are based on Oracle Data Pump technology and found in the DBMS_DATA_MINING package.

Before performing the actual export or import, a directory object must be created. A directory object is a logical name in the database for a physical directory on the host computer. Read/write access to a directory object is necessary to access the host computer file system from within Oracle Database.

For our example, we'll work in the DMUSER schema. First, DMUSER requires the privilege to create any directory. This is often granted through the sysdba account.

grant create any directory to dmuser;

Now, DMUSER can create the directory object specifying the path where the exported model file (.dmp) should be placed. In this case, on a linux machine, we have the directory /scratch/oracle.

CREATE OR REPLACE DIRECTORY dmdir AS '/scratch/oracle';

If you aren't sure of the exact name of the model or models to export, you can find the list of models using the following query:

select model_name from user_mining_models;

There are several options when exporting models. We can export a single model, multiple models, or all models in a schema using the following procedure calls:

BEGIN
  DBMS_DATA_MINING.EXPORT_MODEL ('MY_MODEL.dmp','dmdir','name =''
MY_DT_MODEL''');
END;

BEGIN
  DBMS_DATA_MINING.EXPORT_MODEL ('MY_MODELS.dmp','dmdir',
              'name IN (''MY_DT_MODEL'',''MY_KM_MODEL'')');
END;

BEGIN
  DBMS_DATA_MINING.EXPORT_MODEL ('ALL_DMUSER_MODELS.dmp','dmdir');
END;

A .dmp file can be imported into another schema or database using the following procedure call, for example:

BEGIN
  
DBMS_DATA_MINING.IMPORT_MODEL('MY_MODELS.dmp', 'dmdir');
END;


As with models from any data mining tool, when moving a model from one environment to another, care needs to be taken to ensure the transformations that prepare the data for model building are matched (with appropriate parameters and statistics) in the system where the model is deployed.

Oracle Data Mining provides automatic data preparation (ADP) and embedded data preparation (EDP) to reduce, or possibly eliminate, the need to explicitly transport transformations with the model. In the case of ADP, ODM automatically prepares the data and includes the necessary transformations in the model itself. In the case of EDP, users can associate their own transformations with attributes of a model. These transformations are automatically applied when applying the model to data, i.e., scoring. Exporting and importing a model with ADP or EDP results in these transformations being immediately available with the model in the production system.




© Oracle Blogs or respective owner

Related posts about Data Mining

Related posts about Model Deployment