本文整理汇总了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;
}
示例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;
}
示例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;
}
}
}
}
示例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;
}
示例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;
}
示例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;
}
}
}
}
示例7: getSupportVector
import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
@Override
public SupportVector getSupportVector(int index) {
return supportVectors.get(index);
}
示例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();
}
示例9: getSupportVector
import com.rapidminer.operator.learner.functions.kernel.SupportVector; //导入依赖的package包/类
@Override
public SupportVector getSupportVector(int index) {
return supportVectors.get(index);
}
示例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();
}