今日は、とても面白くなりそうなFakerモジュールについて学びます。
faker モジュールの紹介
Fakerモジュールは、名前、年齢、場所などのランダムな属性を含むランダムなデータを生成するために使用されます。
さて、なぜフェイクデータが必要なのでしょうか?データベースの欠損値をダミーデータで埋めるため、あるいは単純にアルゴリズムをテストするためにフェイクデータが必要になるかもしれません。
faker モジュールのインポート
faker ライブラリの様々な機能やメソッドを調べるには、まずそれをインポートする必要があります。
import faker library がエラーを投げる場合は、 pip
コマンドを使用してライブラリをインストールします。
ライブラリをインポートするには、以下のコードを使用します。
1
|
from faker import Faker
|
フェイクデータを作成する
フェイクデータを作成するには、まず Faker ライブラリの faker
オブジェクトを作成し、そのオブジェクトに様々な関数を適用してフェイクランダムデータを取得する必要があります。
以下のコードでは、faker.name
関数を使ってランダムな名前を出力しています。
1
2
|
faker = Faker()
print (faker.name())
|
より分かりやすくするために、同じ関数を使って5つのランダムな名前を表示してみましょう。
そのコードと出力は以下のとおりです。
1
2
3
|
faker = Faker()
for i in range ( 5 ):
print (faker.name())
|
上のコードの出力は以下のように表示されます。
Stephanie Rivera Gina Morgan Elizabeth Garcia Joanne Collier Jessica Berry |
異なる言語でフェイクデータを作成する
作成した Faker
オブジェクトに定義することで、異なる言語のフェイクデータを生成することもできる。
ここでは、ヒンディー語のデータを生成してみましょう。
そのためのコードを以下に示す。
1
2
3
|
faker1 = Faker( 'hi_IN' )
for i in range ( 5 ):
print (faker1.name())
|
ここで宣言した faker1
オブジェクトはヒンディー語です。
ですから、このオブジェクトを作成して、ダミーの名前を表示させると、次のように表示されます。
पाटिल, इशान लाला, जयदेव ऐश्वर्या लाला ललित गणेश चेतना मल्लिक |
フェイクテキストを生成する
同じオブジェクトを使って、text
関数を使って、テキストや文章を生成することができます。
そのためのコードを以下に示します。
1
2
|
faker = Faker()
print (faker.text())
|
その出力は以下のようになります。
Big thought American. Per red plan hundred language test. Language early bill citizen total if officer because. Example practice other street newspaper kid level. |
偽の表形式データを生成する
それでは、python の pandas
ライブラリの dataframes
という形式で、大量のデータを作成してみましょう。
複数の種類のデータを収集するために、作成されたフェイカーオブジェクトの profile
関数を使用します。
そのためのコードを以下に示します。
1
2
3
4
|
import pandas as pd
faker = Faker()
data = [faker.profile() for i in range ( 10 )]
df = pd.DataFrame(data)
|
作成したdataframeの最初の5つのデータを表示します。
その結果、以下のように表示されます。
この記事もチェック:PythonのPlotlyライブラリを使ってデータを地図上に表示させる方法
まとめ
この記事では、Fakerライブラリを使って、英語だけでなく様々な言語のフェイクデータを生成する方法を見ました。
同じモジュールを使って完全なデータセットを生成し、そのデータセットをMLモデルへの適用を含む様々な用途に使用することができます。
ご一読ありがとうございました。