Procédure simple de création de données d'échantillons

Page d'accueil: https://program-board.com

motivation

Je voulais jouer avec divers échantillons de données cette fois, mais je sentais qu'il y avait une API que je pourrais facilement créer, mais le degré de liberté était faible, alors j'ai décidé de la créer moi-même.

module

Installez le module. Ici, nous utilisons des pandas, numpy et un module appelé faker qui peut facilement générer de fausses données.

pip install faker

À propos de Faker

Décrit l'utilisation de base de faker. Préparez-vous à générer de fausses données pour le japonais avec Faker ('ja_JP'). Après cela, essayez de générer tout type de données que vous aimez. Bien qu'elles soient en anglais, les données que Faker peut générer sont répertoriées sur le site suivant. https://www.nblog09.com/w/2019/01/24/python-faker/

Ici, le nom, la préfecture, l'entreprise, la date de naissance et la profession sont générés.

#Paramètres de fausses données japonais
from faker import Faker

#Paramètres de fausses données japonais
fakegen = Faker('ja_JP')

print(fakegen.name())#Nom
print(fakegen.prefecture())#Préfectures
print(fakegen.company()) #Compagnie
print(fakegen.date_of_birth()) #Anniversaire
print(fakegen.job()) #Métier

Génération de fausses données

Tout d'abord, générez de fausses données sur le nom, la date de naissance, l'adresse (préfecture), la profession et l'entreprise.

import numpy as np
import pandas as pd
from numpy.random import *
from faker import Faker

#Paramètres de fausses données japonais
fakegen = Faker('ja_JP')
faker_list = []
for i in range(1000):
    name = fakegen.name() #Nom
    pref = fakegen.prefecture() #Préfectures
    company = fakegen.company() #Compagnie
    birth = fakegen.date_of_birth() #Anniversaire
    job = fakegen.job() #Métier
    faker_list.append([name,pref,company,birth,job])

#Trame de données
df = pd.DataFrame(faker_list,columns=['Nom','adresse de rue','Compagnie','Anniversaire','Métier'])

Vous pouvez facilement le créer comme ça.

âge

Génère de fausses données d'âge. Ici, numpy est utilisé pour générer des données à partir de nombres aléatoires uniformément distribués de 15 à 85. Compte tenu des valeurs manquantes, seulement 800 sont créés ici. De plus, lors de la génération de valeurs manquantes pour d'autres éléments, la disposition des données est perturbée de sorte qu'elles ne se chevauchent pas sur la même ligne.

age_list = randint(15,85,800) #Distribution uniforme(limite inférieure,limite supérieure,Nombre de générations)
#Ajouter au bloc de données
df['âge'] = pd.DataFrame(age_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)

Revenu annuel / taille

Génère de fausses données sur le revenu annuel et la taille. Ici, numpy est utilisé pour déterminer les valeurs moyennes et de variance de manière appropriée, et les données sont générées à partir de la distribution normale.

#la taille
height_list = normal(170,6,900) #distribution normale(moyenne,Distribué,Nombre de générations)
height_list = np.round(height_list,decimals=0) #Arrêt entier
#Ajouter au bloc de données
df['la taille'] = pd.DataFrame(height_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)

#revenu annuel
income_list = normal(400,8,850) #distribution normale(moyenne,Distribué,Nombre de générations)
income_list = np.round(income_list,decimals=0) #Arrêt entier
#Ajouter au bloc de données
df['revenu annuel'] = pd.DataFrame(income_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)

mariage

Pour les fausses données de mariage, des nombres aléatoires sont générés à un taux fixe pour les options préparées par np.random.choice de numpy.

#sexe
mariage = ['Célibataire','marié','Séparation'] #Les choix
Weight = [0.4,0.3,0.3] #Pourcentage
mariage_list = np.random.choice(mariage,700,p=Weight) #np.random.choice(Les choix,Nombre de générations,Pourcentage)
#Ajouter au bloc de données
df['mariage'] = pd.DataFrame(mariage_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)
スクリーンショット-2019-11-19-3.53.49-1024x432.png

en conclusion

De fausses données ont été générées pour pratiquer l'analyse des données. Cependant, afin de générer des données pour la pratique de l'analyse, il est nécessaire de confirmer et d'exécuter le type et les paramètres de la distribution utilisée pour la génération.

référence

https://www.nblog09.com/w/2019/01/24/python-faker/ https://qiita.com/ogamiki/items/4821173ca713a6b77510

Recommended Posts

Procédure simple de création de données d'échantillons
procédure de création de la timonerie manylinux1
Exemple de données créées avec python
[Python] mémo de procédure de création virtualenv
Visualisez facilement vos données avec Python seaborn.
Procédure d'apprentissage automatique de base: ② Préparer les données
Téléchargez des exemples de données avant d'exécuter Bokeh