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相似度,以确定内容的相似程度。 在实际应用中,这些算法往往结合使用,通过多维度的比较提高识别准确性。选择合适的...
轮询算法简单来说就是按照固定的顺序遍历一组元素,每次遍历到一个元素时执行相应的操作。在本例中,算法的目标是在四个可能的选项(由`m_snIntervalSecond`数组表示)之间按概率进行选择,以确定是否显示曝光代码。...
但是,我们无法通过简单的除法操作来分解这两者,因为这是一个不良设定问题(ill-posed problem),即解不唯一或不存在。 Edwin Land和McCann使用所谓的“玩具世界”来解释这一理论,其中使用了由不同颜色的矩形...
在标准粒子群算法中,惯性权重通常是一个固定的值,它影响着算法的全局搜索能力和收敛速度。较大的惯性权重有助于快速搜索全局最优解,而较小的惯性权重则能提高精度和收敛速度。然而,单一的惯性权重难以兼顾这两...
在本项目中,我们探讨了如何使用金豺算法(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实现了一个结合鲸鱼优化算法和极限学习机的时间序列预测模型,可以用于预测如风速这样的时间序列数据,并通过多种评价指标来验证模型的预测性能。对于学习机器学习、优化算法和时间...
为了解决这些问题,GA可以作为一个有效的优化工具,通过全局搜索找到更优的网络结构和参数。 GA-BP回归预测模型中,GA负责生成和演化神经网络的权重和阈值组合,而BP网络则用于处理具体的回归任务。多变量输入模型...
通过创建一个对象数组,每个对象代表一个页面及其对应的权重,然后使用算法根据权重随机选取页面。页面对象需要包含权重值,可以是一个数字表示权重的大小,也可以是一个百分比,例如"15%"或"0.15",表示页面在轮播...