【投票的形式筛选数据】

投票的形式筛选数据

在做一个测某东西速度的产品时,由于测速的原理是检测某东西连续经过2次的时间间隔,用1分钟去除于时间间隔来计算速度。在测试过程中发现有漏检现象,出现的数据如下{ 50, 53, 55, 103, 56,59, 48, 106, 57, 58… },其中103和106明显是其他数据的2倍左右,说明中间漏检了,因为所有数据都有是实时变化的,所以用投票的方式来选择更合理的数据。

思路是这样:将要筛选的数据拿去投票,投票时都把票投给自己,最后结果就是有一堆数据投票很集中,就拿前面这组数据{ 50, 53, 55, 103, 56,59, 48, 106, 57, 58… }来分析,其中53,55,56,57比较扎堆,数据大小都与55相差2以内,我们判定55是这组数据中比较可靠的数据。

  1. 废话不多说,直接看投票筛选数据的代码
#include <stdio.h>
#define NUM_INTERVALS 10                                                      // 参与投票的数据量
#define THRESHOLD 2                                                           // 允许数据之间的误差阈值
int intervals[NUM_INTERVALS] = { 50, 53, 55, 103, 56, 60, 40, 106, 57, 58 };  // 输入参与投票的数据 
int voteCounts[NUM_INTERVALS] = { 0 };                                        // 投票计数数组

void setup() {
  Serial.begin(115200);
}

void loop() {
  // 进行投票统计
  for (int i = 0; i < NUM_INTERVALS; i++) {
    int weight = 10;  // 默认投票权重为10%
    for (int j = 0; j < NUM_INTERVALS; j++) {
      // 检查数据之间的差值是不是在2以内,是的话投票给同一个数据
      if (abs(intervals[i] - intervals[j]) <= THRESHOLD) {
        voteCounts[i] += weight;
      }
    }
  }
  int maxVotes = 0;  // 最大投票数量
  int index = 0;     // 最大投票数量对应数据
  // 找到获得最多投票的数据
  for (int i = 0; i < NUM_INTERVALS; i++) {
    if (voteCounts[i] > maxVotes) {
      maxVotes = voteCounts[i];
      index = i;
    }
  }
  int accurateInterval = intervals[index];  // 获得最多投票的数据
  Serial.print("accurateInterval=");
  Serial.println(accurateInterval);
  delay(100);
}
  1. 运行结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在MATLAB中,可以使用随机森林算法进行随机筛选数据。随机森林算法是一种利用多棵决策树对样本进行训练并集成预测的分类器。它通过随机抽取数据构造多个样本,并使用节点的随机分裂技术构造多棵决策树。最后,将多棵决策树组合,并通过投票得出最终预测结果。\[2\] 在MATLAB中,可以使用自带的随机森林函数进行特征选择。这个函数可以帮助我们筛选出大量特征数据中对于回归预测最重要的特征,并对各特征进行重要性排序,充分反应不同特征的重要性。特征选择是从已有的特征中选择出一些最有效特征以降低数据集维度的过程,是提高学习算法性能的一个重要手段。\[1\] 使用MATLAB自带的随机森林函数进行特征选择的步骤如下: 1. 准备数据集:将需要进行特征选择的数据集准备好。 2. 调用随机森林函数:使用MATLAB中的随机森林函数,传入数据集和其他参数,如决策树数量、特征选择方法等。 3. 进行特征选择:随机森林函数会根据传入的参数进行特征选择,并返回特征的重要性排序结果。 4. 分析结果:根据返回的特征重要性排序结果,可以选择保留排名靠前的特征,以降低数据集的维度。 需要注意的是,随机森林特征选择方法可以有效地选择出最重要的特征,实现从大量特征到少数重要特征的特征降维筛选,极大地降低了特征的冗余性。\[3\] 希望这个回答对您有帮助! #### 引用[.reference_title] - *1* *2* *3* [基于随机森林实现特征选择降维及回归预测(Matlab代码实现)](https://blog.csdn.net/weixin_46039719/article/details/128097735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C_RR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值