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


Java SupportVector类代码示例

本文整理汇总了Java中com.rapidminer.operator.learner.functions.kernel.SupportVector的典型用法代码示例。如果您正苦于以下问题:Java SupportVector类的具体用法?Java SupportVector怎么用?Java SupportVector使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SupportVector类属于com.rapidminer.operator.learner.functions.kernel包,在下文中一共展示了SupportVector类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: count

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
/**
 * Creates a new performance vector if the given one is null. Adds a new estimated criterion. If
 * the criterion was already part of the performance vector before it will be overwritten.
 */
private PerformanceVector count(KernelModel model, PerformanceVector performanceCriteria) throws OperatorException {
	if (performanceCriteria == null) {
		performanceCriteria = new PerformanceVector();
	}

	this.lastCount = 0;
	int svNumber = model.getNumberOfSupportVectors();
	for (int i = 0; i < svNumber; i++) {
		SupportVector sv = model.getSupportVector(i);
		if (Math.abs(sv.getAlpha()) > 0.0d) {
			this.lastCount++;
		}
	}
	EstimatedPerformance svCriterion = new EstimatedPerformance("number_of_support_vectors", lastCount, 1,
			getParameterAsInt(PARAMETER_OPTIMIZATION_DIRECTION) == MDLCriterion.MINIMIZATION);
	performanceCriteria.addCriterion(svCriterion);
	return performanceCriteria;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:23,代码来源:SupportVectorCounter.java

示例2: count

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
/**
 * Creates a new performance vector if the given one is null. Adds a new estimated criterion. 
 * If the criterion was already part of the performance vector before it will be overwritten.
 */
private PerformanceVector count(KernelModel model, PerformanceVector performanceCriteria) throws OperatorException {
	if (performanceCriteria == null)
		performanceCriteria = new PerformanceVector();

	this.lastCount = 0;
	int svNumber = model.getNumberOfSupportVectors();
	for (int i = 0; i < svNumber; i++) {
		SupportVector sv = model.getSupportVector(i);
		if (Math.abs(sv.getAlpha()) > 0.0d)
			this.lastCount++;
	}
	EstimatedPerformance svCriterion = new EstimatedPerformance("number_of_support_vectors", lastCount, 1, getParameterAsInt(PARAMETER_OPTIMIZATION_DIRECTION) == MDLCriterion.MINIMIZATION);
	performanceCriteria.addCriterion(svCriterion);
	return performanceCriteria;
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:20,代码来源:SupportVectorCounter.java

示例3: EvoSVMModel

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
/** Creates a classification model. */
public EvoSVMModel(ExampleSet exampleSet, List<SupportVector> supportVectors, Kernel kernel, double bias) {
	super(exampleSet, ExampleSetUtilities.SetsCompareOption.ALLOW_SUPERSET,
			ExampleSetUtilities.TypesCompareOption.ALLOW_SAME_PARENTS);
	this.supportVectors = supportVectors;
	if (supportVectors == null || supportVectors.size() == 0) {
		throw new IllegalArgumentException("Null or empty support vector collection: not possible to predict values!");
	}
	this.kernel = kernel;
	this.bias = bias;

	if (this.kernel instanceof DotKernel) {
		this.weights = new double[getNumberOfAttributes()];
		for (int i = 0; i < getNumberOfSupportVectors(); i++) {
			SupportVector sv = getSupportVector(i);
			if (sv != null) {
				double[] x = sv.getX();
				double alpha = sv.getAlpha();
				double y = sv.getY();
				for (int j = 0; j < weights.length; j++) {
					weights[j] += y * alpha * x[j];
				}
			} else {
				this.weights = null;
				break;
			}
		}
	}
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:30,代码来源:EvoSVMModel.java

示例4: getSum

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
/** Calculates w*x from the given support vectors using this kernel function. */
public double getSum(Collection supportVectors, double[] currentX) {
	double sum = 0.0d;
	Iterator i = supportVectors.iterator();
	while (i.hasNext()) {
		SupportVector sv = (SupportVector) i.next();
		sum += sv.getY() * sv.getAlpha() * calculateDistance(sv.getX(), currentX);
	}
	return sum;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:11,代码来源:Kernel.java

示例5: getSum

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
/** Calculates w*x from the given support vectors using this kernel function. */
public double getSum(Collection<SupportVector> supportVectors, double[] currentX) {
	double sum = 0;
	for (SupportVector sv : supportVectors) {
		sum += sv.getY() * sv.getAlpha() * calculateDistance(sv.getX(), currentX);
	}
	return sum;
}
 
开发者ID:rapidminer,项目名称:rapidminer-studio,代码行数:9,代码来源:Kernel.java

示例6: EvoSVMModel

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
/** Creates a classification model. */
public EvoSVMModel(ExampleSet exampleSet, List<SupportVector> supportVectors, Kernel kernel, double bias) {
	super(exampleSet);
	this.supportVectors = supportVectors;
	if ((supportVectors == null) || (supportVectors.size() == 0))
		throw new IllegalArgumentException("Null or empty support vector collection: not possible to predict values!");
	this.kernel = kernel;
	this.bias = bias;
	
	if (this.kernel instanceof DotKernel) {
		this.weights = new double[getNumberOfAttributes()];
		for (int i = 0; i < getNumberOfSupportVectors(); i++) {
			SupportVector sv = getSupportVector(i);
			if (sv != null) {
				double[] x = sv.getX();
				double alpha = sv.getAlpha();
				double y = sv.getY();
				for (int j = 0; j < weights.length; j++) {
					weights[j] += y * alpha * x[j];
				}
			} else {
				this.weights = null;
				break;
			}
		}
	}
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:28,代码来源:EvoSVMModel.java

示例7: getSupportVector

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
@Override
public SupportVector getSupportVector(int index) {
	return supportVectors.get(index);
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:5,代码来源:EvoSVMModel.java

示例8: getFormula

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
@Override
public String getFormula() {
	StringBuffer result = new StringBuffer();

	boolean first = true;
	for (int i = 0; i < getNumberOfSupportVectors(); i++) {
		SupportVector sv = getSupportVector(i);
		if (sv != null) {
			double alpha = sv.getAlpha();
			if (!Tools.isZero(alpha)) {
				result.append(Tools.getLineSeparator());
				double[] x = sv.getX();
				double y = sv.getY();
				double factor = y * alpha;
				if (factor < 0.0d) {
					if (first) {
						result.append("- " + Math.abs(factor));
					} else {
						result.append("- " + Math.abs(factor));
					}
				} else {
					if (first) {
						result.append("  " + factor);
					} else {
						result.append("+ " + factor);
					}
				}

				result.append(" * (" + kernel.getDistanceFormula(x, getAttributeConstructions()) + ")");
				first = false;
			}
		}
	}

	double bias = getBias();
	if (!Tools.isZero(bias)) {
		result.append(Tools.getLineSeparator());
		if (bias < 0.0d) {
			if (first) {
				result.append("- " + Math.abs(bias));
			} else {
				result.append("- " + Math.abs(bias));
			}
		} else {
			if (first) {
				result.append(bias);
			} else {
				result.append("+ " + bias);
			}
		}
	}

	return result.toString();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:55,代码来源:EvoSVMModel.java

示例9: getSupportVector

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
@Override
public SupportVector getSupportVector(int index) {
   	return supportVectors.get(index);
   }
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:5,代码来源:EvoSVMModel.java

示例10: getFormula

import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
public String getFormula() {
	StringBuffer result = new StringBuffer();
			
	boolean first = true;
	for (int i = 0; i < getNumberOfSupportVectors(); i++) {
		SupportVector sv = getSupportVector(i);
		if (sv != null) {
			double alpha = sv.getAlpha();
			if (!Tools.isZero(alpha)) {
				result.append(Tools.getLineSeparator());
				double[] x = sv.getX();
				double y = sv.getY();
				double factor = y * alpha;
				if (factor < 0.0d) {
					if (first)
						result.append("- " + Math.abs(factor));
					else
						result.append("- " + Math.abs(factor));
				} else {
					if (first) {
						result.append("  " + factor);
					} else {
						result.append("+ " + factor);
					}
				}

				result.append(" * (" + kernel.getDistanceFormula(x, getAttributeConstructions()) + ")");	
				first = false;
			}
		}
	}
	
	double bias = getBias();
	if (!Tools.isZero(bias)) {
		result.append(Tools.getLineSeparator());
		if (bias < 0.0d) {
			if (first)
				result.append("- " + Math.abs(bias));
			else
				result.append("- " + Math.abs(bias));
		} else {
			if (first) {
				result.append(bias);
			} else {
				result.append("+ " + bias);
			}
		}
	}
	
	return result.toString();
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:52,代码来源:EvoSVMModel.java


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