⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pairedstatscorrected.java

📁 Java 编写的多种数据挖掘算法 包括聚类、分类、预处理等
💻 JAVA
字号:
/* *    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. *//* *    PairedStatsCorrected.java *    Copyright (C) 2003 Richard Kirkby * */package weka.experiment;import weka.core.Utils;import weka.core.Statistics;/** * A class for storing stats on a paired comparison. This version is * based on the corrected resampled t-test statistic, which uses the * ratio of the number of test examples/the number of training examples.<p> * * For more information see:<p> * * Claude Nadeau and Yoshua Bengio, "Inference for the Generalization Error," * Machine Learning, 2001. * * @author Richard Kirkby (rkirkby@cs.waikato.ac.nz) * @version $Revision: 1.2 $ */public class PairedStatsCorrected extends PairedStats {  /** The ratio used to correct the significane test */  protected double m_testTrainRatio;  /**   * Creates a new PairedStatsCorrected object with the supplied   * significance level and train/test ratio.   *   * @param sig the significance level for comparisons   * @param trainTestRatio the number test examples/training examples   */  public PairedStatsCorrected(double sig, double testTrainRatio) {          super(sig);    m_testTrainRatio = testTrainRatio;  }  /**   * Calculates the derived statistics (significance etc).   */  public void calculateDerived() {    xStats.calculateDerived();    yStats.calculateDerived();    differencesStats.calculateDerived();    correlation = Double.NaN;    if (!Double.isNaN(xStats.stdDev) && !Double.isNaN(yStats.stdDev)	&& !Utils.eq(xStats.stdDev, 0)) {      double slope = (xySum - xStats.sum * yStats.sum / count)	/ (xStats.sumSq - xStats.sum * xStats.mean);      if (!Utils.eq(yStats.stdDev, 0)) {	correlation = slope * xStats.stdDev / yStats.stdDev;      } else {	correlation = 1.0;      }    }    if (Utils.gr(differencesStats.stdDev, 0)) {      double tval = differencesStats.mean	/ Math.sqrt((1 / count + m_testTrainRatio)		    * differencesStats.stdDev * differencesStats.stdDev);            if (count > 1) {	differencesProbability = Statistics.FProbability(tval * tval, 1,							 (int) count - 1);      } else differencesProbability = 1;    } else {      if (differencesStats.sumSq == 0) {	differencesProbability = 1.0;      } else {	differencesProbability = 0.0;      }    }    differencesSignificance = 0;    if (differencesProbability <= sigLevel) {      if (xStats.mean > yStats.mean) {	differencesSignificance = 1;      } else {	differencesSignificance = -1;      }    }  }}

⌨️ 快捷键说明

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