Forum Stats

  • 3,760,215 Users
  • 2,251,665 Discussions
  • 7,871,023 Comments

Discussions

AR help for noob

carlitto
carlitto Member Posts: 35
edited May 28, 2013 11:32AM in Machine Learning
Hi

In my workflow I'm joining two tables. A sales table and a product table joined on product key.
Here are the following details in my ar analysis:

Transaction id's - slip number id, location sold id
Item Id - product key
Value - class name

The following works fine except that the class name is still too general a description to get meaningful information about the product.


If I do the following:

Transaction id's - slip number id, location sold id
Item Id - product key
Value - style name (which is part of the product table)

the error message I get is:
Item Value style name has too many distinct values. Maximum number of distinct values allowed is 10

How can I increase the maximum number of distinct values (infinite would be great as some of the tables have 100"s of millions of records).

I don't really understand why there has to be this limitation. Can someone explain it to me?

I am using sql developer 3.2.20.09
And Advanced Analytics version 11.2.0.3.0

Thanks in advance!

Best Answer

  • Mark Kelly-Oracle
    Mark Kelly-Oracle Member Posts: 686
    Accepted Answer
    Hi,
    Try the following:
    Transaction id's - slip number id, location sold id
    Item Id - product key
    Value - <Existence>

    This alleviates any need to deal with with the cardinality of the Value column.
    The idea with this specification is to simply determine if the product is in the market basket or not.

    Typically the Value column could represent quantity or dollar amount sold.
    If you wanted to include this type of information as part of AR, you would want to bin the amount sold column prior to selecting it as a Value column.
    This can be accomplished by passing the data through a Transform Node prior to feeding it into the AR node.
    I think the distinct value check for the value column is currently set at 10.
    So bin the Value column selection to 10 or less.

    The reason for checking on the cardinality is to avoid performance/memory issues that can be triggered by Value columns that are to dense.
    Thanks, Mark

Answers

  • Mark Kelly-Oracle
    Mark Kelly-Oracle Member Posts: 686
    Accepted Answer
    Hi,
    Try the following:
    Transaction id's - slip number id, location sold id
    Item Id - product key
    Value - <Existence>

    This alleviates any need to deal with with the cardinality of the Value column.
    The idea with this specification is to simply determine if the product is in the market basket or not.

    Typically the Value column could represent quantity or dollar amount sold.
    If you wanted to include this type of information as part of AR, you would want to bin the amount sold column prior to selecting it as a Value column.
    This can be accomplished by passing the data through a Transform Node prior to feeding it into the AR node.
    I think the distinct value check for the value column is currently set at 10.
    So bin the Value column selection to 10 or less.

    The reason for checking on the cardinality is to avoid performance/memory issues that can be triggered by Value columns that are to dense.
    Thanks, Mark
  • carlitto
    carlitto Member Posts: 35
    Thank you Mark!

    I tried using the style name as my item id since i joined my sales table with my product table.

    Transaction id's - slip number id, location sold id
    Item Id - style name
    Value - <Existence>

    This seems to work like a charm. I'm getting names instead of product id's.

    If you have links to need to know information, it would be appreciated.

    Thanks again.
    Noob data miner
    ;-)
This discussion has been closed.