#MLNET – Analizando datos de la Pipeline con la nueva version API 0.6.0 (gracias LINQ!)

Buenas!

El cambio en la forma en la que las Pipelines trabajan en la version 0.6.0 de Machine Learning.Net, también requiere que el código se modifique un poco si queremos ver como se procesan los datos durante cada uno de los pasos de la Pipeline.

Retomando el ejemplo del post anterior, voy a trabajar con la siguiente estructura de datos.

01 mlnet age range data

En la línea 21, créate una vista temporal de datos con el siguiente código

que me permitirá analizar los mismos directamente en el IDE en modo de depuración, o inclusive guardarlos en archivos temporales para estudiar los mismos

02 MLNet temp view of pipeline data

Esto puede ser suficiente, sin embargo, al trabajar con una clase tipada con los 4 campos de mi set de datos, estoy obligando a mi App a cargar y mapear todos los datos en cada columna. En este ejemplo, el modelo generado permite generar una predicción del Label a partir del campo Age. De esta forma, podemos obviar la definición de las columnas Name y Gender en la carga.

Eso sí, nos encontraremos con el siguiente error

03 mlnet missing columns while loading data

System.InvalidOperationException

  HResult=0x80131509

  Message=Column ‘Name’ not found in the data view

  Source=Microsoft.ML.Api

Ya que, por defecto, la carga de datos intenta mapear todas las columnas. La solución es habilitar la opción para ignorar las columnas faltantes, como muestra el siguiente ejemplo.

04 mlnet ignore missing columns

Finalmente, si trabajamos con muchos datos, también podemos sacar provecho de Linq para solo analizar un subgrupo de filas

05 mlnet take only 3 elements

Happy coding!

Saludos @ Toronto

El Bruno

References

My Posts

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s