zoukankan      html  css  js  c++  java
  • java-ml机器学习库(一)

    java-ml是基于java的一个机器学习jar,下载地址:http://java-ml.sourceforge.net/

    导入jar包后就可以开始code了,Eclipse引入外部包的教程:http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html。

    首先说明如何创建一个样本:

     

    如何创建一个数据集:

    import net.sf.javaml.core.Dataset;
    import net.sf.javaml.core.DefaultDataset;
    import net.sf.javaml.core.Instance;
    import net.sf.javaml.tools.InstanceTools;
    
    public class text {
         public static void main(String[]args){
                Dataset data = new DefaultDataset();
                for (int i = 0; i < 10; i++) {
                    Instance tmpInstance = InstanceTools.randomInstance(4);//每个样本包括四个属性值,属性值为0-1之间的随机数
                    for(int j=0;j<tmpInstance.size();++j){  //遍历输出每个样本的所有属性值
                        System.out.print(tmpInstance.value(j));
                    }
                    System.out.println();
                    data.add(tmpInstance);//将当前样本添加到数据集中
                }            
                System.out.println(data.noAttributes());//输出数据集中样本的属性数
                System.out.println(data.size()); //输出样本的个数
                /* Retrieve all class values that are ever used in the data set */
                SortedSet<Object> classValues = data.classes();
                System.out.println(classValues.size());
    
            }
    }

     

    如何从文件中读取一个数据集:

     public static void main(String[]args) throws IOException{
             //Iris数据集格式如下如下:
            /*
            5.1,3.5,1.4,0.2,Iris-setosa
            4.9,3.0,1.4,0.2,Iris-setosa
            4.7,3.2,1.3,0.2,Iris-setosa
            4.6,3.1,1.5,0.2,Iris-setosa
            */
            //FileHandler.loadDataset
            //第一个参数:文件来源
            //第二个参数:样本的标签的位置,从0开始,在该样品中Iris-setosa处在第5个位置,因此为4
            //第三个参数:每个属性之间的分隔符
                 Dataset data = FileHandler.loadDataset(new File("D:/test/Iris.csv"), 4, ",");
                System.out.println(data);
                 /*输出为:
                [{[5.1, 3.5, 1.4, 0.2];Iris-setosa}, {[4.9, 3.0, 1.4, 0.2];Iris-setosa}, {[4.7, 3.2, 1.3, 0.2];Iris-setosa}, {[4.6, 3.1, 1.5, 0.2];Iris-setosa}]
                */
            }

    样本的归一化:X=(x-min)/(max-min)

    public static void main(String[]args) throws IOException{
             /* Create data set with random instances */
             Dataset data=new DefaultDataset();
             for(int i=0;i<2;i++){
               Instance rgA=InstanceTools.randomInstance(2);
               data.add(rgA);
             }
             NormalizeMidrange nmr=new NormalizeMidrange(0.5,1);
             /*根据数据集来计算*/
             nmr.build(data);          
             Instance rgB=InstanceTools.randomInstance(2);
             System.out.println("归一化之前:"+rgB);
             /* Filter another instances */
             nmr.filter(rgB);
             System.out.println("归一化之后:"+rgB);
             System.out.println(data);
            }
  • 相关阅读:
    hdu1828(线段树——矩形周长并)
    hdu1255(线段树——矩形面积交)
    用jQuery获取到一个类名获取到的是一个数组 ,如果对数组中的每个进行相应的操作可以这样进行
    CSS3向外扩散的圆
    鼠标放上去图片会放大
    Django分页
    Django使用富文本编辑器
    Django日志配置
    Linux中的文件类型
    Linux压缩和解压缩
  • 原文地址:https://www.cnblogs.com/codeDog123/p/6711110.html
Copyright © 2011-2022 走看看