Java机器学习库ML官网:http://java-ml.sourceforge.net/
对于一个机器学习库来说,最基础就是数据处理能力,ml库给了dataset和instance两个类,dataset是矩阵,instance是行(可以理解是一个list,或一个double数组)。
本文给出最基本的Dataset和Instance操作,可以完成对一个矩阵的遍历,定位到每一行里的每一个列,可惜的是dataset本身好像不具备行列切片,这个和python里面的pandas库差别就大了。
参考代码如下:
package com.gddx;
import java.io.File;
import java.io.IOException;
import net.sf.javaml.core.Dataset;
import net.sf.javaml.core.DefaultDataset;
import net.sf.javaml.core.DenseInstance;
import net.sf.javaml.core.Instance;
import net.sf.javaml.core.SparseInstance;
import net.sf.javaml.tools.InstanceTools;
import net.sf.javaml.tools.data.FileHandler;
public class TutorialDataset {
public static void main(String[]args) throws IOException{
//dataset
//创建一个空的dataset,并随机赋值
Dataset data = new DefaultDataset();
for (int i = 0; i < 5; i++) {
Instance tmpInstance = InstanceTools.randomGaussianInstance(3);
tmpInstance.