The Data Mining Forum                             open-source data mining software open-source data mining software data science journal data mining conferences
This forum is about data mining, data science and big data: algorithms, source code, datasets, implementations, optimizations, etc. You are welcome to post call for papers, data mining job ads, link to source code of data mining algorithms or anything else related to data mining. The forum is hosted by P. Fournier-Viger. No registration is required to use this forum!.  
SPMF 0.78 data mining: The new version is out!
Date: March 04, 2012 06:44PM



Hello everyone,

I'm glad to announce that the new version of my SPMF data mining software is out (SPMF 0.78).

I have made several changes. First, if you go in the download section of the website, you will notice that besides the source code, you can now download a graphical user interface version of the software. This new version is designed for people who are not very familiar with Java or want a more convenient way to run the algorithms. The user interface versions offers 17 of the 46 algorithms: PrefixSpan, SPAM, BIDE+, RuleGrowth, TRuleGrowth, CMRules, CMDeo, TopSeqRules, TopKRules, FPGrowth - itemsets, FPGrowth - association rules, Apriori_TID_bitset, Eclat_bitset, HMine, DCI_Closed, Charm_bitset, Indirect.

Later, I will add more.



I have added implementations of three algorithms:
  • The TopKRules algorithm for mining the top-k association rules in a transaction database
  • The TopSeqRules algorithm for mining the top-k sequential rules in a sequence database.
  • The TRuleGrowth algorithm for mining sequential rules with a time constraint

I have added an implementation of FPGrowth that saves the result to a file instead of keeping the result into memory.

I have removed some unused variables in the implementation of PrefixSpan(thanks to shouwangji@___ for reporting this),

I have added an implementation of the KD-Tree data structure. This data structure is useful for implementing the K-Nearest Neighboor algorithm. I have not implemented this algorithm yet. But I'm thinking about implementing it in a future version.

Hope you enjoy this new version. If you have any comments, suggestions for some new features or if you find some bugs, let me know.

Thanks again to all the users! Also, thanks all the people who help to promote the software.

Philippe



Edited 8 time(s). Last edit at 03/06/2012 06:43AM by webmasterphilfv.

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Date: March 08, 2012 11:59AM

Just passed the 17,000 page views on the website, yesterday.

Philippe

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Dvijesh88
Date: March 10, 2012 04:38AM

Hello,
why i am facing problem to use GUI? sad smiley

when i click on the choose input file nothing is happening?

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Date: March 10, 2012 05:53AM

Hello Dvijesh,

Thanks for your feedback!

Could you try running the class ca.pfv.spmf.gui.MainWindow in the source code version of SPMF?

This is another way to launch the GUI. Maybe it would show you some error in the console and you could paste it to me so that I can see what is the problem.

Also, could you tell me which operating system and Java version you are using?

Also, maybe it is a security problem with Java (maybe that Java don't let my application access the file system on your computer because of some security settings).

Let me know if you can make it work. Otherwise, I will try to change the code to make sure that it works for you ;-)

Thanks!

Philippe

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Meriem
Date: July 26, 2012 07:16AM

Hi guys,

I found trouble using the interface too: I chose the algorithm Apriori (support = 50).
here's what I got :
============= APRIORI - STATS =============
Transactions count from database : 6
Candidates count : 5
Database scan count : 1
The algorithm stopped at size 1, because there is no candidate
Frequent itemsets count : 0
Total time ~ 4 ms
===================================================
though my inputfile contained some frequent itemsets :/ and the outputfile opened up but was empty. Is there anything I can do? or did wrong? can improve?
thanks a lot smiling smiley

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Date: July 26, 2012 11:16AM

Hi Meriem,

Welcome to the forum.

The support in % should be expressed as 0.5 if you want to say 50.

Try to use 0.5 and it should works!

I will try to make it more clear in the next spmf version.

Best,

Philippe

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Dvijesh88
Date: March 10, 2012 07:50AM

ok i will let you know by tonight and just checking for that.

and will let you inform with all the things which you ask sir

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Dvijesh88
Date: March 10, 2012 08:22AM

i sent you mail sir

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Mala
Date: August 02, 2012 02:52PM

