當(dāng)前位置:
首頁 >
Java机器学习库ML之一Dataset和Instance
發(fā)布時(shí)間:2025/4/16
27
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Java机器学习库ML之一Dataset和Instance
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java機(jī)器學(xué)習(xí)庫ML官網(wǎng):http://java-ml.sourceforge.net/
對(duì)于一個(gè)機(jī)器學(xué)習(xí)庫來說,最基礎(chǔ)就是數(shù)據(jù)處理能力,ml庫給了dataset和instance兩個(gè)類,dataset是矩陣,instance是行(可以理解是一個(gè)list,或一個(gè)double數(shù)組)。
本文給出最基本的Dataset和Instance操作,可以完成對(duì)一個(gè)矩陣的遍歷,定位到每一行里的每一個(gè)列,可惜的是dataset本身好像不具備行列切片,這個(gè)和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//創(chuàng)建一個(gè)空的dataset,并隨機(jī)賦值Dataset data = new DefaultDataset();for (int i = 0; i < 5; i++) {Instance tmpInstance = InstanceTools.randomGaussianInstance(3);tmpInstance.setClassValue("標(biāo)記");data.add(tmpInstance);}//創(chuàng)建一個(gè)5行3列的矩陣System.out.println(data.instance(0)); //打印dataset的第一行/*案例2*///從文件中導(dǎo)入形成一個(gè)dataset,前4列是特征值,最后1列是標(biāo)記,列分隔符是逗號(hào)Dataset dataFile = FileHandler.loadDataset(new File("D:\\tmp\\iris.data"), 4, ",");for(Instance inst:dataFile){System.out.println(inst.classValue());//顯示標(biāo)記System.out.println(inst.values());//顯示特征值}//instance double[] values = new double[] { 0.1, 2, 3 };/* values of the attributes. */Instance instance = new DenseInstance(values);System.out.println("Instance with only values set: ");System.out.println(instance);Instance instanceWithClassValue = new DenseInstance(values, 1);System.out.println("Instance with class value set to 1: ");System.out.println(instanceWithClassValue);/* Create instance with 10 attributes */Instance instancesparse = new SparseInstance();/* Set the values for particular attributes */instancesparse.put(1, 1.0);instancesparse.put(2, 2.0);instancesparse.put(3, 4.0);System.out.println(instancesparse.values());} }總結(jié)
以上是生活随笔為你收集整理的Java机器学习库ML之一Dataset和Instance的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RSA非对称加密算法Java实现
- 下一篇: Java机器学习库ML之二Feature