cluster.java

来自「wekaUT是 university texas austin 开发的基于wek」· Java 代码 · 共 138 行

JAVA
138
字号
/* *    This program is free software; you can redistribute it and/or modify *    it under the terms of the GNU General Public License as published by *    the Free Software Foundation; either version 2 of the License, or *    (at your option) any later version. * *    This program is distributed in the hope that it will be useful, *    but WITHOUT ANY WARRANTY; without even the implied warranty of *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *    GNU General Public License for more details. * *    You should have received a copy of the GNU General Public License *    along with this program; if not, write to the Free Software *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* *    Cluster.java *    Copyright (C) 2001 Mikhail Bilenko, Sugato Basu * */package weka.clusterers;import weka.core.Instance;import java.util.Enumeration;import java.util.ArrayList;public class Cluster extends ArrayList {  /** contains weights corresponding to each cluster member,       corresponds to probabilities for belonging to clusters */  ArrayList weights;  /** corresponds to a cluster ID number, useful for identifying the cluster */  public int clusterID;  /* Unused now, could be used later      protected int type;   */    /**   * Creates an empty cluster   */  public Cluster() {    super();    weights = new ArrayList();  }  /**   * Creates an empty cluster with an id   */  public Cluster(int id) {    super();    weights = new ArrayList();    clusterID = id;  }  /**   * Creates a singleton cluster, assignes weight 1 to the instance   *   * @param o object to be added to the cluster   */  public Cluster (Object o) {    this(o, 1.0);  }      /**   * Creates a singleton cluster, assignes specified weight to the instance   *   * @param o object to be added to the cluster   * @param wt weight of the object   */  public Cluster (Object o, double wt) {    this();    add (o, wt);  }    /**   * Adds an object to the cluster with default weight 1   *   * @param o object to be added to the cluster   */  public boolean add (Object o) {    add (o, 1.0);    return true;  }    /**   * Adds an object to the cluster with specified weight   *   * @param o object to be added to the cluster   * @param wt weight of the object   */  public boolean add (Object instance, double wt) {    super.add (instance);    weights.add (new Double(wt));    return true;  }    /**   * Returns the weight of the element at the given position.   *   * @param index the element's index   * @return the weight of the element with the given index   */  public double weightAt (int index) throws Exception {    if (index < size())       return ((Double)weights.get(index)).doubleValue();    else      throw new Exception ("Element index too large");  }      /**   * Adds elements from another cluster to this cluster.  Weights are   * kept the same   *   * @param old_cluster a Cluster containing elements to be added   */   public void copyElements(Cluster old_cluster) throws Exception {    for (int i = 0; i < old_cluster.size(); i++) {      add(old_cluster.get(i), old_cluster.weightAt(i));    }  }		  public String toString() {    String s = "[";    String c[];    String[][] array = (String[][]) toArray();    for (int i=0; i<array.length; i++){      c = array[i];      s = s + " " + c[0];    }    s = s + "]";    return s;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?