关于随机数的设定和随机噪声

2023-12-04 08:28

本文主要是介绍关于随机数的设定和随机噪声,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 以下是设立随机数和随机噪声的code:

设定随机数的方法有很多,下面代码是通过numpy的API设定随机数,除了numpy,实际上scikit,tf,pytorch都有设定随机数的API的

# Set a random seed for reproducibility(01modifiy)加入随机数的代码最好是在第一行
np.random.seed(200)# 数据集拆分
X, y = np.array(dataset['Smiles']), np.array(dataset['pIC50'])# Add random noise to the target variable y(01modify)
noise_factor = 0.1  # You can adjust this value based on the amount of noise you want
y_with_noise = y + np.random.normal(0, noise_factor, size=len(y))# Split the dataset with noisy target variable(01modify)
X_train, X_test, y_train, y_test = train_test_split(X, y_with_noise, test_size=0.3)

以下是未加入随机噪声的code:

# 数据集拆分
X, y = np.array(dataset['Smiles']), np.array(dataset['pIC50'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

以01modifySVM.py为例:

加入随机噪声后结果

未加入随机噪声的结果:

我们发现加入随机噪声后,效果更好。

我们知道,加入随机数的目的,是让结果可重复性,可控。加入随机噪声的原因是提高鲁棒性,因为现实情况实际上是有噪声的(如实验测活的误差)。

关于随机数的选取:

#这是某篇文章的插入随机的方案,就按梯度设置一系列随机数
for randx in [8,12,42,50,65,78,105]:spliter = randomSpliter(test_size=0.25,random_state=randx)spliter.ExtractTotalData(file,label_name='label')spliter.SplitData()tr_x = spliter.tr_xtr_y = spliter.tr_yte_y = spliter.te_y

这里我们知道一点,如果只是发文章的话,可以挑取效果好的随机数,但是实际上我们要知道一点,如果模型受到随机数的影响较大,那只能说明模型不咋地。

这篇关于关于随机数的设定和随机噪声的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452792

相关文章

明明的随机数处理问题分析与解决方案

明明的随机数处理问题分析与解决方案 引言问题描述解决方案数据结构设计具体步骤伪代码C语言实现详细解释读取输入去重操作排序操作输出结果复杂度分析 引言 明明生成了N个1到500之间的随机整数,我们需要对这些整数进行处理,删去重复的数字,然后进行排序并输出结果。本文将详细讲解如何通过算法、数据结构以及C语言来解决这个问题。我们将会使用数组和哈希表来实现去重操作,再利用排序算法对结果

Flink实例(114):自定义时间和窗口的操作符(十三)自定义窗口分配器之设定窗口开始与结束时刻

1. 自定义窗口分配器(flink1.11.2) package com.atguigu.exercise.ETL.caiutilimport java.text.SimpleDateFormatimport java.utilimport java.util.{Collections, Date}import org.apache.flink.api.common.Executio

Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类

废话不多说,贡献一下code 1.编号生成工具 import org.apache.commons.lang3.StringUtils;import java.math.BigInteger;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/*** 编号生成工具*/@

Cocos2dx 3.0 过渡篇(五) 随机数的获取

1、简单的随机数用法:CCRANDOM_0_1 示例如下: [cpp] int HelloWorld::getRand(int start,int end)  {   float i = CCRANDOM_0_1()*(end-start+1)+start;  //产生一个从start到end间的随机数   return (int)i;  }   2、上述的方法虽然简便,但是运行

css中设定长度的例外情况

看下面的例子: div { font-size: 40px; width: 10em; /* 400px */ height: 10em; border: solid 1px black; } p { font-size: 0.5em; /* 20px */ width: 10em; /* 200px */ height: 10em; border: solid 1px

(php伪随机数生成)[GWCTF 2019]枯燥的抽奖

审核源码发现加载check.php,审计发现使用了mt_rand()函数,这个函数生成的值是伪随机的 参考下面这篇文章 PHP mt_rand安全杂谈及应用场景详解 - FreeBuf网络安全行业门户 kali里面输入下载工具 git clone https://github.com/openwall/php_mt_seed.git cd进去输入make后编译出的文件先

STM32G474之随机数发生器

STM32G474一个RNG设备,它能提供由“集成模拟电路”生成的32位随机数,是硬件随机数发生器。在C语言中,若包含头文件“stdlib.h”,我们就可以使用有rand()函数,它是C语言中用于生成随机数的函数。 1、“随机数”的应用 1)、一般用“随机数”作为延时函数的传递参数,来获取不同的延时时间。在多主机通讯系统中,要求时间同步采集数据,但是数据传输,若发生在同一时刻,通讯就会发生碰撞

Open3D 点云添加均匀分布的随机噪声

目录 一、概述 1.1实现步骤 1.2应用场景 二、代码实现 三、实现效果 3.1原始点云 3.2添加噪声后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述         在 Open3D 中,可以通过向点云的每个点添加随机噪声来模拟实际的测量误差或环境噪声。均匀分布的随机噪声是

取Random范围内的随机数

Random rand = new Random();        int m = rand.nextInt(); //int范围类的随机数        int n = rand.nextInt(100); //0-100范围内的随机数      包含0,不包含100.

linux 随机数生成原理

简介 在信息学中,信息熵是用来描述系统混乱无序程度的物理量;系统的熵越大,系统就越无序,所含有用信息量越少,不确定度越大。 Linux内核中有一个熵池设备,专门收集来自系统环境的一些噪音,来产生高质量随机数序列;这些噪声主要来自于硬件设备发生中断的时间,用户点击鼠标的时间间隔,硬件噪声,磁盘活动等 /dev/random与/dev/urandom 这两个字符设备文件都是利用Linux内