This discussion is archived
5 Replies Latest reply: Feb 8, 2012 6:19 AM by Mark Kelly RSS

Attribute Importance - Difference in values

Brendan Oracle ACE Director
Currently Being Moderated
Hi
I've run the Attribute importance using ODM in SQL Dev and got results as listed on my blog post http://brendantierneydatamining.blogspot.com/2012/02/odm-11gr2attribute-importance.html

I wanted to create a new blog post on running Attribute Importance using the PL/SQL API, but I get a different set of results with different Importance Value and ranking. The results from using the PL/SQL API are
ATTRIBUTE_NAME ATTRIBUTE_SUBNAME IMPORTANCE_VALUE RANK
-------------------- -------------------- ---------------- ----------
HOUSEHOLD_SIZE .151685183 1
CUST_MARITAL_STATUS .145294546 2
YRS_RESIDENCE .07838928 3
Y_BOX_GAMES .063039952 4
EDUCATION .059605314 5
HOME_THEATER_PACKAGE .056458722 6
OCCUPATION .042840307 7
CUST_GENDER .035264741 8
BOOKKEEPING_APPLICATION .019204751 9
PRINTER_SUPPLIES 0 10
OS_DOC_SET_KANJI -.00050013 11
FLAT_PANEL_MONITOR -.00509564 12
BULK_PACK_DISKETTES -.00540822 13
COUNTRY_NAME -.01201116 14
AGE -.02921108 15
CUST_INCOME_LEVEL -.03951311 16

Can you explain why I'm getting different values, ranking etc Yes I've used the same data etc
  • 1. Re: Attribute Importance - Difference in values
    Mark Kelly Oracle ACE
    Currently Being Moderated
    Hi Brendan,
    The Column Filter implementation does not actually create a AI Model to generate the ranking.
    So there is basically a different implementation being used.
    We are working on a ODMr enhancement that will generate a sqlplus script that will expose all the pl/sql used during the model building process.
    At that point, it should be much easier to analyze the details.
    Thanks,Mark
  • 2. Re: Attribute Importance - Difference in values
    Brendan Oracle ACE Director
    Currently Being Moderated
    So there are two different MDL algorithms being available. One in the ODM tool and a different one in the DB ? Why ?
  • 3. Re: Attribute Importance - Difference in values
    Mark Kelly Oracle ACE
    Currently Being Moderated
    Not really.
    They both use the same implementation.
    ODMr does not need to create a model, so instead, a function is used that returns a result set.
    Either approach will produce the same result, as long as you build the model properly.
    See script below, that produces an AI model using he same data you noted.
    You need to create a settings table and turn ADP on.
    Thanks, Mark

    set serveroutput on
    DROP TABLE ai_mk_model_settings;
    -- Create the settings table
    CREATE TABLE ai_mk_model_settings (
    setting_name VARCHAR2(30),
    setting_value VARCHAR2(30));


    BEGIN
    INSERT INTO ai_mk_model_settings (setting_name, setting_value) VALUES
    (dbms_data_mining.prep_auto,dbms_data_mining.prep_auto_on);
    COMMIT;
    END;
    /

    -- Create the model using the specified settings
    BEGIN

    DBMS_DATA_MINING.CREATE_MODEL(
    model_name => 'AI_SH_SAMPLE_3',
    mining_function => DBMS_DATA_MINING.ATTRIBUTE_IMPORTANCE,
    data_table_name => 'mining_data_build_v',
    case_id_column_name => 'cust_id',
    target_column_name => 'affinity_card',
    settings_table_name => 'ai_mk_model_settings');
    END;
    /

    SELECT *
    FROM TABLE(DBMS_DATA_MINING.GET_MODEL_DETAILS_AI('AI_SH_SAMPLE_3'))
    ORDER BY RANK;
  • 4. Re: Attribute Importance - Difference in values
    Brendan Oracle ACE Director
    Currently Being Moderated
    Thanks Mark.

    Is ADP automatically used (Turned On) in the ODM tool and not in the DB when using PL/SQL ?

    Is there a way we can look at what the ADP function does to the data (what methods, rules, etc have been applied to each attribute) ?
  • 5. Re: Attribute Importance - Difference in values
    Mark Kelly Oracle ACE
    Currently Being Moderated
    ADP Processing:

    ADP is off by default in ODM proper.
    ODMr uses ADP extensively. Users can turn it off per column via the build node settings if they wish.

    Viewing ADP Transformations:

    ODMr will display these in model viewer Settings tab under the sub tab Inputs.
    THe Inputs panel is a split panel viewer so you sometimes need to grab the splitter to move it up, to make the transformations more visible.
    From the API you can use the following to query the transformations:
    select * from
    TABLE(DBMS_DATA_MINING.GET_MODEL_TRANSFORMATIONS ('CLAS_GLM_1_1')) T

    The ODM Doc provides details on how to use ADP and specify your own embedded transformations.

    Thanks, Mark

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points