当前位置: 首页>>代码示例>>Java>>正文


Java ContingencyTables.log2方法代码示例

本文整理汇总了Java中weka.core.ContingencyTables.log2方法的典型用法代码示例。如果您正苦于以下问题:Java ContingencyTables.log2方法的具体用法?Java ContingencyTables.log2怎么用?Java ContingencyTables.log2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在weka.core.ContingencyTables的用法示例。


在下文中一共展示了ContingencyTables.log2方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: splitEnt

import weka.core.ContingencyTables; //导入方法依赖的package包/类
/**
 * Help method for computing the split entropy.
 */
private final double splitEnt(Distribution bags, double totalnoInst) {

  double returnValue = 0;
  double noUnknown;
  int i;

  noUnknown = totalnoInst - bags.total();
  if (Utils.gr(bags.total(), 0)) {
    for (i = 0; i < bags.numBags(); i++) {
      returnValue = returnValue - lnFunc(bags.perBag(i));
    }
    returnValue = returnValue - lnFunc(noUnknown);
    returnValue = returnValue + lnFunc(totalnoInst);
  }
  return returnValue / ContingencyTables.log2;
}
 
开发者ID:mydzigear,项目名称:repo.kmeanspp.silhouette_score,代码行数:20,代码来源:GainRatioSplitCrit.java

示例2: splitCritValue

import weka.core.ContingencyTables; //导入方法依赖的package包/类
/**
  * Computes entropy of test distribution with respect to training distribution.
  */
 public final double splitCritValue(Distribution train, Distribution test) {

   double result = 0;
   int numClasses = 0;
   int i, j;
   
   // Find out relevant number of classes
   for (j = 0; j < test.numClasses(); j++)
     if (Utils.gr(train.perClass(j), 0) || Utils.gr(test.perClass(j), 0))
numClasses++;

   // Compute entropy of test data with respect to training data
   for (i = 0; i < test.numBags(); i++)
     if (Utils.gr(test.perBag(i),0)) {
for (j = 0; j < test.numClasses(); j++)
  if (Utils.gr(test.perClassPerBag(i, j), 0))
    result -= test.perClassPerBag(i, j)*
      Math.log(train.perClassPerBag(i, j) + 1);
result += test.perBag(i) * Math.log(train.perBag(i) + numClasses);
     }
 
   return result / ContingencyTables.log2;
 }
 
开发者ID:mydzigear,项目名称:repo.kmeanspp.silhouette_score,代码行数:27,代码来源:EntropySplitCrit.java

示例3: oldEnt

import weka.core.ContingencyTables; //导入方法依赖的package包/类
/**
 * Computes entropy of distribution before splitting.
 */
public final double oldEnt(Distribution bags) {

  double returnValue = 0;
  int j;

  for (j=0;j<bags.numClasses();j++)
    returnValue = returnValue+lnFunc(bags.perClass(j));
  return (lnFunc(bags.total())-returnValue)/ContingencyTables.log2; 
}
 
开发者ID:mydzigear,项目名称:repo.kmeanspp.silhouette_score,代码行数:13,代码来源:EntropyBasedSplitCrit.java

示例4: newEnt

import weka.core.ContingencyTables; //导入方法依赖的package包/类
/**
  * Computes entropy of distribution after splitting.
  */
 public final double newEnt(Distribution bags) {
   
   double returnValue = 0;
   int i,j;

   for (i=0;i<bags.numBags();i++){
     for (j=0;j<bags.numClasses();j++)
returnValue = returnValue+lnFunc(bags.perClassPerBag(i,j));
     returnValue = returnValue-lnFunc(bags.perBag(i));
   }
   return -(returnValue/ContingencyTables.log2);
 }
 
开发者ID:mydzigear,项目名称:repo.kmeanspp.silhouette_score,代码行数:16,代码来源:EntropyBasedSplitCrit.java

示例5: splitEnt

import weka.core.ContingencyTables; //导入方法依赖的package包/类
/**
 * Computes entropy after splitting without considering the
 * class values.
 */
public final double splitEnt(Distribution bags) {

  double returnValue = 0;
  int i;

  for (i=0;i<bags.numBags();i++)
    returnValue = returnValue+lnFunc(bags.perBag(i));
  return (lnFunc(bags.total())-returnValue)/ContingencyTables.log2;
}
 
开发者ID:mydzigear,项目名称:repo.kmeanspp.silhouette_score,代码行数:14,代码来源:EntropyBasedSplitCrit.java

示例6: chooseIndex

import weka.core.ContingencyTables; //导入方法依赖的package包/类
/**
 * Method for choosing a subset to expand.
 */
public final int chooseIndex() {

  int minIndex = -1;
  double estimated, min = Double.MAX_VALUE;
  int i, j;

  for (i = 0; i < m_sons.length; i++) {
    if (son(i) == null) {
      if (Utils.sm(localModel().distribution().perBag(i), m_minNumObj)) {
        estimated = Double.MAX_VALUE;
      } else {
        estimated = 0;
        for (j = 0; j < localModel().distribution().numClasses(); j++) {
          estimated -= m_splitCrit.lnFunc(localModel().distribution()
            .perClassPerBag(i, j));
        }
        estimated += m_splitCrit
          .lnFunc(localModel().distribution().perBag(i));
        estimated /= (localModel().distribution().perBag(i) * ContingencyTables.log2);
      }
      if (Utils.smOrEq(estimated, 0)) {
        return i;
      }
      if (Utils.sm(estimated, min)) {
        min = estimated;
        minIndex = i;
      }
    }
  }

  return minIndex;
}
 
开发者ID:mydzigear,项目名称:repo.kmeanspp.silhouette_score,代码行数:36,代码来源:ClassifierDecList.java


注:本文中的weka.core.ContingencyTables.log2方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。