jeffheaton / encog-java-core

http://www.heatonresearch.com/encog
Other
742 stars 268 forks source link

Workbench: PNN/GRNN - unknown method type #78

Closed PetrToman closed 12 years ago

PetrToman commented 12 years ago

Run Analyst on data1.csv (http://dione.zcu.cz/~toman40/encog/data1.zip) and choose "PNN/GRNN Network". The following exception will be thrown:

Exception: org.encog.app.analyst.AnalystError: Unknown method type
org.encog.app.analyst.wizard.AnalystWizard.generateGenerate(AnalystWizard.java:701)
org.encog.app.analyst.wizard.AnalystWizard.wizard(AnalystWizard.java:1253)
org.encog.workbench.process.EncogAnalystWizard.createEncogAnalyst(EncogAnalystWizard.java:122)
org.encog.workbench.frames.document.EncogPopupMenus.performPopupMenu(EncogPopupMenus.java:121)
org.encog.workbench.frames.document.EncogPopupMenus.actionPerformed(EncogPopupMenus.java:65)
org.encog.workbench.frames.document.EncogDocumentFrame.actionPerformed(EncogDocumentFrame.java:117)
javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.setPressed(Unknown Source)
javax.swing.AbstractButton.doClick(Unknown Source)
javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
java.awt.Component.processMouseEvent(Unknown Source)
javax.swing.JComponent.processMouseEvent(Unknown Source)
java.awt.Component.processEvent(Unknown Source)
java.awt.Container.processEvent(Unknown Source)
java.awt.Component.dispatchEventImpl(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Window.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.awt.EventQueue.access$000(Unknown Source)
java.awt.EventQueue$1.run(Unknown Source)
java.awt.EventQueue$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue$2.run(Unknown Source)
java.awt.EventQueue$2.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.run(Unknown Source)
seemasingh commented 12 years ago

Jeff checked in code that eliminates this error and allows PNN to be used with the workbench. However, it currently fails to converge with the Iris dataset, so we are looking at that.

seemasingh commented 12 years ago

I fixed a bug that was causing a total failure to converge. Now PNN will train Iris to a flat zero error. And this is actually correct. However, it is massively "overfit", as the evaluation set performs at about a 23% error. I am not sure if this is just the nature of PNN, since it does store the training data. I am assigning to Jeff to look and see if the algorithm is functioning as it should, and the network is not just memorizing.

jeffheaton commented 12 years ago

The original issue reported has been fixed. But I would still like to take a look at overfitting with PNN. Created Issue #87 for that, for Encog 3.2.