Oracle® Database SQL Language Reference 11g Release 2 (11.2) Part Number E10592-04 |
|
|
View PDF |
Syntax
cost_matrix_clause::=
mining_attribute_clause::=
Purpose
This function is for use with any classification model created by the DBMS_DATA_MINING
package or with the Oracle Data Mining Java API. It returns a measure of cost for a given prediction as an Oracle NUMBER
.
If you specify the optional class
parameter, then the function returns the cost for the specified class. If you omit the class
parameter, then the function returns the cost associated with the best prediction. You can use this form in conjunction with the PREDICTION
function to obtain the best pair of prediction value and cost.
The COST
clause is relevant for all classification models.
Specify COST
MODEL
to indicate that the scoring should be performed by taking into account the scoring cost matrix associated with the model. If no such scoring cost matrix exists, then the database returns an error.
Specify COST
MODEL
AUTO
if the existence of a cost matrix is unknown. In this case the function returns the cost using the stored cost matrix if it exists. If no stored cost matrix exists, then the function applies the unit cost matrix (0's on the diagonal and 1's everywhere else). This is equivalent to one minus probability for the given class..
Use the VALUES
clause (the bottom branch of the cost_matrix_clause
) to specify an inline cost matrix. You can use an inline cost matrix regardless of whether the model has an associated scoring cost matrix.
The mining_attribute_clause
behaves as described for the PREDICTION
function. Refer to mining_attribute_clause.
See Also:
Oracle Data Mining Concepts for detailed information about Oracle Data Mining in general and about costs in particular
Oracle Data Mining Administrator's Guide for information on the demo programs available in the code
Oracle Data Mining Application Developer's Guide for detailed information about real-time scoring with the Data Mining SQL functions
Oracle Database PL/SQL Packages and Types Reference for information on the DBMS_DATA_MINING
package
Example
The following example finds the ten customers living in Italy who are least expensive to convince to use an affinity card.
This example and the prerequisite data mining operations can be found in the demo file $ORACLE_HOME/rdbms/demo/dmdtdemo.sql
. General information on data mining demo files is available in Oracle Data Mining Administrator's Guide. The example is presented here to illustrate the syntactic use of the function.
WITH cust_italy AS ( SELECT cust_id FROM mining_data_apply_v WHERE country_name = 'Italy' ORDER BY PREDICTION_COST(DT_SH_Clas_sample, 1 COST MODEL USING *) ASC, 1 ) SELECT cust_id FROM cust_italy WHERE rownum < 11; CUST_ID ---------- 100081 100179 100185 100324 100344 100554 100662 100733 101250 101306 10 rows selected.