statinstances.java

来自「Java语言实现的支持向量机的源码。对研究人工智能的朋友有用。」· Java 代码 · 共 45 行

JAVA
45
字号
package util;

import weka.core.Instances;
import weka.core.Instance;
/*
 * 计算Instances的统计变量,比如各维均值和方差
 */
public class StatInstances
{
	protected Instances data;
	protected double[] der;
	protected int dem;
	protected int n;
	
	public StatInstances(Instances data)
	{
		this.data=data;
		dem=data.numAttributes()-1;
		n=data.numInstances();
		der=new double[dem];
	}
	
	public double[] calcDer()
	{
		//各维的方差赋初值0
		for(int i=0;i<dem;i++)
			der[i]=0;
		
		Instance x;
		double u,value;
		for(int i=0;i<dem;i++)
		{
			u=data.meanOrMode(i);
			for(int j=0;j<n;j++)
			{
				x=data.instance(j);
				value=x.value(i);
				der[i]+=(1.0/n)*(value-u)*(value-u);
			}
			//System.out.println("der[i] is "+der[i]);
		}
		return der;
	}
}

⌨️ 快捷键说明

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