Showing posts with label existing. Show all posts
Showing posts with label existing. Show all posts

Friday, March 30, 2012

Prediction Query in MS Association Rules

Hi!

I'm building a mining model wiht MS Association Rules. After processing this model, the result includes some rules(example):

E = Existing, C = Existing -> B = Existing
F = Existing -> E = Existing
C = Existing, B = Existing -> E = Existing
F = Existing -> B = Existing
B = Existing, A = Existing -> C = Existing
F = Existing, B = Existing -> E = Existing
F = Existing, E = Existing -> B = Existing
D = Existing -> A = Existing
C = Existing -> A = Existing
E = Existing, A = Existing -> B = Existing

I want to buid a query that has two or more items on the left of the rules, example: E = Existing, C = Existing -> B = Existing
->I want to buid a query to predict that: when a customer buy 'E' and 'C' then he likely buys 'B'


All the rules are used when you use AR for prediction. The first place to look is the prediction query builder. There is a button on the top to switch the mode from batch to singleton. With a singleton prediction you can manually specify the inputs for your query.

The prediction function you need to specify is something like "Predict(<my nested table name>, 5)". To build such a prediction in the query builder, select Prediction Function, then Predict, then type the name of your nested table, comma, then the number of recommendations you want into the parameters box.

To see the query select the SQL mode from the toolbar.

Let me know if this helps or if you were looking for some other type of answer

THanks

-Jamie

|||

Hi!

Thanks for interesting in my question!

My domain has two tables: Customer (Customer_ID, Name, ....) and Purchase (Customer_ID, Product_Name, Quantity,...)

Creating Mining Model:

Create Mining Model ProductPredict{

Customer_ID long key,

Purchase Table Predict {Product_Name text key}

}

So, when i buid a query such as:

Select Predict(Purchase, 3)

From ProductPredict Prediction Join

(Select 'A' As Product_Name

) as customer

On [ProductPredict].[Purchase].Product_Name = customer.Product_Name;

Result as all item in the right side of the rules contain 'A' in the left side.

But I want to buid a query that result as all item in the right side of the rules contain 'A' and 'B' in the left side.?

Summary: I want to buid a query that result as all item in the right side of the rules contain some items in the left side?

|||

You need a query such as

Select Predict(Purchase, 3)

From ProductPredict Prediction Join

(select

(Select 'A' As Product_Name UNION Select 'B' AS Product_Name)

as Products

) as customer

On [ProductPredict].[Purchase].Product_Name = customer.Product_Name;

This will cause rules with A and B to fire. You may still get predictions based on A alone and B alone, though, depending on their probability and lift.

|||

Hi!

Thank you very much! That's interesting, but when i run that query, it has error, so the correct query is:

Select PredictAssociation(Purchase, 3)

From ProductPredict Prediction Join

(

select

( Select 'A' As Product_Name

UNION

Select 'B' AS Product_Name

)as Products

) as customer

On [ProductPredict].[Purchase].Product_Name = [customer].[Products].Product_Name

|||Predict is a polymorphic function - DMX maps it to the appropriate function based on the model that's being queried. In this case, it maps to PredictAssociation so you should get the same results either way. What errors did you see with the earlier query?

Wednesday, March 7, 2012

possible to call a table valued User Defined Function thru ODBC

I want to be able to call a SQL Server User Defined Function that is a
table valued UDF. I have existing code that uses ODBC and calling UDFs
is going to be a lot easier than calling stored procedures, as the
syntax is close to using a table itself (at least in T-SQL it is).
But, I suspect that only scalar-valued functions can be called, but
please tell me otherwise.
I don't believe you can return a TABLE variable from a UDF
directly through to ODBC.
How is calling a UDF simpler than calling a stored procedure?
By the way, if you want the database layer written for you in
ADO.NET (if you are using .NET...), you can use this code
generator (source code included).
http://www.eggheadcafe.com/articles/..._generator.asp
2005 Microsoft MVP C#
Robbe Morris
http://www.masterado.net
http://www.mastervb.net
"fpdave" <deroberts100@.hotmail.com> wrote in message
news:1106230769.823842.53790@.z14g2000cwz.googlegro ups.com...
>I want to be able to call a SQL Server User Defined Function that is a
> table valued UDF. I have existing code that uses ODBC and calling UDFs
> is going to be a lot easier than calling stored procedures, as the
> syntax is close to using a table itself (at least in T-SQL it is).
> But, I suspect that only scalar-valued functions can be called, but
> please tell me otherwise.
>

possible to call a table valued User Defined Function thru ODBC

I want to be able to call a SQL Server User Defined Function that is a
table valued UDF. I have existing code that uses ODBC and calling UDFs
is going to be a lot easier than calling stored procedures, as the
syntax is close to using a table itself (at least in T-SQL it is).
But, I suspect that only scalar-valued functions can be called, but
please tell me otherwise.I don't believe you can return a TABLE variable from a UDF
directly through to ODBC.
How is calling a UDF simpler than calling a stored procedure?
By the way, if you want the database layer written for you in
ADO.NET (if you are using .NET...), you can use this code
generator (source code included).
http://www.eggheadcafe.com/articles...e_generator.asp
2005 Microsoft MVP C#
Robbe Morris
http://www.masterado.net
http://www.mastervb.net
"fpdave" <deroberts100@.hotmail.com> wrote in message
news:1106230769.823842.53790@.z14g2000cwz.googlegroups.com...
>I want to be able to call a SQL Server User Defined Function that is a
> table valued UDF. I have existing code that uses ODBC and calling UDFs
> is going to be a lot easier than calling stored procedures, as the
> syntax is close to using a table itself (at least in T-SQL it is).
> But, I suspect that only scalar-valued functions can be called, but
> please tell me otherwise.
>