Manteniendo sus datos tan frescos y tan limpios

Nov 29 2022
Una lista de reproducción para Squeaky Clean Data He estado consumiendo mucho contenido de análisis y ciencia de datos, y una de las principales conclusiones que he encontrado es que no hay un modelo que pueda construir que brinde información procesable si lo alimenta con datos basura. Uno de mis instructores sostiene que lo primero que deben aprender los novatos es el principio GIGO.

Una lista de reproducción para datos absolutamente limpios

Foto de Marcela Laskoski en Unsplash

He estado consumiendo una gran cantidad de contenido de análisis y ciencia de datos, y una de las principales conclusiones que he encontrado es que no hay un modelo que pueda crear que brinde información procesable si lo alimenta con datos basura. Uno de mis instructores sostiene que lo primero que deben aprender los novatos es el principio GIGO. Bueno, lo expresaría de manera más sucinta y diría que sería mejor pasar el 80% de su tiempo limpiando sus datos en lugar de construir un modelo brillante que alimenta con Basura.

El principio GIGO (Garbage In = Garbage Out) sostiene que los modelos son similares a los humanos y son lo que consumen. Además, si alimenta su modelo con datos sin refinar, puede esperar que sus métricas se vean atenuadas por las imprecisiones que se acumulan a lo largo de su canalización de datos.

Con esto en mente, creé una lista de reproducción para mantener mi mente enfocada mientras limpiaba datos y pensé que podría resultarle útil si es nuevo en la investigación de datos como yo.

Comencemos con los datos que están en .csvformato de archivo, y también hemos importado todas las bibliotecas y paquetes de visualización necesarios para construir un modelo.

Entonces, mi primer paso típico es crear un marco de datos llamado dfque uso pd.read_csvpara crear.

df = pd.read_csv('myfile.csv', index_col = 0)

Después de tener un marco de datos inicial, limpio los datos. La canción inicial en mi lista que normalmente escucho mientras leo el .csvarchivo y creo mi marco de datos inicial es:

El dorado de Jill Scott

Limpieza de datos

Para limpiar datos, a menudo paso mucho tiempo:

  • Eliminación de duplicados: los duplicados ocupan espacio, pueden ralentizar la implementación de modelos y pueden dar lugar a conocimientos erróneos.
  • Reemplazo de valores faltantes: si bien no existe una forma óptima de lidiar con los valores faltantes, aprender a manejar los valores faltantes es una habilidad que los nerds de datos en ciernes deberían desarrollar.
  • Reemplazo de valores de marcador de posición: marcadores de posición como: '—,' NAN', '?' y '#' entorpecen constantemente los trabajos y conducen a errores tanto visibles como no vistos en el análisis. Si tiene suerte, abundan los mensajes de error; si tiene mucha mala suerte, lo nota después de intentar visualizar la correlación entre las variables dependientes e independientes y obtiene gráficos notablemente improbables.
  • Conversión de tipos de datos a tipos de datos más apropiados: a menudo, esto aparece cuando ingenuamente he estado tratando una variable categórica (piense en algo con un número fijo de valores) como si fuera continua (algo que puede tener cualquier valor entre un mínimo y un máximo) .

Miro la forma del marco de datos, más o menos necesito saber con cuántas filas y columnas estoy trabajando y necesito discutir para enviarlo. Mientras toco con el legendario vocalista de Filadelfia, Pensilvania, uso lo siguiente:

  • df.shape— Revisar las dimensiones de los datos
  • df.info()— Revisar un resumen conciso de los datos
  • df.head()— Revise las primeras cinco filas de los datos (puede aumentar este número agregando un número n dentro de los paréntesis, por ejemplo df.head(10), obtendrá las primeras diez filas de los datos.

Una vez que he aprendido las características básicas de los datos, verifico el marco de datos completo en busca de marcadores de posición, a menudo con algo parecido a lo siguiente:

df.isin['?', '#', 'NaN', 'null', 'N/A', '-']).any()

Por lo general, esto es cuando empiezo a escuchar a los artistas de reggae de la vieja escuela como Baby Cham, Capleton y Sean Paul, que me traen la nostalgia de mis proyectos de secundaria en el laboratorio de física con el Sr. Green, quien tenía la mejor banda sonora de reggae rítmico en finales de los 90 en el East Side de New Providence sin excepción.

Revisión de los cambios

Después de identificar los marcadores de posición, uso pasos como este mientras toco Reggae de la vieja escuela:

df['column_with_placeholder'] = pd.to_numeric(df['column_with_placeholder'], errors = "coerce")

Manteniendo el ritmo

Por lo general, hago la transición a los atascos sucios del Sur mientras elimino los duplicados y decido si quitaré filas del marco de datos con valores nulos o los reemplazaré con la mediana o el modo. Mis artistas favoritos en ese género son de la familia Dungeon.

Mi lista de reproducción normalmente se ve así:

  1. Jill Scott - Dorado
  2. Baby Cham con Alicia Keys - Ghetto Story
  3. Wayne Wonder - Sin dejar ir
  4. Sean Paul — Temperatura
  5. Beenie Man —Romie
  6. Familia de mazmorras — Excalibur
  7. Erykah Badu - Una y otra vez
  8. Outkast - ¡Hola, ya!
  9. Outkast — Rosa Parks
  10. Lauryn Hill — Ex Factor

Me gustaría incorporar más flexibilidad y variedad a mi lista de reproducción:

  • ¿Cómo uso la ciencia de datos para crear una mejor lista de reproducción?
  • Actualmente estoy trabajando en la creación de una herramienta de planificación de viajes para ayudar con mi próximo viaje a las Bahamas para ayudar a celebrar nuestro 50.º año de Independencia.

Si desea estar actualizado con mis últimos artículos, sígame en Medium . También puede conectarse conmigo en LinkedIn o enviarme un correo electrónico a [email protected].