注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

创建weka Instances 方法  

2014-05-24 18:12:09|  分类: weka |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

wikispaces
Instances建立方式:
0. 通过数据结构建立
public Instances insertIntoWeka(final List <Point3d> points, final String name){     
    // Create numeric attributes "x" and "y" and "z"
    Attribute x = new Attribute("x");    Attribute y = new Attribute("y");    Attribute z = new Attribute("z");
    
    // Create vector of the above attributes
    FastVector attributes = new FastVector(3);
    attributes.addElement(x);    attributes.addElement(y);    attributes.addElement(z);
 
    // Create the empty datasets "wekaPoints" with above attributes
    Instances wekaPoints = new Instances(name, attributes, 0);
    for (Iterator<Point3d> i = points.iterator(); i.hasNext();) {
        // Create empty instance with three attribute values
        Instance inst = new Instance(3);

        // get the point3d
        Point3d p = i.next();
            
        // Set instance's values for the attributes "x", "y", and "z"
        inst.setValue(x, p.x);        inst.setValue(y, p.y);        inst.setValue(z, p.z);
 
        // Set instance's dataset to be the dataset "wekaPoints"
        inst.setDataset(wekaPoints);
            
        // Add the Instance to Instances
        wekaPoints.add(inst);
    }
    return wekaPoints;
}
1.通过文件建立。
    import weka.core.Instances;  
    import java.io.BufferedReader;  
    import java.io.FileReader; 
    ... 
    Instances data = new Instances(new BufferedReader(new FileReader("/some/where/data.arff")));  
    // setting class attribute  
    data.setClassIndex(data.numAttributes() - 1); 
    Class Index是指示用于分类的目标属性的下标。在ARFF文件中,它被默认为是最后一个属性,这也就是为什么它被设置成numAttributes-1.

2. 通过Datasource
    import weka.core.converters.ConverterUtils.DataSource;  
    ...  
    DataSource source = new DataSource("/some/where/data.arff");  
    Instances data = source.getDataSet();  
      
    // setting class attribute if the data format does not provide this information  
    // E.g., the XRFF format saves the class attribute information as well  
    if (data.classIndex() == -1)  data.setClassIndex(data.numAttributes() - 1);  

3. 通过数据库
   import weka.core.Instances;  
   import weka.experiment.InstanceQuery;  
     ...
    jdbcDriver=org.gjt.mm.mysql.Driver
    jdbcURL=jdbc:mysql://localhost:3306/some_database
    InstanceQuery query = new InstanceQuery();  
    query.setUsername("nobody");  
    query.setPassword("");  
    query.setQuery("select * from whatsoever");  
    // if your data is sparse, then you can say so too  
    // query.setSparseData(true);  
    Instances data = query.retrieveInstances();  

4. 通过Option/Filter
4.1 直接建立Option
    String[] options = new String[2];  
    options[0] = "-R";  
    options[1] = "1";
4.2 用Utils建立Option
    String[] options = weka.core.Utils.splitOptions("-R 1");
4.3 用方案
    weka.classifiers.functions.SMO scheme = new weka.classifiers.functions.SMO();  
    scheme.setOptions(weka.core.Utils.splitOptions("-C 1.0 -L 0.0010 -P 1.0E-12 -N 0 -V -1 -W 1 -K
    \"weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0\""));  
   OptionTree.java工具可以使你观察一个nested参数字符串。
---
参见 :Instances ARFF文件 3.5.5和3.4.X版本
A very small how to get started with Weka using a KDTree
  评论这张
 
阅读(470)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017