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: 503
Data Mining
|Model Deployment
|Model Export
|Model Import
|Oracle Data Mining
|Oracle Database
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