weka.core.Instances.numAttributes()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(10.0k)|赞(0)|评价(0)|浏览(212)

本文整理了Java中weka.core.Instances.numAttributes()方法的一些代码示例,展示了Instances.numAttributes()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Instances.numAttributes()方法的具体详情如下:
包路径:weka.core.Instances
类名称:Instances
方法名:numAttributes

Instances.numAttributes介绍

[英]Returns the number of attributes.
[中]返回属性数。

代码示例

代码示例来源:origin: stackoverflow.com

DataSource source = new DataSource(new File("mycsvinputfile"));
   System.out.println(source.getStructure());
   Instances data = source.getDataSet();
   // setting class attribute if the data format does not provide this information
   // For example, the XRFF format saves the class attribute information as well
   if (data.classIndex() == -1)
     data.setClassIndex(data.numAttributes() - 1);
   //initialize svm classifier
   LibSVM svm = new LibSVM();
   svm.buildClassifier(data);

代码示例来源:origin: stackoverflow.com

System.out.println("--------------------------");
double[] instanceValue1 = new double[dataRaw.numAttributes()];
instanceValue1[0] = dataRaw.attribute(0).addStringValue("This is a string!");
instanceValue1[1] = 0;
System.out.println("--------------------------");
double[] instanceValue2 = new double[dataRaw.numAttributes()];
instanceValue2[0] = dataRaw.attribute(0).addStringValue("This is second string!");
instanceValue2[1] = 1;

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

protected void initMinMax(Instances data) {
 m_Min = new double[data.numAttributes()];
 m_Max = new double[data.numAttributes()];
 for (int i = 0; i < data.numAttributes(); i++) {
  m_Min[i] = m_Max[i] = Double.NaN;
 }
 for (int i = 0; i < data.numInstances(); i++) {
  updateMinMax(data.instance(i));
 }
}

代码示例来源:origin: nz.ac.waikato.cms.weka/multiInstanceFilters

/**
 * Determines the output format for the filter.
 */
@Override
protected Instances determineOutputFormat(Instances inputFormat) {
 // Create attributes
 ArrayList<Attribute> atts = new ArrayList<Attribute>();
 m_allInsts = new LinkedList<Instance>();
 for (int i = 0; i < getInputFormat().numInstances(); i++) {
  Instances bag = getInputFormat().instance(i).relationalValue(
   BAG_ATTRIBUTE);
  for (int j = 0; j < bag.numInstances(); j++) {
   m_allInsts.add(bag.instance(j));
  }
 }
 for (int i = 0; i < m_allInsts.size(); i++) {
  atts.add(new Attribute("" + i));
 }
 atts.add(inputFormat.attribute(LABEL_ATTRIBUTE)); // class
 // TODO set relation name properly
 Instances returner = new Instances("", atts, 0);
 returner.setClassIndex(returner.numAttributes() - 1);
 return returner;
}

代码示例来源:origin: nz.ac.waikato.cms.weka/grading

/**
 * Makes the format for the level-1 data.
 *
 * @param instances the level-0 format
 * @return the format for the meta data
 * @throws Exception if an error occurs
 */
protected Instances metaFormat(Instances instances) throws Exception {
 FastVector attributes = new FastVector();
 Instances metaFormat;
 
 for (int i = 0; i<instances.numAttributes(); i++) {
 if ( i != instances.classIndex() ) {
   attributes.addElement(instances.attribute(i));
 }
 }
 FastVector nomElements = new FastVector(2);
 nomElements.addElement("0");
 nomElements.addElement("1");
 attributes.addElement(new Attribute("PredConf",nomElements));
 metaFormat = new Instances("Meta format", attributes, 0);
 metaFormat.setClassIndex(metaFormat.numAttributes()-1);
 return metaFormat;
}

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

public int getNode(String sNodeName) {
 int iNode = 0;
 while (iNode < m_root.m_bayesNet.m_Instances.numAttributes()) {
  if (m_root.m_bayesNet.m_Instances.attribute(iNode).name()
   .equals(sNodeName)) {
   return iNode;
  }
  iNode++;
 }
 // throw new Exception("Could not find node [[" + sNodeName + "]]");
 return -1;
}

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

