FRosner / DataGenerator

Tool for generating various test data for machine learning and data mining algorithms.
Apache License 2.0
10 stars 2 forks source link

Implement feature dependency graph #177

Closed FRosner closed 10 years ago

FRosner commented 10 years ago

It should be possible to compose a graph of dependencies of feature definitions (and the underlying distributions) somehow.

We have to be careful that the prior is valid. E.g. one cannot add a prior for a gaussian sigma that could produce non-positive values.

FRosner commented 10 years ago

We need a directed acyclic graph in order to represent any imaginable feature dependency.

FRosner commented 10 years ago

Latest changes brought up the following exception. Maybe we should synchronize the feature definition graph.

Running de.frosner.datagenerator.gui.services.PreviewTableManagerTest
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:357)
    at java.lang.Class.newInstance(Class.java:310)
    at net.sf.qualitycheck.Check.stateIsTrue(Check.java:1046)
    at de.frosner.datagenerator.gui.main.VariableColumnCountTableModel.setValueAt(VariableColumnCountTableModel.java:73)
    at de.frosner.datagenerator.gui.services.PreviewTableManager$2.run(PreviewTableManager.java:128)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
    at java.awt.EventQueue.access$400(EventQueue.java:82)
    at java.awt.EventQueue$2.run(EventQueue.java:676)
    at java.awt.EventQueue$2.run(EventQueue.java:674)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
FRosner commented 10 years ago

I must not forget to think about comment on https://github.com/FRosner/DataGenerator/commit/8706dcb15aef0219caf44442142ffde9a610410f.

FRosner commented 10 years ago

I need to add more data generator integration tests for different feature combinations.

FRosner commented 10 years ago

Topological order is not working correctly if you add dependencies backwards. I have to fix this.

FRosner commented 10 years ago

https://github.com/FRosner/DataGenerator/commit/565b2f55ec1886c97f1547cf67631104d487d3c0#commitcomment-4975925