in

Genere su conjunto de datos de muestra: una habilidad imprescindible para los científicos de datos.

Genere su conjunto de datos de muestra: una habilidad imprescindible para los científicos de datos.

flo.tausend

17 abr 2020·6 min de lectura

Una cosa es crear diapositivas de PowerPoint y hablar teóricamente sobre lo que hará con los datos. Pero otra es crear un conjunto de datos de muestra y presentar un tablero, visualización o modelo de datos que ya está funcionando. Si bien se pueden encontrar muchos conjuntos de datos de muestra en Internet, a menudo no se ajustan exactamente a sus necesidades. Por lo tanto, al final de este artículo, sabrá cómo crear un hermoso conjunto de datos CSV de muestra para sus propósitos específicos. Una vez que el código está configurado en un cuaderno de Jupyter, puede usarlo una y otra vez.

¿Cómo generaremos nuestro conjunto de datos de muestra?

Como resultado final se desea un conjunto de datos CSV de muestra con varias variables como números, monedas, fechas, nombres y cadenas. Estas variables tienen diferentes tipos y son independientes o relacionadas entre sí. Para comenzar, es crucial comprender cómo podemos usar funciones “aleatorias” básicas para generar nuestro conjunto de datos de muestra. Luego, combinaremos las variables en un marco de datos. Para nuestro propósito, el marco de datos finalmente se exportará como CSV. CSV es un formato bastante fácil de conectar con varias herramientas y suficiente para realizar muestreos.

Herramienta que usamos

Herramientas para crear un conjunto de datos sampel.

Lo bueno es que principalmente necesitamos acceso a Python y usamos algunas de sus bibliotecas y herramientas. En primer lugar usamos Jupyter Notebook, una aplicación de código abierto para codificación en vivo y que nos permite contar una historia con el código. En nuestro caso, simplifica la adaptación y solo usa algunos elementos de código más adelante. Además usamos NumPy, y especialmente la función aleatoria de NumPy para generar nuestras variables. Si bien esta es una opción, una biblioteca muy conveniente llamada pydbgen nos ayuda a acelerar la generación de nuestro conjunto de datos de muestra. Además, importamos Pandas, lo que coloca nuestros datos en una estructura fácil de usar para el análisis y la transformación de datos.

Funciones básicas para datos aleatorios

  1. «aleatorio.» módulo
    El módulo más utilizado para crear números aleatorios con Python es probablemente el módulo aleatorio con la función random.random (). Al importar el módulo y llamar a la función, se generará un flotante entre 0.0 y 1.0 como se ve en el código a continuación.
>>>import random>>>random.random()
0.18215964678315466

Además, existe la opción de establecer una semilla. Esto nos permite reproducir los números aleatorios generados en el código.

>>> random.seed(123)
>>> random.random()
0.052363598850944326
>>> random.seed(123)
>>> random.random()
0.052363598850944326

Si hay un rango específico que desea considerar para sus números flotantes o enteros, puede definir los parámetros de las funciones como se hace a continuación.

>>> random.randint(10,100)
21
>>> random.uniform(10,100)
79.20607497283636

2. Fechas
Si bien estamos familiarizados con el método aleatorio, ahora podemos aplicar el conocimiento para crear fechas aleatorias en nuestro conjunto de datos de muestra.

>>> import numpy as np>>> monthly_days = np.arange(0, 30)
>>> base_date = np.datetime64('2020-01-01')
>>> random_date = base_date + np.random.choice(monthly_days)
>>> print(random_date)
2020-01-07

Hay infinitas variaciones para ajustar este código. Cambie el rango de días mensuales a bimensual o anual. Y, por supuesto, la fecha base debe ajustarse a sus necesidades.

3. Cuerdas
Si bien tenemos números y fechas aleatorios para nuestro conjunto de datos de muestra, es hora de mirar las cadenas. Al mirar la función randomString a continuación, la variable «letras» contiene todo el alfabeto en minúsculas. Con la ayuda del método «aleatorio», se crea un número aleatorio y se le asigna una letra. ¡Tan fácil como eso!

import random
import string
def randomString(stringLength=15):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(stringLength))
print ("The generated string is", randomString())The generated string is celwcujpdcdppzx