/** Need to remove non-nominal attributes, set class index */
protected void setUp() throws Exception {
 super.setUp();
 // class index
 m_Instances.setClassIndex(1);
 
 // remove attributes that are not nominal/numeric
 int i = 0;
 while (i < m_Instances.numAttributes()) {
  if (    !m_Instances.attribute(i).isNominal()
     && !m_Instances.attribute(i).isNumeric() )
   m_Instances.deleteAttributeAt(i);
  else
   i++;
 }
}

代码示例来源:origin: stackoverflow.com

JFrame1 form = new JFrame1();
form.setVisible(true);
form.addPropertyChangeListener(new PropertyChangeListener() {

  @Override
  public void propertyChange(PropertyChangeEvent pce) {
    // Handle the change here

    String pth = (String) pce.getNewValue();
    BufferedReader datafile = readDataFile(pth);

    Instances data = new Instances(datafile);
    data.setClassIndex(data.numAttributes() - 1);

    (...)
  }

});

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

/**
 * Tests default setup.
 */
public void testTypical() {
 Instances result = useFilter();
 // Number of attributes and instances shouldn't change
 assertEquals(m_Instances.numAttributes(), result.numAttributes());
 assertEquals(m_Instances.numInstances(), result.numInstances());
 Attribute mergedAtt = result.attribute(4);
 // All values should be merged for this attribute
 assertTrue("Attribute 5 has all values merged in result", mergedAtt
  .value(0).equals("a_or_b_or_c_or_d"));
}

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

