TABULAR DATA Apriori

Hi everyone...

I have a TABULAR table with 1 or 0 if the Product ID is in the transaction or not....

TID          12  14  45  45...

10001       0    1    1    0...
10002       1    0    1    0...

So, im using Apriori Node to extract rules associations but when the process is in 50% this fail and send this error message : ERROR     Apriori     Execute failed: Weka associator can not work with given data. Reason: Apriori: Cannot handle numeric attributes!, however I changed to String values but I got another problem : ERROR     Apriori     Execute failed: Weka associator can not work with given data. Reason: Apriori: Cannot handle string attributes!

This happen when the node is in the "training" step.

So I don´t understand the problem.. please help me, i Need to do this urgently :(

Thanxs :)

Hi acuevas,

I have just created a sample workflow with Data Generator, Double To Int, Number To String and Apriori node without any problems. Can you please contact me - private message - so that we can exchange workflows?

Regards, Thomas

Hi Tomas, I appreciate your interest in helping :).. Look, The first time I did this :

I had this data:
T1    23
T1    45
T2    47
T3    12
T3    240
...
T79990   657


 

And I tried to apply Apriori with this transactional data but did not works. So, I took that data and I transformed it to "TABULAR" format using differents nodes ( one2many, Group By, etc.) The size of the table is 650 columns x 70.000 rows aprox. and contains only 0 or 1 (True or False) but with String format because i didn´t know transform this type to flag type. So now Apriori recognize this data input but in the "weka training step" the process stay at 50% for a long time (15 hours aprox) and then stops and sends a message with a java heap space problem (actually i have it configurated the java heap size with 1048mg)....

I don´t know what can I do and I don´t know how i can send you  a private message too blush....

Other question... I have a core 2 duo processor but i think that this nodes works with only one CPU...it is possible to work with both?

I have to submit this project in the next 7 days... so I really need help :) I really appreciate your helping and I´m going to wait your answer...

Regards,

Alan C.

Hi Alan,

Sorry for the delay. We are currently quiet busy with the upcoming KNIME 2.3 release. In general, the weka nodes pull all the data in memory before the actual algorithm starts. I would stay with the KNIME Apriori node and recommend using the Bitvector Generator node that allows generating bit vectors from nominal and numeric data. This bit vector data can then directly be used to run the Apriori node.

Hope this helps?

Best, Thomas

Gabriel,

 

I am currently having the same problem as acuevas. I am using KNIME 2.11.2.

I have workflow as follows:

Database Reader --> Number to String --> Apriori

I get the following errors:

ERROR     7)  Execute failed: Weka associator can not work with given data. Reason: weka.associations.Apriori: Cannot handle string attributes!

Please help.

Jesse

Hi Jesse,

Mmm, you could try to apply the Domain Calculator node to compute the entire domain (with all possible values). Please let me know if this helps?

Cheers, Thomas

Thomas,

There is still no success, i am now using 

Database Reader --> Number to String --> Domain Calculator --> Apriori

Should the output be of the .ARFF format that weka uses? Are you available to discuss the issue of correct data formatting for weka nodes via skype? Can you provide a working example showing the use of the weka Apriori algorithm? 

Please let me know.

Best,

Jesse

I have also tried a variation using the following workflow:

Database Reader --> Group By --> Number to String --> ARFF Writer

However this results in a problem with the ListCell type not being compatible with the arff writer. I also tried csv output however it has a similar problem with the ListCell.

ARFF Reader --> Apriori

 

Can you please send me (contact@knime.com) the workflow with some sample data, I am happy to have a look into it.