4. Nombres
Si bien nuestro conjunto de datos de muestra se basaba anteriormente en el método aleatorio, no es posible generar expresiones que tengan sentido simplemente juntando cosas al azar. Por lo tanto, usamos el paquete de nombres disponible en PyPi. El paquete es realmente conveniente y ofrece varias opciones para extraer, como se muestra en el fragmento a continuación.

>>> import names
>>> names.get_full_name()
‘Margaret Wigfield’
>>> names.get_first_name(gender='female')
'Patricia'

5. Ubicaciones, números de teléfono, dirección o mensaje de texto
Después de una breve introducción a los principios de la asignación al azar con «aleatorio». Como método básico, probablemente sea digno de mención que existen paquetes completos que cubren la mayoría de sus necesidades. La instalación es simple a través de pip y puede encontrar toda la información necesaria en el repositorio de Github. Hay dos muy útiles que definitivamente vale la pena mencionar:

  • Farsante
  • pydbgen (utiliza parcialmente Faker para algunos tipos de datos)

6. ¿Qué pasa con los datos de muestra para el aprendizaje automático?
Cuando se trata de problemas de aprendizaje automático, el trabajo no se termina generando generando datos aleatorios. En la mayoría de los casos, desea alguna correlación o relación entre las variables / características de su conjunto de datos de muestra. Scikit te permite crear esos conjuntos de datos en segundos. Eche un vistazo al código de muestra a continuación:

import pandas as pd
from sklearn.datasets import make_regression
# Generate fetures, outputs, and true coefficient of 100 samples
features, output, coef = make_regression(n_samples = 100,
# three features
n_features = 3,
# two features are useful,
n_informative = 2,
# one target
n_targets = 1,
# 0.0 standard deviation
noise = 0.0,
# show the true coefficient
coef = True)
# View the features of the first 10 rows
pd.DataFrame(features, columns=['Customer A', 'Customer B', 'Customer C']).head(10)
# View the output of the first 10 rows
pd.DataFrame(output, columns=['Sales']).head(10)
# View the actual, true coefficients used to generate the data
pd.DataFrame(coef, columns=['Coefficient Values'])

Genere y exporte su conjunto de datos de muestra CSV

Después de explorar, jugar y generar nuestros conjuntos de datos de muestra, finalmente queremos exportarlos y hacer uso de ellos. Si bien no hay limitaciones en el formato de archivo, ya que no tenemos una gran cantidad de datos y queremos conectar el conjunto de datos en varias herramientas, un simple archivo CSV es bastante conveniente para ese uso. Pero primero se debe crear un marco de datos.

import pandas as pd
import numpy as np
import random
#using numpy's randint
df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)), columns=list('ABCD'))
# create a new column
df['AminusB'] = df['A'] - (0.1 * df['B'])
df['names'] = 'Laura'
df.head(5)
1* JfAaNfaWPlNdLV4WkdkvA

Si bien hemos generado algunos números aleatorios relacionados y no relacionados, la columna del nombre es la misma en cada fila. Para obtener nombres aleatorios, tenemos que iterar sobre las filas y usar nuestro generador de nombres aleatorios.

import namesfor index, row in df.iterrows():
df.at[index,'names'] = names.get_first_name(gender='female')

df.head(5)

Tenga en cuenta que, en lugar de nombres, puede utilizar cualquier otro paquete o método para crear su conjunto de datos CSV de muestra. No existen limitaciones. Ahora, exportémoslo como CSV y listo.

#Export to csvexport_csv = df.to_csv (r'/Users/SampleDataset.csv', header=True) #Don't forget to add '.csv' at the end of the path

Lo lograste – ¡Felicidades! Ahora comienza la parte más emocionante y puede comenzar a trabajar con su conjunto de datos de muestra CSV generado. Buena suerte.

************************************************ ************

Artículos que también puede disfrutar leer:

Mantenimiento predictivo: aprendizaje automático vs basado en reglas

Práctica: segmentación de clientes

Configure su entorno de datos

Engañoso con datos y estadísticas

Aprenda a predecir la pérdida de clientes

************************************************ *************

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

TV con Netflix y luz roja de fondo

¿Cómo puedo cambiar mi plan de Netflix de forma rápida y sencilla?

dbsat21summary

Herramienta de evaluación de la seguridad de la base de datos