Introducción al Machine Learning con MATLAB. Erik Cuevas Jiménez

Чтение книги онлайн.

Читать онлайн книгу Introducción al Machine Learning con MATLAB - Erik Cuevas Jiménez страница 9

Автор:
Серия:
Издательство:
Introducción al Machine Learning con MATLAB - Erik Cuevas Jiménez

Скачать книгу

o el valor promedio sobre observaciones similares.

      Predecir el valor de otros atributos: se puede predecir el valor anterior de los datos de entrada si el atributo posee dependencias de tiempo.

      Como se puede observar, el valor, o valores, puede faltar por muchas razones; por lo tanto, resulta importante entender por qué falta, está ausente o dañado para poder llenarlo correctamente.

      Llenado de valores faltantes en MATLAB

      Una vez importados los datos al entorno de MATLAB, se prosigue a presentar funciones y ejemplos de diferentes casos de aplicación sobre el llenado de valores faltantes. Los valores faltantes dependen del tipo de dato; a continuación, en la tabla 1.1, se puede observar el listado de los tipos de datos faltantes.

NaN(Not a Number) Para los datos de tipo real o punto flotante (double y single) y extensiones de tiempo (duration y calendarDuration)
NaT(Not a Time) Para los datos que involucran tiempo o fechas (datetime)
' ' Para datos de tipo carácter (char) vacíos
<missing> Para cadenas (string) vacías
{' '} Para arreglos de celdas con cadenas vacías
<undefined> Para datos categóricos (categorical) no definidos

      Con la función ismissing de MATLAB se indica qué elementos de una tabla, matriz o vector son valores faltantes. El resultado que entrega es una matriz o vector lógico del tamaño del argumento de entrada. Esta función tiene la siguiente sintaxis:

      DM = ismissing(V)

      El ejemplo de cómo utilizar la función ismissing es presentado en el algoritmo 1.1, donde se define un vector V con valores de tipo enteros y valores faltantes. La función ismissing procesa el argumento de entrada V y el resultado de este procesamiento se entrega en DM, que es un vector de la misma dimensión de V con valores lógicos:

       % Se define un vector con diferentes valores

       V = [3 NaN 5 6 7 NaN NaN 9];

       % Se ejecuta la función ismissing a los datos

       DM = ismissing(V)

       DM = 1x8 logical array

       0 1 0 0 0 1 1 0

      A continuación, se definirá la tabla de datos D1, que contendrá datos tabulares de diferentes tipos de datos. Mediante la función table, se unirán a estos vectores y columnas, obteniendo como resultado la tabla D1. Dicho ejemplo es presentado en el algoritmo 1.2:

       % Programa 1.2 para la Definición de una tabla en MatLAB

       % Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz

       % Vector de observaciones de tipo entero

       IntVar = [NaN;2;4;8;9;12;18;27];

       % Vector de observaciones de tipo real

       RealVar = single([1.1;NaN;5.2;7.3;9.4;11.5;16.6;21.7]);

       % Vector de observaciones de tipo Celda con cadenas

       celdcadVar = {'uno';'tres';'nueve';'siete';'diez';'doce';'veinte';'treinta'};

       % Vector de observaciones de tipo caracter

       caractVar = ['A';'B';'C';' ';'E';'F';'G';'H'];

       % Vector de observaciones de tipo categóricas

       categoVar = categorical({'rojo';'amarillo';'azul';'violeta';'';'morado';...

       'naranja';'blanco'});

       % Vector de observaciones de tipo fecha

       fechaVar = [datetime(2014:1:2018,7,20) NaT datetime(2017,8,26)...

       datetime(2017,10,8) ]';

       % Vector de observaciones de tipo cadena

       cadVar = ["a";"b";"c";"d";"e";"f";missing;"i"];

       % Se crea una tabla usando los vectores como columnas mediante table

       D1 = table(IntVar,RealVar,celdcadVar,caractVar,categoVar,fechaVar,cadVar)

      Para el siguiente ejemplo, se tomará la tabla de datos D1 que se definió en el algoritmo 1.2, donde la inspección de los datos que contiene la tabla D1 se observa en la figura 1.4. Para el siguiente ejemplo, se utilizará la función rmmissing para eliminar las observaciones con características faltantes de la tabla D1.

Illustration

      Figura 1.4. Inspección de datos correspondientes a la tabla D1.

      Como se puede observar, la tabla de datos D1 contiene una serie de valores faltantes en diferentes filas. La última observación es la única que no contiene valores faltantes. El ejemplo consiste en remover todas las observaciones o filas que contengan, al menos, un valor faltante; por lo tanto, cabe esperar que solo la última fila sea retornada como resultado en la variable R. Esta función tiene la siguiente sintaxis:

      R = rmmissing(D1)

      La ejecución de la función rmmissing con el argumento D1 entregará el resultado que se muestra en la figura 1.5.

Illustration

      Figura 1.5. Resultado de eliminar las instancias con valores faltantes en la tabla D1.

      Tratamiento de datos atípicos

      Los datos atípicos son los valores extremos que se presentan en ciertas observaciones; generalmente, es necesario tratarlos, ya sea eliminándolos o transformándolos. La función isoutlier de MATLAB toma un argumento de entrada, ya sea una tabla, matriz o vector D. Esta función devuelve una matriz o vector lógico AD, cuyos elementos verdaderos corresponden a la detección de valores atípicos. Esta función tiene la siguiente sintaxis:

      AD = isoutlier(D)

      Por

Скачать книгу