https://github.com/braun-steven/matrix-algorithms
Java library of 2-dimensional matrix algorithms.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: researchgate.net, academia.edu -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (4.1%) to scientific vocabulary
Last synced: 9 months ago
·
JSON representation
Repository
Java library of 2-dimensional matrix algorithms.
Basic Info
- Host: GitHub
- Owner: braun-steven
- License: gpl-3.0
- Language: Java
- Default Branch: master
- Size: 186 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of waikato-datamining/matrix-algorithms
Created about 8 years ago
· Last pushed about 8 years ago
https://github.com/braun-steven/matrix-algorithms/blob/master/
# matrix-algorithms
Java library of 2-dimensional matrix algorithms.
## Algorithms
Unsupervised:
* [PCA](https://web.archive.org/web/20160630035830/http://statmaster.sdu.dk:80/courses/ST02/module05/module.pdf)
Supervised:
* [PLS1](https://web.archive.org/web/20081001154431/http://statmaster.sdu.dk:80/courses/ST02/module07/module.pdf)
* [SIMPLS](http://www.statsoft.com/textbook/partial-least-squares/#SIMPLS)
* [KernelPLS](http://www.plantbreeding.wzw.tum.de/fileadmin/w00bdb/www/kraemer/icml_kernelpls.pdf)
Planned:
* [NIPALS](http://www.statsoft.com/textbook/partial-least-squares/#NIPALS)
* [rPLS](https://www.researchgate.net/publication/259536250_Recursive_weighted_partial_least_squares_rPLS_An_efficient_variable_selection_method_using_PLS)
* [iPLS](https://www.researchgate.net/publication/247776629_Interval_Partial_Least-Squares_Regression_iPLS_A_Comparative_Chemometric_Study_with_an_Example_from_Near-Infrared_Spectroscopy)
* [PLS2](https://web.archive.org/web/20160702070233/http://statmaster.sdu.dk/courses/ST02/module08/module.pdf)
* [mwPLS]()
* [biPLS](https://www.academia.edu/14468430/Sequential_application_of_backward_interval_partial_least_squares_and_genetic_algorithms_for_the_selection_of_relevant_spectral_regions)
* [OSC](https://www.r-bloggers.com/evaluation-of-orthogonal-signal-correction-for-pls-modeling-osc-pls-and-opls/)
* [GLSW](http://wiki.eigenvector.com/index.php?title=Advanced_Preprocessing:_Multivariate_Filtering#GLSW_Algorithm) (orthogonal signal correction)
* [EPO](http://wiki.eigenvector.com/index.php?title=Advanced_Preprocessing:_Multivariate_Filtering#External_Parameter_Orthogonalization_.28EPO.29) (External Parameter Orthogonalization)
* ...
## Maven
Add the following dependency to your `pom.xml`:
```xml
nz.ac.waikato.cms.adams
matrix-algorithms
0.0.1
```
## Examples
### PCA
```java
import Jama.Matrix;
import com.github.waikatodatamining.matrix.algorithm.PCA;
import com.github.waikatodatamining.matrix.core.MatrixHelper;
...
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
```java
import Jama.Matrix;
import com.github.waikatodatamining.matrix.algorithm.SIMPLS;
import com.github.waikatodatamining.matrix.core.MatrixHelper;
...
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);
String msg = pls.initialize(predictors, response);
if (msg != null) {
System.out.println("\nInitialization failed:\n" + msg);
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()));
```
Owner
- Name: Steven Braun
- Login: braun-steven
- Kind: user
- Company: @ml-research
- Website: www.steven-braun.com
- Twitter: sbraunmz
- Repositories: 9
- Profile: https://github.com/braun-steven
PhD Student at the AIML Lab @ml-research, Technical University of Darmstadt