m_estimator = new NaiveBayes();
 Instances trainingData = new Instances(instances);
 if (m_remove != null) {
  trainingData = Filter.useFilter(instances, m_remove);
 Instances header = m_estimator.getHeader();
 int index = 0;
 for (int i = 0; i < header.numAttributes(); i++) {
  if (i != header.classIndex()) {
   m_estimatorLookup.put(header.attribute(i).name(), estimators[index]);
   index++;
 new Instances(getOutputFormat(), instances.numInstances());
for (int i = 0; i < instances.numInstances(); i++) {
 Instance current = instances.instance(i);
 Instance instNew = convertInstance(current);

代码示例来源:origin: Waikato/wekaDeeplearning4j

@Override
public void validate(Instances data) throws InvalidInputDataException {
 if (!((data.attribute(0).isString() && data.classIndex() == 1)
   || (data.attribute(1).isString() && data.classIndex() == 0))) {
  throw new InvalidInputDataException(
    "An ARFF is required with a string attribute and a class attribute");
 }
 if (data.numAttributes() != 2) {
  throw new InvalidInputDataException(
    "There must be exactly two attributes: 1) Text 2) Label. "
      + "The given data consists of "
      + data.numAttributes()
      + " attributes.");
 }
}

代码示例来源:origin: nz.ac.waikato.cms.weka/distributedWekaBase

protected Instances getSummaryInsts(Instances orig, String[] args)
 throws Exception {
 List<String> attNames = new ArrayList<String>();
 for (int i = 0; i < orig.numAttributes(); i++) {
  attNames.add(orig.attribute(i).name());
 }
 CSVToARFFHeaderMapTask arffTask = new CSVToARFFHeaderMapTask();
 arffTask.setOptions(args);
 for (int i = 0; i < orig.numInstances(); i++) {
  arffTask.processRow(orig.instance(i).toString(), attNames);
 }
 Instances withSummary = arffTask.getHeader();
 CSVToARFFHeaderReduceTask arffReduce = new CSVToARFFHeaderReduceTask();
 List<Instances> instList = new ArrayList<Instances>();
 instList.add(withSummary);
 withSummary = arffReduce.aggregate(instList);
 withSummary.setClassIndex(orig.classIndex());
 return withSummary;
}

代码示例来源:origin: nz.ac.waikato.cms.weka/NNge

/**
 * Updates the minimum, maximum, sum, sumSquare values for all the attributes 
 * 
 * @param instance the new instance
 */
private void updateMinMax(Instance instance){
 for (int j = 0; j < m_Train.numAttributes(); j++) {
  if(m_Train.classIndex() == j || m_Train.attribute(j).isNominal())
 continue;
  if (instance.value(j) < m_MinArray[j]) 
 m_MinArray[j] = instance.value(j);
  if (instance.value(j) > m_MaxArray[j])
 m_MaxArray[j] = instance.value(j);
 }    
}

代码示例来源:origin: Stratio/wikipedia-parser

public GroupFeature(List<FeatureExtractor> features) {
  this.features = ImmutableList.copyOf(features);
  ImmutableList.Builder<Attribute> result = ImmutableList.builder();
  for (FeatureExtractor fe: this.features) {
    for (Attribute att: fe.attributes()) {
      result.add((Attribute)att.copy());
    }
  }
  _attributes = result.build();
  _instances = new Instances("FOO", newArrayList(_attributes), 0);
  result = ImmutableList.builder();
  for (int i = 0; i < _instances.numAttributes(); i++) {
    result.add(_instances.attribute(i));
  }
  _attributes = result.build();
}

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

public void testTypical() {
 m_Filter = getFilter();
 Instances result = useFilter();
 assertEquals(m_Instances.numAttributes(), result.numAttributes());
 assertEquals(m_Instances.numInstances(), result.numInstances());
 // the discretized attribute must be nominal
 assertTrue(result.attribute(m_AttIndex).isNominal());
}

代码示例来源:origin: Waikato/meka

@Override
public Instance transformInstance(Instance x) throws Exception{

Instances tmpInst = new Instances(x.dataset());
tmpInst.delete();
tmpInst.add(x);

Instances features = this.extractPart(tmpInst, false);
Instances pseudoLabels = new Instances(this.compressedTemplateInst);
Instance tmpin = pseudoLabels.instance(0);
pseudoLabels.delete();

pseudoLabels.add(tmpin);
for ( int i = 0; i< pseudoLabels.classIndex(); i++) {
  pseudoLabels.instance(0).setMissing(i);
}
Instances newDataSet = Instances.mergeInstances(pseudoLabels, features);
newDataSet.setClassIndex(pseudoLabels.numAttributes());

return newDataSet.instance(0);
}

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

/**
 * performs a typical test
 */
public void testTypical() {
 Instances icopy = new Instances(m_Instances);
 
 m_Filter = getFilter();
 Instances result = useFilter();
 assertEquals(result.numAttributes(), icopy.numInstances() + 1);
}

代码示例来源:origin: Waikato/meka

/**
 * GetXfromD - Extract attributes as a double X[][] from Instances D.
 * TODO: getXfromInstances would be a better name.
 */
public static double[][] getXfromD(Instances D) {
  int N = D.numInstances();
  int L = D.classIndex();
  int d = D.numAttributes()-L;
  //System.out.println("d="+d);
  double X[][] = new double[N][d];
  for(int i = 0; i < N; i++) {
    for(int k = 0; k < d; k++) {
      X[i][k] = D.instance(i).value(k+L);
    }
  }
  return X;
}

代码示例来源:origin: nz.ac.waikato.cms.weka/weka-stable

/** Need to remove attributes that are not nominal/numeric */
protected void setUp() throws Exception {
 super.setUp();
 
 // remove attributes that are not nominal/numeric
 int i = 0;
 while (i < m_Instances.numAttributes()) {
  if (   (    !m_Instances.attribute(i).isNominal()
       && !m_Instances.attribute(i).isNumeric() )
     || m_Instances.attribute(i).isDate() )
   m_Instances.deleteAttributeAt(i);
  else
   i++;
 }
}

代码示例来源:origin: Waikato/weka-trunk

/**
  * 
  * @param bayesNet
  * @param instances the instances to work with
  * @throws Exception if something goes wrong
  */
public void buildStructure (BayesNet bayesNet, Instances instances) throws Exception {
 for (int iAttribute = 0; iAttribute < instances.numAttributes(); iAttribute++) {
  if (iAttribute != instances.classIndex()) {
   bayesNet.getParentSet(iAttribute).addParent(instances.classIndex(), instances);
  }
 }
} // buildStructure

相关文章

Instances类方法