Giter Site home page Giter Site logo

giordamaug / wisard4weka Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 8.98 MB

A supervised classification method for WEKA based on weightless neural networks

License: GNU General Public License v3.0

Java 100.00%
neural-networks machine-learning weka supervised-learning weightless-neural-network

wisard4weka's Introduction

WiSARD4WEKA

A supervised classification model for WEKA based on the WiSARD weightless neural network for the Weka machine learning toolkit.

Authors: Maurizio Giordano and Massimo De Gregorio

  • Istituto di Calcolo e Reti ad Alte Prestazioni (ICAR) - Consiglio Nazionale delle Ricerche (CNR) (Italy)
  • Istituto di Scienze Applicate e Sistemi Intelligenti "Eduardo Caianiello" (ISASI) - Consiglio Nazionale delle Ricerche (CNR) (Italy)

Description

WiSARD was originally conceived as a pattern recognition device mainly focusing on image processing domain. With ad hoc data transformation, WiSARD can also be used successfully as multiclass classifier in machine learning domain.

The WiSARD is a RAM-based neuron network working as an n-tuple classifier. A WiSARD is formed by as many discriminators as the number of classes it has to discriminate between. Each discriminator consists of a set of N RAMs that, during the training phase, l earn the occurrences of n-tuples extracted from the input binary vector (the retina).

In the WiSARD model, n-tuples selected from the input binary vector are regarded as the “features” of the input pattern to be recognised. It has been demonstrated in literature [14] that the randomness of feature extraction makes WiSARD more sensitive to detect global features than an ordered map which makes a single layer system sensitive to detect local features.

More information and details about the WiSARD neural network model can be found in Aleksander and Morton's book Introduction to neural computing.

The WiSARD4WEKA package implements a multi-class classification method based on the WiSARD weightless neural model for the Weka machine learning toolkit. A data-preprocessing filter allows to exploit WiSARD neural model training/classification capabilities on multi-attribute numeric data making WiSARD overcome the restriction to binary pattern recognition.

For more information on the WiSARD classifier implemented in the WiSARD4WEKA package, see:

Massimo De Gregorio and Maurizio Giordano (2018). An experimental evaluation of weightless neural networks for multi-class classification. Journal of Applied Soft Computing. Vol.72. pp. 338-354

If you use this software, please cite it as:

@article{DEGREGORIO2018338,
 title = "An experimental evaluation of weightless neural networks for multi-class classification",
 journal = "Applied Soft Computing",
 volume = "72",
 pages = "338 - 354",
 year = "2018",
 issn = "1568-4946",
 doi = "https://doi.org/10.1016/j.asoc.2018.07.052",
 url = "http://www.sciencedirect.com/science/article/pii/S156849461830440X",
 author = "Massimo De Gregorio and Maurizio Giordano",
 keywords = "Weightless neural network, WiSARD, Machine learning"
}

Building

This repository includes all sources, documentation and libraries to build the WiSARD4WEKA package and jars. You can build the package jars by using the Apache ant utility:

ant -f build_package.xml -Dpackage=WiSARD exejar

Or you can build locally the package to be imported in your Weka toolkit by mean of the command:

ant -f build_package.xml -Dpackage=WiSARD  make_package

Installation

This repository includes a pre-build package (in zip format) of WiSARD4WEKA that you can install from the the PackageManager of your Weka distribution:

$ java -cp your-path-to-weka.jar weka.core.WekaPackageManager -install-package https://github.com/giordamaug/WiSARD4WEKA/releases/download/v.1.0.1/WiSARD.zip

Use

After package installation, you can run the WiSARD classifier from the Weka GUI:

image

Once you select the WiSARD classifier, you can change its parameters:

image

and then run the classifier on your dataset:

image

Experiments

Some measures of F-measure of WiSARD of classification on weka datasets (66% split) in comparison with other methods: (NOTE: all methods run in default configurations of parameters)

method pima-diabetes Glass ionosphere iris labor-neg-data soybean segment supermarket vote weather
WiSARD 0.825 0.564 0.914 1.000 0.889 1.000 0.986 0.779 0.989 1.0
SMO 0.852 0.275 0.749 1.000 0.889 1.000 1.000 0.779 0.972 0.75
MLP 0.841 0.612 0.740 1.000 0.923 1.000 0.971 0.779 0.983 0.571
j48 0.824 0.667 0.729 1.000 0.769 0.696 0.986 0.779 0.972 0.571

wisard4weka's People

Contributors

giordamaug avatar

Stargazers

 avatar Sureal Cereal avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.