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

阿弥陀佛

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

 
 
 

日志

 
 
关于我

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

网易考拉推荐

KDTree with meta data example  

2014-05-26 10:54:10|  分类: weka |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


/*
 *    KDTreeWithMetaData.java
 *    Copyright (C) 2009 University of Waikato, Hamilton, New Zealand
 *
 */

package wekaexamples.core.neighboursearch;

import weka.core.EuclideanDistance;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.core.neighboursearch.KDTree;

import java.util.Random;

/**
 * Example class for demonstrating how to use KDTree with meta-data, i.e.,
 * additional attributes that are not used in the distance calculation.
 *
 * @author FracPete (fracpete at waikato dot ac dot nz)
 * @version $Revision: 6059 $
 */
public class KDTreeWithMetaData {

  /**
   * Expects a dataset as first parameter. The last attribute is used as class attribute
   * and the first attribute will be excluded from the distance calculation.
   *
   * @param args          the commandline arguments
   * @throws Exception    if something goes wrong
   */
  public static void main(String[] args) throws Exception {
    // load data
    Instances data = DataSource.read(args[0]);
    data.setClassIndex(data.numAttributes() - 1);
    System.out.println("Input data has " + data.numAttributes() + " attributes.");

    // initialize KDTree
    EuclideanDistance distfunc = new EuclideanDistance();
    distfunc.setAttributeIndices("2-last");
    KDTree kdtree = new KDTree();
    kdtree.setDistanceFunction(distfunc);
    kdtree.setInstances(data);

    // obtain neighbors for a random instance
    Random rand = data.getRandomNumberGenerator(42);
    Instance inst = data.instance(rand.nextInt(data.numInstances()));
    Instances neighbors = kdtree.kNearestNeighbours(inst, 5);
    double[] distances = kdtree.getDistances();
    System.out.println("Neighbors data has " + neighbors.numAttributes() + " attributes.");
    System.out.println("\nInstance:\n" + inst);
    System.out.println("\nNeighbors:");
    for (int i = 0; i < neighbors.numInstances(); i++)
      System.out.println((i+1) + ". distance=" + distances[i] + "\n   " + neighbors.instance(i) + "");
  }
}
  评论这张
 
阅读(376)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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