Si vous faites de l'apprentissage automatique, etc., vous devrez préparer des données d'entraînement. Ce serait bien si nous pouvions préparer les données réelles, mais il existe de nombreux cas où il est difficile d'obtenir ou la quantité de données est insuffisante. Dans un tel cas, je pense que le flux sera de créer des données factices et d'augmenter la quantité de données.
Cette fois, j'utiliserai la bibliothèque ** faker ** de Python pour créer diverses données factices.
L'environnement utilise Google Colaboratory. La version Python est ci-dessous.
import platform
print("python " + platform.python_version())
# python 3.6.9
De plus, il est nécessaire d'installer à l'avance la bibliothèque faker qui crée des données factices.
pip install faker
Maintenant écrivons le code.
Tout d'abord, importez le simulateur de bibliothèque qui crée des données factices. Assurez-vous également de cibler les données japonaises.
from faker import Faker
fake = Faker('ja_JP')
Tout d'abord, créons des données factices pour l'adresse. J'ai essayé d'afficher 5 données.
[fake.address() for _ in range(5)]
# ['36-21-10 Koiri, Takatsu-ku, Kawasaki-shi, Palais Miyagi Shiba Daimon 824',
# '17-11-18 Nishikanda, Nakano-ku, préfecture de Kagawa Otagaya Crest 528',
# '6-10-4 Tono, Katsushika-ku, Hiroshima',
# '24-17-14 Teoka, Ko-ku, Kawasaki-shi, Kumamoto Heights Yumiya 667',
# '34-12-7 Kuramae, Inba-mura, Inba-gun, Oita Prefecture Corp. Hyakumura 228']
Vous pouvez créer des données d'adresse avec fake.address ().
Vous pouvez également créer des données pour d'autres adresses.
#Préfectures
[fake.prefecture() for _ in range(5)]
# ['Préfecture d'Okinawa', 'Kyoto', 'Préfecture de Tochigi', 'Préfecture de Saga', 'Préfecture d'Hiroshima']
#Municipalité
[fake.city() for _ in range(5)]
# ['Naka-ku, Yokohama', 'Ville de Hamura', 'Village de Toshishima', 'Ville de Mitaka', 'Miyakejima Miyakemura']
#Nom de la zone
[fake.town() for _ in range(5)]
# ['Chanceux', 'Tsurugaoka', 'Nishikawa', 'Iriya', 'Ville de Haori']
#Nom du bâtiment
[fake.building_name() for _ in range(5)]
# ['Sharm', 'manteau', 'Sharm', 'parc', 'Urbain']
Ensuite, créons des données factices pour le nom. Les données de nom peuvent être créées en kanji, katakana et romaji.
Commençons par créer des données de nom pour les kanji.
#Nom (Kanji)
[fake.name() for _ in range(5)]
# ['Chiyo Nakatsugawa', 'Yuta Wakamatsu', 'Kaori Kudo', 'Kana Uno', 'Yoko Hirokawa']
#Nom (Kanji, homme)
[fake.name_male() for _ in range(5)]
# ['Ryohei Sasaki', 'Atsushi Sato', 'Shota Sasaki', 'Kenichi Kato', 'Ryohei Aoyama']
#Nom (Kanji, femme)
[fake.name_female() for _ in range(5)]
# ['Akemi Inoue', 'Kaori Matsumoto', 'Tomomi Wakamatsu', 'Haruka Takahashi', 'Hanako Sugiyama']
#Nom (Kanji)
[fake.last_name() for _ in range(5)]
# ['Matsumoto', 'Kondo', 'Fujimoto', 'Murayama', 'Kato']
#Prénom (Kanji)
[fake.first_name() for _ in range(5)]
# ['Minoru', 'zéro', 'Hanako', 'Ryosuke', 'Kaori']
#Prénom (Kanji, homme)
[fake.first_name_male() for _ in range(5)]
# ['Hiroki', 'Naoto', 'Atsushi', 'Naoki', 'Akira']
#Prénom (Kanji, femme)
[fake.first_name_female() for _ in range(5)]
# ['Danse', 'Mikako', 'Tomomi', 'Akemi', 'Akemi']
Ensuite, créons les données de nom Katakana.
#Nom (Katakana)
[fake.kana_name() for _ in range(5)]
# ['Yui Ogaki', 'Harada Takuma', 'Nakamura Tsubasa', 'Sayuri Yamada', 'Tsuchiya Soutaro']
#Nom (katakana)
[fake.last_kana_name() for _ in range(5)]
# ['Miyake', 'Kanou', 'Kudo', 'Harada', 'Aota']
#Prénom (katakana)
[fake.first_kana_name() for _ in range(5)]
# ['Maaya', 'Naoko', 'Miki', 'Kenichi', 'Yasuhiro']
#Prénom (katakana, homme)
[fake.first_kana_name_male() for _ in range(5)]
# ['Manab', 'Manab', 'Yasuhiro', 'Kenichi', 'Atsushi']
#Prénom (katakana, femme)
[fake.first_kana_name_female() for _ in range(5)]
# ['Tomomi', 'Sayuri', 'Asuka', 'Tsubasa', 'Yui']
À la fin des données de nom, créons-en une en caractères romains.
#Nom (Romaji)
[fake.romanized_name() for _ in range(5)]
# ['Akira Nakamura','Ryosuke Yamada','Yui Takahashi','Maaya Ogaki','Mituru Fujimoto']
#Nom (Romaji)
[fake.last_romanized_name() for _ in range(5)]
# ['Tsuda', 'Tsuchiya', 'Yamada', 'Nakatsugawa', 'Nakamura']
#Prénom (Romaji)
[fake.first_romanized_name() for _ in range(5)]
# ['Mai', 'Manabu', 'Nanaka', 'Kenichi', 'Taro']
#Prénom (Romaji, homme)
[fake.first_romanized_name_male() for _ in range(5)]
# ['Tomoya', 'Hiroshi', 'Taichi', 'Mituru', 'Manabu']
#Prénom (Romaji, femme)
[fake.first_romanized_name_female() for _ in range(5)]
# ['Haruka', 'Maaya', 'Kaori', 'Kumiko', 'Yoko']
Nous avons créé des données d'adresse et de nom, mais vous pouvez également créer d'autres données. En voici quelques uns.
#Nom de la compagnie
[fake.company() for _ in range(5)]
# ['Harada Gas Co., Ltd.', 'Sasada Mining Co., Ltd.', 'Miyake Gas Co., Ltd.', 'Kudo Construction Co., Ltd.', 'Kobayashi Fisheries Co., Ltd.']
#industrie
[fake.company_category() for _ in range(5)]
# ['gaz', 'impression', 'Banque', 'Nourriture', 'Assurance']
#Métier
[fake.job() for _ in range(5)]
# ['Guide de bus', 'Esthéticienne', 'Planificateur de mariage', 'diseuse de bonne aventure', 'pharmacien']
#mot
[fake.word() for _ in range(5)]
# ['tisser', 'Université', 'Interprète', 'aujourd'hui', 'Pour moderniser']
Cette fois, j'ai utilisé Python faker pour créer diverses données factices.
Lors de la préparation de données pour l'apprentissage automatique, etc., je pense que les données réelles ne suffisent souvent pas. Dans un tel cas, je pense que des données factices seront utiles.
En plus de ceux présentés ici, faker vous permet de créer diverses données factices. Pour plus de détails, veuillez vous référer à la page suivante. https://faker.readthedocs.io/en/master/locales/ja_JP.html
Recommended Posts