创建具有实际错误的合成数据的框架,用于优化数据科学管道。
noisif的Python项目详细描述
噪声化
noisify是一个简单的轻量级库,用于通过添加真实的噪声来增强和修改数据。
简介
添加一些人为噪音(打字错误、东西放错框等)
>>> from noisify.recipes import human_error
>>> test_data = {'this': 1.0, 'is': 2, 'a': 'test!'}
>>> human_noise = human_error(5)
>>> print(list(human_noise(test_data)))
[{'a': 'tset!', 'this': 2, 'is': 1.0}]
>>> print(list(human_noise(test_data)))
[{'a': 0.0, 'this': 'test!', 'is': 2}]
添加一些机器噪声(高斯噪声、数据采集中断等)
>>> from noisify.recipes import machine_error
>>> machine_noise = machine_error(5)
>>> print(list(machine_noise(test_data)))
[{'this': 1.12786393038729, 'is': 2.1387080616716307, 'a': 'test!'}]
如果两者都需要,只需将它们相加即可
>>> combined_noise = machine_error(5) + human_error(5)
>>> print(list(combined_noise(test_data)))
[{'this': 1.23854334573554, 'is': 20.77848220943227, 'a': 'tst!'}]
向numpy数组添加噪波
>>> import numpy as np
>>> test_array = np.arange(10)
>>> print(test_array)
[0 1 2 3 4 5 6 7 8 9]
>>> print(list(combined_noise(test_array)))
[[0.09172393 2.52539794 1.38823741 2.85571154 2.85571154 6.37596668
4.7135771 7.28358719 6.83600156 9.40973018]]
阅读图像
>>> from PIL import Image
>>> test_image = Image.open(noisify.jpg)
>>> test_image.show()
现在有噪音
>>> from noisify.recipes import human_error, machine_error
>>> combined_noise = machine_error(5) + human_error(5)
>>> for out_image in combined_noise(test_image):
... out_image.show()
^ {EM1}$NOISIGITY
安装
先决条件
Nosify依赖于Python3.5+
从pipy安装
$ pip install noisify
其他信息
$ pip install noisify
完整的文档可在todo readthedocs链接处获得。
许可证
DSTL(C)皇家版权所有2019
Nosify是根据麻省理工学院的许可证发布的