Entradas

Mostrando las entradas etiquetadas como Ingeniería de datos

Extraer propiedades de los datos .csv para saber cada dato si es string, entero, vacío, numérico, fecha, ip, ....

Imagen
Clase en php para limpiar los valores y extraer sus propiedades dentro de un .csv (tipo string, entero, decimal, vacío, fecha, .....) Hoy os traigo una clase en php que he realizado para extraer las propiedades de los datos de un fichero .csv. Esta clase es útil para el proceso de limpieza de datasets antes de utilizar las redes neuronales en machine learning. La clase se llama row-math-ml-csv y se puede descargar desde github.com o desde phpclasses.org . Con ella podemos extrar las siguientes características de cualquier valor de una fila de nuestro dataset: 'empty': El campo está vacío. No tiene ningún valor o bien contiene '-' 'empty_null': El campo contiene un valor NULL 'empty_nan': El campo contiene un valor numérico no válido NA ó NAN 'empty_anyway': Nos sirve para saber si está vació de cualquier manera anterior. Estos campos nos sirven para estar alerta si nuestro dataset contiene datos vacíos o nulos y poder actuar en ellos. 'strin...

Visualización en tabla para detectar datos incorrectos y limpiar los datasets antes de realizar el Deep Learning (aprendizaje profundo) en PHP

Imagen
  Clase en PHP para visualizar la estructura de datos, preparar y limpiar el dataset antes del Deep Learning Los datos que facilitamos a nuestros modelos de redes neuronales deben de estar impecables, tal y como explicaba en el artículo de Ingeniería de datos para el Machine Learning . No vale con que le demos los datos a nuestro modelo de red neuronal tal cual lo importamos. Nos podemos encontrar con: - Campos vacíos: '' ó '-' - Campos Nulos: null - Campos numéricos erróneos: 'na' ó 'nan' - Valores numéricos 0. Puede ser que falten datos o que realmente sean correctos - Fechas que podemos separar en sub features - Otros campos que podemos separar en sub features, como por ejemplo una IP o códigos de paises 'es', 'de', 'fr',…. - Campos en texto donde el sistema no podrá aprender nada y deberemos eliminarlos o cambiarlos. En definitiva, todo se reduce en tener bajo nuestro control todos los datos, que no se nos escape un dato incoh...

Ingeniería de datos. Como saber qué características o features dar como Inputs a nuestras redes neuronales

Imagen
Una característica es una propiedad que se puede medir de un fenómeno (según la wikipedia ). Partiendo de esta definición totalmente acertada, os enseñaré cómo debemos preparar nuestros datos para crear un buen dataset, antes de empezar a trabajar con los modelos de redes neuronales para no tener datos inútiles, que el sistema no pueda manejar o que entorpezcan lo que tendría que ser un entrenamiento fluido y natural de nuestra red neuronal optimizado al máximo. Quizás lo primero que se nos pasa por la cabeza es..... tengo un listado de artículos con precios, características, etc..... con muuuuuuuchos datos. Mientras más datos le de a la red neuronal mejor, no? así que le paso todos mis datos tal cual a mi red neuronal y que se espabile, a ver qué soluciones me da. Se trata de inteligencia artificial y para esto está, porque es inteligente y ya sabrá qué hacer con todos estos datos. No era tan difícil no? Que bueno soy y qué culito tengo!!!!. ERROR!!!!! Si creías que todo iba a ser un ...