Orange SNNS module

Interface module to use artificial neural networks from SNNS software as learning algoritms in Orange.

Orange logo

Orange is a data mining software that is specially good for researching and teaching. It is developed in Python and C++ combining the best from both: interpretability and quick use from Python and efficiency from C++.

SNNS screenshot

SNNS is a very complete software about artificial neural networks.

OrangeSNNS.py allows using SNNS to create, train and simulate neural networks as learners inside Orange.

Download

There are two versions available.

Use examples

    import orange, orangeSNNS

    data = orange.ExampleTable("bupa.tab")

    learner = orangeSNNS.SNNSLearner()

    classifier = learner(data)

    for example in data:
       print example,
       print "->", classifier(example)

The network is then used to classify the training set showing the predicted class for each example (using bupa.tab as data).

    import orange, orangeSNNS

    # We set the path where SNNS binaries can be found, this
    # is not necessary if they are in system path.
    orangeSNNS.pathSNNS = "~/SNNSv4.2/tools/bin/i686-pc-linux-gnu/"

    data = orange.ExampleTable("bupa.tab")

    learner = orangeSNNS.SNNSLearner(name = 'SNNS neural network',
                                     hiddenLayers = [2,3],
                                     MSE = 0,
                                     cycles = 500,
                                     algorithm = "Std_Backpropagation",
                                     learningParams = ["0.2"])

    classifier = learner(data)

    for example in data:
       print example,
       print "->", classifier(example)

Future plans

There will not be a 2.0 version, as this is just a quick solution. Instead, a completely integrated module with new code should be written, as SNNS is NOT free software and could not be adapted. More efforts on this module are worthless.

Probably a good choice to integrate neural networks in Orange is programming an interface to FANN .

There is a summer of code 2006 project (Neural Nets in SciPy) that may be interesting having an eye on it.