使用Python Faker包创建假数据
在使用实际数据之前,用假数据测试和评估软件和硬件是至关重要的。通过各种场景和测试案例来运行代码,可以发现可能的错误。
虚假数据可以通过Python库中的faker轻松生成。在本教程中,我们将学习如何使用Python Faker库生成假数据。
前提条件
要继续学习,你必须具备以下条件
- 对Python编程语言有良好的理解。
- 安装了Python IDE。
首先,让我们安装Python库,Faker ,如图所示。
pip install faker
生成假数据的方法和类型
创建和初始化假象生成器
你可以使用Faker(). 来生成和初始化假数据生成器 使用假数据生成器,你就可以生成任何你想要的数据。
from faker import Faker
ourFake = Faker()
创建随机文本
我们使用text() 方法来创建一个带有随机文本信息的段落。
ourFake.text()
输出。
Business happy black arrives end. Election wear list. Would lay though.\nCentury collection everybody key fight. Goal nation woman assume both.
对于生成地址,我们使用address() ,对于名字我们使用name() 方法。
ourFake.address()
输出。
3722 Garza Port\nSmithshire, UT 28618
ourFake.name()
输出。
Dana Williams
创建虚拟数据,使用seed()
你可能希望再次使用相同的数据集合。在这里,给发生器播种是一个可行的选择。
一个随机函数的状态是用种子函数保存的,允许这个过程一次又一次地创建相同的随机数,无论代码是否在同一个系统上执行。由生成器创建的数字作为种子。
除了播种之外,假数据也是使用faker生成的。所以,你不需要使用faker来编写假数据。
下面的代码使用seed() 方法创建假数据。
Faker.seed(111)
print(ourFake.text())
输出。
Management huge pay college cover instead. Consumer leg start research her.
Sound finish set draw notice imagine that. Blue between least democratic down week wait. Reduce inside me.
独特的数据生成
你可以利用生成器的属性unique ,以确保创建的假数据总是唯一的。
# generates 10 unique texts
texts = [ourFake.unique.name() for b in range(10)]
命令行用法
faker软件包的命令行调用允许你在命令提示符中直接输入假数据,从而生成假数据。
下面是一个在命令提示符下的例子。
faker address
输出。
173 Castro Ferry\nSouth Alexandriafort, WI 38412
本地化
如果提供了一个locale作为输入,Faker生成器可以生成本地化的假数据。
此外,本地化的假数据可以被翻译成各种语言。
下面是一些名字,我们指定了要使用的localeen-US 。
ourFake = Faker('en-US')
for b in range(10):
print(ourFake.name())
输出。
Daniel Davidson
Kristin Stewart
Derrick Tran
Matthew Mccarty
Kevin Davis
Kim Watkins
Ashley Humphrey
Corey Webb
Melissa Barrera
Juan Greene
货币
Faker生成器可以使用currency() 方法生成关于货币的假数据。
下面是一个这样的例子。
ourFake.currency()
输出。
('CUC', 'Cuban convertible peso')
你也可以使用Faker() 属性来生成关于加密货币的假数据。
ourFake.cryptocurrency()
输出。
('POT', 'PotCoin')
创建一个假的数据集
现在,让我们试着创建一个可用于机器学习的假数据集。
让我们假设为20个人生成数据集,包含他们的就业状况、工作类型、公司名称、住所等等。
我们将使用一个名为profile() 的标准提供者构建数据集,并将其保存在Pandas Dataframes中。
import pandas as pan
ourProfile = [ourFake.profile() for i in range(20)]
ourDataFrame = pan.DataFrame(ourProfile)
print(ourDataFrame)

让我们了解更多关于提供者的信息。
在提供者的协助下,组装项目变得更加容易。通过调用提供者来创建一个对象,就像调用一个函数一样。
服务提供者负责检索并将底层依赖关系注入新生成的数据中。
提供者包括许多有价值的属性,如names() 和address() 。许多标准的提供者是基本的,比如互联网和一个人,而其他的是社区创造的,比如音乐。
其他虚拟数据创建方法
它们如下。
使用NumPy的random()
伪随机数可以用随机包函数生成,如rand() ,randint() ,以及更多。
import numpy as num
myArray = num.random.rand(5)
print("Array : \n", myArray);
输出。
Array :
[0.02471149 0.41561035 0.76783821 0.89628689 0.8540258 ]
Fauxfactory
使用FauxFactory的随机数据生成器,自动测试变得更加容易。当为你的应用程序构建测试时,你可能需要为你测试的部分提供随机的、非特定的数据。
为了快速测试你的代码,你可以随时使用这个功能。
关于假数据还有几句话
高度相互关联的属性,可以预测彼此的值,这被称为[虚拟变量陷阱]。
如果你有许多高度关联的特征(多线性),就可以避免虚拟变量陷阱。
当回归模型中两个或多个独立变量之间的相关性高得惊人时,就会出现多重共线性。
结论
我们能够使用faker,一个Python库来生成各种类型的假数据。在过去,我们学习了如何创建虚构的数据,如姓名、地址和货币数据。
在对供应商的调查中,我们发现有可能创建特定地点的数据。
我们还学习了如何为训练你的机器学习模型生成假数据集。
如果你在测试你的应用程序时遵循这些信息,你将节省大量的时间和精力。