关于删除数据集中含有
NaN
、
inf
等异常值,有很多种方法,在stackoverflow的
这个问题下
,高票回答中使用的方法
df[~df.isin([np.nan, np.inf, -np.inf]).any(1)]
在某些情况下并不可行,原因在于所使用的
isin
是基于等号
==
进行判断数值是否相等的,而在Python中运行
np.nan == np.nan
时,结果为
False
,故而在有些数据集下无法删除含有
NaN
的样本(按理说应该在所有数据集下均无法删除含有
NaN
的样本才对,但是在某些数据集下又能够删除,比如上述stackoverflow帖子中的情况,目前还是没有完全弄懂)。
如果一定要用类似于上述
isin
的方式删除含有
NaN
的样本,可以自己写一个NaN类(见参考链接3最后一个回答),用
np.isnan()
来判断两个
NaN
值是否相等,因为
np.isnan(np.nan)
返回的是
True
。具体方法如下:
关于删除数据集中含有NaN、inf等异常值,有很多种方法,在stackoverflow的这个问题下,高票回答中使用的方法df[~df.isin([np.nan, np.inf, -np.inf]).any(1)]在某些情况下并不可行,原因在于所使用的isin是基于等号==进行判断数值是否相等的,而在Python中运行np.nan == np.nan时,结果为False,故而在有些数据集下无...
稀疏标记平滑正则化在半监督人身份识别中的应用,准确率比较高,有权重
Sparse Label Smoothing Regularization for semi-supervised Person Re-Identification
最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work;查看得到的数据,发现有很多
nan
和
inf
,导致
Python
的基本函数运行不了,这是因为在除的过程中分母出现0的缘故。为了将结果能够被
python
其他函数处理,尤其numpy库,需要将
nan
,
inf
转为
python
所能识别的类型。
这里将
nan
,
inf
替换0作为例子。下面来看看详细的介绍:
1. 代码
import numpy as np
a = np.array([[np.
nan
, np.
nan
, 1, 2], [np.
inf
, np.
inf
, 3, 4], [1, 1, 1, 1],
1、
nan
和
inf
产生原因
搭建神经网络后产生的,在训练早期,模型参数可能不是很合适,会出现梯度消失和爆炸的情况,特别是有lstm,rnn这类网络的情况。
nan
是not a number ,
inf
是无穷大。比如求损失函数会用到log,如果输入接近0,那么结果就是
inf
。
2、解决
方法
2.1 学习率要设置小一些
2.2使用带上限的激活函数,如tf.nn.relu6
也就是对输出做了限制
2.2 检查输入数据中是否有
nan
或
inf
x = tf.constant([5.0, 4.8, 6
Camstyle,是一个与reid解耦的数据增广
方法
,主要用于缓解相机偏差。其实这个代码有较为详细的过程,记下只为后面更容易上手。
https://github.com/zhunzhong07/CamStyle
ubuntu16.04
cuda9.0
python
3.6
torch=1.1.0
torchvision==0.3.0
visdom
Dominate
1.准备数据
将market1501数据复制到CycleGAN-for-CamStyle/datasets目录下,并改名为m
INF
:
Inf
inity,代表的是无穷大的意思,也是属于浮点类型。np.
inf
表示正无穷大,-np.
inf
表示负无穷大,一般在出现除数为0的时候为无穷大。比如2/0。
NAN
一些特点:
NAN
和
NAN
不
目前很多公司都在使用大体的流程如下:
1)原始的下机数据fastq文件;2)读长匹配参考基因组形成BAM文件;3)GATK和/或Samtools工具call出变异;4)Annovar工具对变异做出注释;5)变异进行过滤;6)过滤后的变异进行判读,医学解读等,最后出具报告。
这是一个行业内主要使用的流程,各个环节都容易出
可以使用pandas库中的dropna()
方法
来去掉
含有
NaN
的行。具体操作如下:
假设有一个名为df的DataFrame,其中
含有
NaN
值,可以使用以下代码去掉
含有
NaN
的行:
df.dropna(inplace=True)
其中,inplace=True表示直接在原DataFrame上进行修改,如果不加该参数,则需要将结果赋值给一个新的DataFrame。
注意:该
方法
会直接删除
含有
NaN
的行,因此需要根据实际情况谨慎使用。
Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activa...