Sir
I am implementing an algorithm for Frequent Closed Itemset Mining in Data Streams. I have implemented. I want to compare it with CFI-Stream algorithm. Can I get an implementation for it? How to compare it?
Can you help?

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Date: August 02, 2012 04:28PM

Hi Mala,

Welcome to the forum.

I don't have the source code for the CFI-Stream algorithm. The CFI-Stream algorithm was proposed by: Nan Jiang and Le Gruenwald

I would suggest to try to contact the authors by e-mail first. If you are lucky, they may share the source code or executable with you.

But unfortunately, many authors don't want to share their source code or executables for various reasons.

If this happens, then you would probably have to implement it by yourself.

By the way, you have probably noticed, but you can download my CloStream implementation in the SPMF website.

Hope this helps,

Best,

Philippe

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Moon YAGAMI
Date: August 20, 2012 10:27AM

Hi guys!
I tried to implement a GUI similar to this one on my own with Netbeans 7.1.2.
I had tons of exceptions I don't even know where they come from, on the button that triggers the algorithm Apriori could you help me please ?

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at AlgoApriori.generateCandidateSize1(AlgoApriori.java:140)
at AlgoApriori.runAlgorithm(AlgoApriori.java:57)
at Interface.jButton3ActionPerformed(Interface.java:199)
at Interface.access$300(Interface.java:17)
at Interface$4.actionPerformed(Interface.java:82)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:676)
at java.awt.EventQueue$4.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Date: August 21, 2012 08:00PM

Hi Moon YAGAMI,

Welcome to the forum.

I'm sorry to answer you late. I have been very busy during the last few days.

I have checked what you have pasted and it is a "null pointer exception". This means that an object somewhere in your code has not been initialized.

I also see from what you have pasted that the exception occurs when you are pressing a button in your GUI.

I also see that the exception is occuring inside the file AlgoApriori at line 140. You could go check what line 140 is in the file AlgoApriori.java.

I think that the problem is the input file. Maybe that you provide a file path that is incorrect or that does not exist.

I would suggest to do some debugging or to use System.out.println(...) to check the file path.

Hope this helps,

Best,

Philippe

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Moon YAGAMI
Date: August 22, 2012 08:39AM

Hi Philippe,
Thanks for answering me smiling smiley
It can't be due to the filepath because I display the file's content in a jTextArea, and it works so I'm sure I've got the right one(path)
but I have to say that I switched the printItemsets function's type from void to String, to display the result in a jTextArea.
As for the line 140: here it is
protected List<ItemsetApriori> generateCandidateSize1() {
List<ItemApriori> list = new ArrayList<>( //line 140
context.getAttributes());


Since there's nothing wrong with the code I don't know where the problem is :/
Thanks again



Edited 1 time(s). Last edit at 08/22/2012 01:43PM by Moon YAGAMI.

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Posted by: Moon YAGAMI
Date: August 23, 2012 05:07AM

you were right, there was a mistake concerning the input file and the context wasn't initialized, I corrected it but know I have an exception on this:
Algoapriori apriori= new Algoapriori();



Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: Constructor must call super() or this() before return in method AlgoApriori.<init>(LContextAprioriwinking smileyV at offset 0
at Interface.jButton3ActionPerformed(Interface.java:217)
at Interface.access$300(Interface.java:18)
at Interface$4.actionPerformed(Interface.java:85)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:676)
at java.awt.EventQueue$4.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
BUILD SUCCESSFUL (total time: 39 seconds)

Options: ReplyQuote
Re: SPMF 0.78 data mining: The new version is out!
Date: August 23, 2012 04:29AM

Hi again,

If the line :

List<ItemApriori> list = new ArrayList<>( //line 140
context.getAttributes());

throws a null pointer exception it probably means that "context" is null.

context is the variable that should hold the information that is read from the file and that is passed to AlgoApriori when you call the runAlgorithm() method.

Anyway, if you cannot find the problem, you can send me your source code and i can have a quick look.

My email is philippe DOT fv AT gmail DOT com

Best,

Philippe

Options: ReplyQuote


This forum is powered by Phorum and provided by P. Fournier-Viger (© 2012).
Terms of use.