java getweight 方法怎么用_Java Attributes.getWeight方法代碼示例

import com.rapidminer.example.Attributes; //導入方法依賴的package包/類

@Override

public Model learn(ExampleSet exampleSet) throws OperatorException {

DistanceMeasure measure = DistanceMeasures.createMeasure(this);

measure.init(exampleSet);

GeometricDataCollection data = new LinearList(measure);

// check if weights should be used

boolean useWeights = getParameterAsBoolean(PARAMETER_USE_EXAMPLE_WEIGHTS);

// check if robust estimate should be performed: Then calculate weights and use it anyway

if (getParameterAsBoolean(PARAMETER_USE_ROBUST_ESTIMATION)) {

useWeights = true;

LocalPolynomialExampleWeightingOperator weightingOperator;

try {

weightingOperator = OperatorService.createOperator(LocalPolynomialExampleWeightingOperator.class);

exampleSet = weightingOperator.doWork((ExampleSet) exampleSet.clone(), this);

} catch (OperatorCreationException e) {

throw new UserError(this, 904, "LocalPolynomialExampleWeighting", e.getMessage());

}

}

Attributes attributes = exampleSet.getAttributes();

Attribute label = attributes.getLabel();

Attribute weightAttribute = attributes.getWeight();

for (Example example : exampleSet) {

double[] values = new double[attributes.size()];

double labelValue = example.getValue(label);

double weight = 1d;

if (weightAttribute != null && useWeights) {

weight = example.getValue(weightAttribute);

}

// filter out examples without influence

if (weight > 0d) {

// copying example values

int i = 0;

for (Attribute attribute : attributes) {

values[i] = example.getValue(attribute);

i++;

}

// inserting into geometric data collection

data.add(values, new RegressionData(values, labelValue, weight));

}

}

return new LocalPolynomialRegressionModel(exampleSet, data, Neighborhoods.createNeighborhood(this),

SmoothingKernels.createKernel(this), getParameterAsInt(PARAMETER_DEGREE),

getParameterAsDouble(PARAMETER_RIDGE));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值