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

本文介绍了一种局部多项式回归模型的实现方法,通过使用RapidMiner框架中的组件来处理回归任务。该方法首先导入必要的包并定义了如何学习模型的过程,包括距离度量的初始化、权重的应用及鲁棒估计的计算。此外,还详细说明了如何将数据集中的实例转换为几何数据集合,以便进行进一步的回归分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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));

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值