matrix-algorithms

Java library of 2-dimensional matrix algorithms.

License

License

GroupId

GroupId

nz.ac.waikato.cms.adams
ArtifactId

ArtifactId

matrix-algorithms
Last Version

Last Version

0.0.16
Release Date

Release Date

Type

Type

jar
Description

Description

matrix-algorithms
Java library of 2-dimensional matrix algorithms.
Project Organization

Project Organization

University of Waikato, Hamilton, NZ
Source Code Management

Source Code Management

https://github.com/waikato-datamining/matrix-algorithms

Download matrix-algorithms

How to add to project

<!-- https://jarcasting.com/artifacts/nz.ac.waikato.cms.adams/matrix-algorithms/ -->
<dependency>
    <groupId>nz.ac.waikato.cms.adams</groupId>
    <artifactId>matrix-algorithms</artifactId>
    <version>0.0.16</version>
</dependency>
// https://jarcasting.com/artifacts/nz.ac.waikato.cms.adams/matrix-algorithms/
implementation 'nz.ac.waikato.cms.adams:matrix-algorithms:0.0.16'
// https://jarcasting.com/artifacts/nz.ac.waikato.cms.adams/matrix-algorithms/
implementation ("nz.ac.waikato.cms.adams:matrix-algorithms:0.0.16")
'nz.ac.waikato.cms.adams:matrix-algorithms:jar:0.0.16'
<dependency org="nz.ac.waikato.cms.adams" name="matrix-algorithms" rev="0.0.16">
  <artifact name="matrix-algorithms" type="jar" />
</dependency>
@Grapes(
@Grab(group='nz.ac.waikato.cms.adams', module='matrix-algorithms', version='0.0.16')
)
libraryDependencies += "nz.ac.waikato.cms.adams" % "matrix-algorithms" % "0.0.16"
[nz.ac.waikato.cms.adams/matrix-algorithms "0.0.16"]

Dependencies

compile (4)

Group / Artifact Type Version
net.sf.trove4j : trove4j jar 3.0.3
gov.nist.math : jama jar 1.0.3
org.ojalgo : ojalgo jar 48.0.0
org.apache.commons : commons-math jar 2.2

test (4)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-engine jar 5.3.0
org.junit.platform : junit-platform-launcher jar 1.3.0
org.junit.platform : junit-platform-runner jar 1.3.0
com.googlecode.java-diff-utils : diffutils jar 1.2.1

Project Modules

There are no modules declared in this project.

matrix-algorithms

Java library of 2-dimensional matrix algorithms.

Algorithms

Unsupervised:

Supervised:

Planned:

Maven

Add the following dependency to your pom.xml:

    <dependency>
      <groupId>nz.ac.waikato.cms.adams</groupId>
      <artifactId>matrix-algorithms</artifactId>
      <version>0.0.16</version>
    </dependency>

Examples

PCA

import com.github.waikatodatamining.matrix.core.matrix.Matrix;
import com.github.waikatodatamining.matrix.algorithms.PCA;
import com.github.waikatodatamining.matrix.core.matrix.MatrixHelper;

public class Main {
  public static void main(String[] args) {
    
    Matrix data = MatrixHelper.read("bolts.csv", true, ',');
    // remove the class column, if present
    //data = MatrixHelper.deleteCol(data, data.getColumnDimension() - 1);
    
    System.out.println("\nInput");
    System.out.println(MatrixHelper.toString(data));
    
    PCA pca = new PCA();
    Matrix transformed = pca.transform(data);
    System.out.println("\nTransformed");
    System.out.println(MatrixHelper.toString(transformed));
    
  }
}

SIMPLS

import com.github.waikatodatamining.matrix.core.matrix.Matrix;
import com.github.waikatodatamining.matrix.algorithms.pls.SIMPLS;
import com.github.waikatodatamining.matrix.core.matrix.MatrixHelper;

public class Main {
  public static void main(String[] args) {
    
    Matrix predictors = MatrixHelper.read("bolts.csv", true, ',');
    Matrix response = MatrixHelper.read("bolts_response.csv", true, ',');
    
    System.out.println("\nPredictors");
    System.out.println(MatrixHelper.toString(predictors));
    
    System.out.println("\nResponse");
    System.out.println(MatrixHelper.toString(response));
    
    SIMPLS pls = new SIMPLS();
    pls.setNumComponents(3);
    try {
      pls.configure(predictors, response);
    } catch (Exception e) {
      System.out.println("\nInitialization failed:\n" + e);
      return;
    }
    
    System.out.println("\nTransformed");
    System.out.println(MatrixHelper.toString(pls.transform(predictors)));
    System.out.println("\nPredictions");
    System.out.println(MatrixHelper.toString(pls.predict(predictors)));
    System.out.println("\nLoadings");
    System.out.println(MatrixHelper.toString(pls.getLoadings()));
    
  }
}
nz.ac.waikato.cms.adams

University of Waikato - Data Mining

Commercial data mining activity at the University of Waikato.

Versions

Version
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1