Git Product home page Git Product logo

students-filters's Introduction

Students.Filters

Introduction

Students.Filters is a package that provides unsupervised learning filters for the WEKA machine learning toolkit version >3.7. Development will prioritize filters that are useful to students taking machine learning at Georgia Tech; initially only an Independent Component Analysis filter using the FastICA algorithm has been implemented.

Installation

The preferred installation method is to use the WEKA package manager. The git repository contains additional files for an Eclipse project with Maven dependencies for the EJML package, and Ant build files for the jar.

WEKA Package Manager

See instructions on the WEKA homepage. If the package is not available from the official package page, it can be installed directly from:

https://github.com/cgearhart/students-filters/raw/master/StudentFilters.zip

Git Repository

The source code & package file can be intalled from git:

git clone https://github.com/cgearhart/students-filters.git

Use

The filter can be used like other WEKA filters from the command line, from the WEKA GUI, or directly within your own Java code. The specific options for each file can be found in the source code, documentation, or from the command line with the -h flag.

Command Line

Read the instructions first. Make sure that weka.jar and the StudentFilters.jar files are in the classpath and in order. Options for each filter can be determined with the -h argument. The filter can then be directly invoked (or chained like other WEKA filters), e.g.:

java -cp <weka_path>/weka.jar:<weka_packages>/studentfilters.jar weka.filters.unsupervised.attribute.IndependentComponent -i <infile.arff> -o <outfile.arff> -W -A -1 -N 200 -T 1E-4

IDE

The FastICA algorithm is implemented indepdent of WEKA, so it can be included without adding WEKA to your project by including the StudentFilters.jar file and importing filters.FastICA. However, using the WEKA-compatible IndepdentComponents filter requires the weka.jar in the classpath, and can be imported as weka.filters.unsupervised.attribute.IndependentComponents. See the WEKA documentation for more details.

The build.xml file can be used with Apache Ant to rebuild StudentFilters.jar by running:

ant build

NOTE: the EMJL library needs to be installed on your system in the expected location; follow the instructions to install it with Maven.

WEKA GUI

Once the filter is installed with the package manager, or has been simply unzipped to the package folder on the weka path, it will automatically appear in the WEKA gui. (The GUI must usually be restarted after new packages are added.) See the WEKA documentation for more details.

License

The filters are dependent on WEKA (licensed under GPL) and the Efficient Java Matrix Library (EJML) (licensed under Apache License 2.0). The FastICA algorithm is released under the GPL. The implementation in this package is based on the scikit-learn implementation which is released under BSD. To the extent that there may be any original copyright, it is licensed under the Unlicense - i.e., it is released to the Public Domain.

students-filters's People

Contributors

cgearhart avatar

Watchers

Prabhjot Singh Lamba 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.