import java.util.Arrays;
public class WeightALG {
public static void main(String[] args) {
int[] ary=new int[]{7,7,7,7,10};
for(int i=0;i<100000;i++)
algoWeight(ary);
}
/**
* 权重百分比算法
* @param orginData 计算原始数据
* @return 返回命中数据的索引
*/
public static int algoWeight(int[] orginData)
{
if(orginData==null || orginData.length==0){
throw new IllegalArgumentException("orginData不能为空、并且长度不能为0");
}
final int total=Arrays.stream(orginData).sum();
final double[] weights=Arrays.stream(orginData).mapToDouble((input)->(0.00D+input)/total).toArray();
double weight=Math.random();
double start=0;
double end=weights[0];
for(int idx=1;idx<=weights.length;idx++)
{
if(start<=weight && end>weight)
{
return idx-1;
}
start=end;
end=start+weights[idx];
}
return -1;//如果返回-1是程序bug
}
}
当orgiData数据比较大的时候可以考虑使用红黑树数据结构来做。
分享到:
相关推荐
根据描述,这个函数接收一个包含六个权重向量的算法输入,并返回这些权重向量对应的样本的加权百分位数。权重向量可以理解为一组数值,它们分别对应于数据集中各个数据点的权重。函数可能的实现步骤如下: 1. **...
该算法设定一个可接受的重复内容百分比(Percentage),然后对比网页内容的编辑距离或Jaccard相似度,以确定内容的相似程度。 在实际应用中,这些算法往往结合使用,通过多维度的比较提高识别准确性。选择合适的...
但是,我们无法通过简单的除法操作来分解这两者,因为这是一个不良设定问题(ill-posed problem),即解不唯一或不存在。 Edwin Land和McCann使用所谓的“玩具世界”来解释这一理论,其中使用了由不同颜色的矩形...
轮询算法简单来说就是按照固定的顺序遍历一组元素,每次遍历到一个元素时执行相应的操作。在本例中,算法的目标是在四个可能的选项(由`m_snIntervalSecond`数组表示)之间按概率进行选择,以确定是否显示曝光代码。...
在本文中,我们将深入探讨一种将算术优化算法(AOA)应用于反向传播(BP)神经网络以改进回归预测的策略,即AOA-BP回归预测模型。该模型适用于处理多变量输入和单个输出的数据集。我们将讨论AOA的基本原理、BP神经...
在改进策略中,研究者采用了(0.4, 0.7)范围内的均匀分布随机惯性权重,这意味着算法中粒子的惯性权重不再是单一的常数,而是每次迭代都可以在一个指定范围内随机选择。这种策略的优势在于它能够在迭代过程中动态调整...
在本项目中,我们探讨了如何使用金豺算法(GJO)来优化BP神经网络进行回归预测,构建了一个多变量输入、单输出的模型。金豺算法是一种进化优化算法,灵感来源于自然界中金豺群体的捕食行为,具有较强的全局搜索能力...
与未采用CEEMDAN算法的原始数据集相比,该模型的平均绝对百分比误差(MAPE)从4.9423%降低到1.44531%,说明所提模型有效提高了预测精度,为股市网络舆情的预测提供了一种有效的实验方法。 关键词:网络舆情、文本...
SoC是电池的一个重要特性,指的是电池剩余电量与电池总容量的百分比,它对于电池管理系统至关重要。深度学习是一种模拟人脑处理信息的机器学习方法,尤其擅长于处理和分析大量数据。量子遗传算法则是借鉴量子计算和...
5. **预设权重指标**:在组卷过程中,对于无法直接满足的指标(如知识点分布),可以预先设定权重,使得算法在优化过程中考虑这些因素。 6. **知识点分数分布**:指试卷中各知识点所占的分数比例,有助于确保试卷...
在多变量输入单输出模型中,BP神经网络能够处理多个输入特征并预测一个单一的输出值。 GWO-BP回归预测是将灰狼算法应用于BP神经网络的训练过程,以优化网络的权重和偏置。这种结合提高了BP神经网络的收敛速度和预测...
每个函数对应一个特定的算法步骤,并且可以封装在一个主函数中,使得用户可以输入决策矩阵和权重,然后得到排序结果。 在压缩包"Toppsis算法综合评价代码"中,可能包含了MATLAB脚本文件或函数,用于实现上述步骤。...
本文建立了一个基于机会约束规划(Chance Constrained Programming)的风电穿透功率极限求解模型,并运用粒子群优化算法对其进行了求解。在机会约束规划中,决策者可以根据具体情况确定对风险的承受程度,将风电场的...
在IT领域,特别是数据分析与机器学习中,"天鹰算法(AO)优化BP神经网络回归预测"是一个重要的研究主题。BP(Backpropagation)神经网络是一种广泛应用的前馈神经网络,用于非线性回归和分类任务。然而,BP网络在训练...
BP算法是一种用于训练人工神经网络的监督学习方法。它通过反向传播误差来调整神经网络中的权重。 1. **BP算法的基本原理**: - **前向传播**:输入信号沿着网络从输入层到隐藏层再到输出层逐层传播。 - **误差...
其基本思想是将一群粒子(模拟鸟群)在搜索空间中随机分布,每个粒子代表问题的一个潜在解,它们通过追随当前个体最优解和群体最优解的指引来搜索最优解。粒子群优化算法适用于解决多目标优化问题,可以应用于系统...
他们利用模糊推理的思想,将当前最好性能评价、粒子的惯性权重和学习因子作为模糊控制器的输入,以算法参数变化量的百分比作为输出,建立相应的模糊控制规则,从而动态调整PSO的参数,增强算法的全局探索能力。...
总体来说,这个项目是利用MATLAB实现了一个结合鲸鱼优化算法和极限学习机的时间序列预测模型,可以用于预测如风速这样的时间序列数据,并通过多种评价指标来验证模型的预测性能。对于学习机器学习、优化算法和时间...
改进蛇优化算法GOSO ISO优化BP神经网络初始权重和阈值,相较于原始蛇优化算法性能优异,收敛速度快,避免陷入局部最优 基于MATLAB环境 替自己的数据即可 代码注释清晰 适合学习 回归预测的评价指标包括平均绝对误差 ...