#MLNET – Guardando y reutilizando modelos con Machine Learning .Net

Buenas!

Hoy post rápido que el código se explica por si solo.

En primer lugar, basado en los posts anteriores, el proceso de definir y entrenar el modelo. Lo importante sucede en líneas 15 y 16, donde se graba el modelo.

Y luego otro proyecto, donde se utiliza el modelo grabado. Atención a las líneas 18 a 21, a partir de allí la forma de utilizar el modelo es el mismo.

Happy Coding!

Greetings @ Toronto

El Bruno

References

My Posts

Advertisements

#MLNET – Understanding the step by step of Hello World

Hi!

Today while we were recording a a podcast on ML.Net, one question arose about how the data is processed in Machine Learning .Net. Well, let’s go back to my previous example that believes in the past post and let’s see step by step this.

In short, these are the steps to train a model and make a prediction:

  • We created a Machine Learning Pipeline
  • We load in memory a data file that we will use to train our model
  • We work on the columns, defining Labels and Features
  • We train the modelUsing the model we make a prediction about a new data set

As well, to know a little what happens in each of these steps let’s see the following debugging points in Visual Studio 2017.

Once we have created the Pipeline and loaded the initial data file, we can see that it has a series of columns and rows. In this case, the definition of the columns is obtained from the class [AgeRangeData] which is the type that we define for the data load

.

I1

In the rows, we can see that we have the values ​​separated by a [|], with the data of the original CSV.

In the next step, we define that the Label work column will be treated as a dictionary. This step converts all the values ​​of this column into numeric and then work with them.

I2

Line, 17, in this step the Features are defined. In this case, it is an aggregation of the [AgeStart] and [AgeEnd] columns. In the following image we can see how the Pipeline, adds these values ​​at the end of each row and is also added as a new column.

I3

At this point we have all the data ready to choose a learning algorithm and train our model.

I4

In subsequent posts I will comment on other scenarios in which we can use ML.Net.

Happy Coding!

Greetings @ Toronto

El Bruno

References

My Posts

#MLNET – Entendiendo el paso a paso del Hola Mundo

Buenas!

Hoy mientras grabábamos un podcast sobre ML.Net, surgió la pregunta sobre cómo se procesan los datos en Machine Learning .Net. Pues bien, volvamos al ejemplo anterior que cree en el post pasado y veamos el paso a paso de este.

Resumiendo, y mucho, estos son los pasos para entrenar un modelo y realizar una predicción:

  • Creamos una Machine Learning Pipeline
  • Cargamos en memoria un archivo de datos que utilizaremos para entrenar nuestro modelo
  • Trabajamos sobre las columnas, definiendo Labels y Features
  • Entrenamos el modelo
  • Utilizando el modelo realizamos una predicción sobre un nuevo set de datos

Pues bien, para conocer un poco lo que sucede en cada uno de estos pasos veamos los siguientes puntos de depuración

Una vez que tenemos creado el Pipeline y cargado el archivo de datos inicial, podemos ver que el mismo posee una serie de columnas y filas. En este caso, la definición de las columnas se obtiene de la clase [AgeRangeData] que es el tipo que definimos para la carga de datos.

I1

En las filas, podemos ver que tenemos los valores separados por un [|], con los datos del CSV original.

En el siguiente paso, definimos que la columna de trabajo Label será tratada como un diccionario. Este paso convierte todos los valores de esta columna en numéricos para luego poder trabajar con los mismos.

I2

Linea, 17, en este paso se definen las Features. En este caso, es una agregación de las columnas [AgeStart] y [AgeEnd]. En la siguiente imagen podemos ver como el Pipeline, agrega estos valores al final de cada fila y se agregan también como una nueva columna.

I3

En este punto ya tenemos todos los datos preparados para elegir un algoritmo de aprendizaje y entrenar nuestro modelo.

I4

En siguientes posts comentare otros escenarios en los que podemos utilizar ML.Net.

Happy Coding!

Saludos @ Toronto

El Bruno

References

My Posts

#MLNET – Hello World in ML.Net, Machine Learning for .Net !

Hi!

I can not wait to start writing a little more about ML.Net. For now just a couple of code snippets to show how simple and fast it can be

Starting with a set of data with ages to classify babies and kids, in a CSV file. All based on my personal criteria

And now a little magic with ML. A .Net Core Console application where we create a LearningPipeline and train it with the previous CSV information

Below we check a couple of predictions with Age Ranges that are not part of the original CSV

I1

Happy coding!

Greetings @ Burlington

El Bruno

References

 

#MLNET – Hola Mundo con ML.Net, Machine Learning for .Net !

Buenas!

No puedo esperar a empezar a escribir un poco mas al respecto sobre ML.Net. Por ahora solo un par de code snippets para demostrar lo simple y rápido que puede ser

Comenzando con un set de datos con edades para clasificar babies y kids, en un archivo CSV. Todo basado en mi criterio personal

Y ahora un poco de magia con ML. Una aplicación de Consola en donde creamos un LEarningPipeline y lo entrenamos con la información de CSV

A continuación verificamos un par de predicciones con Age Ranges que no son parte del CSV original

I1

Happy coding!

Saludos @ Burlington

El Bruno

References