multisearch

Parameter optimization similar to GridSearch.

License

License

Categories

Categories

Search Business Logic Libraries
GroupId

GroupId

com.github.fracpete
ArtifactId

ArtifactId

multisearch-weka-package
Last Version

Last Version

2021.2.17
Release Date

Release Date

Type

Type

jar
Description

Description

multisearch
Parameter optimization similar to GridSearch.
Project URL

Project URL

https://github.com/fracpete/multisearch-weka-package
Project Organization

Project Organization

University of Waikato, Hamilton, NZ
Source Code Management

Source Code Management

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

Download multisearch-weka-package

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.fracpete/multisearch-weka-package/ -->
<dependency>
    <groupId>com.github.fracpete</groupId>
    <artifactId>multisearch-weka-package</artifactId>
    <version>2021.2.17</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.fracpete/multisearch-weka-package/
implementation 'com.github.fracpete:multisearch-weka-package:2021.2.17'
// https://jarcasting.com/artifacts/com.github.fracpete/multisearch-weka-package/
implementation ("com.github.fracpete:multisearch-weka-package:2021.2.17")
'com.github.fracpete:multisearch-weka-package:jar:2021.2.17'
<dependency org="com.github.fracpete" name="multisearch-weka-package" rev="2021.2.17">
  <artifact name="multisearch-weka-package" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.fracpete', module='multisearch-weka-package', version='2021.2.17')
)
libraryDependencies += "com.github.fracpete" % "multisearch-weka-package" % "2021.2.17"
[com.github.fracpete/multisearch-weka-package "2021.2.17"]

Dependencies

compile (1)

Group / Artifact Type Version
nz.ac.waikato.cms.weka : weka-dev jar [3.7.13,)

test (2)

Group / Artifact Type Version
nz.ac.waikato.cms.weka : weka-dev test-jar [3.7.13,)
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

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

    generates hidden layer definitions for the MultiLayerPerceptron classifier (contributed by Jan van Rijn)

  • 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 (and possible options for classes implementing weka.core.OptionHandler)

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:

https://waikato.github.io/weka-wiki/packages/manager/

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>2021.2.17</version>
      <type>jar</type>
      <exclusions>
        <exclusion>
          <groupId>nz.ac.waikato.cms.weka</groupId>
          <artifactId>weka-dev</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

Versions

Version
2021.2.17
2020.2.17
2019.10.4
2019.9.30
2018.9.2
2018.8.16
2018.8.11
2017.10.1
2017.3.28
2016.6.7
2016.6.6
2016.5.31
2016.5.25
2016.5.15
2016.4.30
2016.4.25
2016.4.14
2016.1.30
2016.1.15
2016.1.14
2016.1.13
2015.10.15
2015.9.2
2014.12.10