Code Monkey home page Code Monkey logo

multisearch-weka-package's Introduction

multisearch-weka-package

Weka package for parameter optimization, similar to GridSearch. Can be used for optimizing an arbitrary number of parameters, in contrast to GridSearch which always requires you to optimize two parameters. However, it does not offer automatic search space extensions like GridSearch.

Parameters

  • weka.core.setupgenerator.MathParameter

    uses mathematical expression to compute the (numeric) parameters

  • weka.core.setupgenerator.ListParameter

    list of values; default is blank-separated, but a custom delimiter can be supplied

  • weka.core.setupgenerator.ParameterGroup

    allows grouping of dependent parameters, e.g., setting on group sets the kernel of SMO to RFBKernel and explores the gamma option, another group sets the kernel to PolyKernel and explores the exponent option.

Note: array elements, e.g., the filters inside a weka.filters.MultiFilter can be accessed using [n] with n being the 0-based index. E.g., if the third filter inside a MultiFilter is a PLSFilter, then its numComponents property can be accessed with filters[2].numComponents.

Supported parameter types

  • char, string
  • float, double
  • int, long
  • boolean
  • weka.core.SelectedTag
  • Java classname

Search space exploration

The search space of setups can be explored with different strategies, derived from weka.classifiers.meta.multisearch.AbstractSearch. The following strategies are available:

  • weka.classifiers.meta.multisearch.DefaultSearch

    Exhaustive search of parameter space

  • weka.classifiers.meta.multisearch.RandomSearch

    Random search of parameter space (contributed by Jan van Rijn)

Example

With the following classifier setup:

weka.classifiers.meta.FilteredClassifier
|
+- weka.filters.supervised.attribute.PLSFilter
|
+- weka.classifiers.functions.LinearRegression

You can explore the filter's PLS components and classifier's ridge parameters by referencing these properties as follows (the MultiSearch's classifier is used as the base for the property paths):

  • components: filter.numComponents
  • ridge: classifier.ridge

For more examples, please see the following repository:

https://github.com/fracpete/multisearch-weka-package-examples

Releases

Click on one of the following links to download the corresponding Weka package:

How to use packages

For more information on how to install the package, see:

http://weka.wikispaces.com/How+do+I+use+the+package+manager%3F

Maven

Add the following dependency in your pom.xml to include the package:

    <dependency>
      <groupId>com.github.fracpete</groupId>
      <artifactId>multisearch-weka-package</artifactId>
      <version>2017.10.1</version>
      <type>jar</type>
      <exclusions>
        <exclusion>
          <groupId>nz.ac.waikato.cms.weka</groupId>
          <artifactId>weka-dev</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

multisearch-weka-package's People

Contributors

fracpete avatar janvanrijn avatar

Watchers

thuzarwin 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.