Técnicas y algoritmos esenciales
Construir su caja de herramientas
Como introducción a este capítulo, vamos a enumerar brevemente lo que es difícil de hacer sin trabajar sus datos con R y sacar algo de ello:
-
Un panel de técnicas de visualización para comprender los datos, preparar la acción y controlar visualmente el resultado de su trabajo.
-
Puntos de referencia teóricos para orientarse en las elecciones técnicas, algunos buenos algoritmos de clasificación, regresión y agrupamiento.
Este es prácticamente el plan de este capítulo.
De hecho, gracias a los capítulos anteriores, ya tenemos un kit muy respetable sobre algunos de estos aspectos:
-
En relación con el aspecto gráfico: plots, diagramas por pares, histogramas, densidad, diagramas de caja, «facetas» por clase, 3D, curvas de nivel/contorno, visualización interactiva multiventana, etc.
-
Respecto a la clasificación y regresión: varios indicadores y pruebas, árbol de decisión, regresión lineal multivariante y Random Forest.
-
Y como extra adicional, muchas técnicas que le permiten dar forma a los datos como desee: leer archivos CSV procesando los datos ausentes, transformar columnas y filas, seleccionar, ordenar y agregar filas, realizar numerosos cálculos para comprender los datos, manipular datos textuales, etc.
Ahora vamos a explorar técnicas complementarias a las que ya hemos estudiado....
Representación gráfica de los datos
En esta sección, se va a invocar de manera regular el paquete ggplot2, cuya sintaxis pretende ser una «gramática gráfica». Muchos parámetros de esta gramática son comunes a los del paquete base de R.
Los ejemplos se realizan sobre conjuntos de datos que ya hemos utilizado anteriormente y están disponibles en el sitio complementario del libro.
Vamos a abordar la forma y la sintaxis de diferentes grafos e intentaremos interpretarlos de manera concisa.
1. Un gráfico «simple»
La forma de construir un gráfico que vamos a ver ahora es interesante: es un proceso que se basa en una gramática gráfica que vamos a explorar paso a paso.
Estos gráficos se construirán de forma estructurada, globalmente:
-
carga de datos en una estructura gráfica,
-
creación de un conjunto de argumentos,
-
adición de representaciones gráficas por capas sucesivas (de geometrías diversas),
-
si es necesario, agregando un tema que transforme el conjunto,
-
visualización de gráficos.
Carguemos el paquete.
library(ggplot2)
Construyamos nuestro primer gráfico y el más útil: un «scatterplot» con una regresión alrededor de su zona de confort. Usamos un data.frame que ya hemos utilizado anteriormente, cuyas variables numéricas van de v1 a v12, y que incluye una variable «factor» que se llama «clase».
## trabajo sobre la gramática de ggplot2 ##
## un grafo sencillo: v11 en función de v7 con regresión ##
p <- ggplot(data=df2) # elegimos su dataset
a1<- aes(x=v7,y=v11) # lista de variables y argumentos
# creación del plot p1
p1<- p+ # al menos un argumento geométrico:
geom_point(a1, # vemos los puntos
col = "blue", # azules
pch = 5) ...
Machine learning: prácticas habituales
1. Recorrido teórico acelerado
Ahora estamos familiarizados con una serie de conceptos y notaciones, que hemos abordado a través de experimentos y descubrimientos empíricos sucesivos. Vamos a recolocar parte de esta información en un marco teórico simplificado para brindarle una descripción general rápida del diseño del campo teórico común a los profesionales del machine learning. La mayoría de las veces tomaremos el punto de vista del aprendizaje supervisado (y con una pequeña tendencia a favorecer la clasificación sobre la regresión del aprendizaje supervisado, porque esta última es más didáctica).
Advertencia: como en otras partes del libro, se describen nociones matemáticas, pero no se describen de manera formal, como lo haría un matemático. Por ejemplo, no se explicitan formalmente los cuantificadores matemáticos o las definiciones precisas de los espacios a los que pertenecen determinadas variables y funciones, así como sus dominios de definición o imágenes. De esta manera, evitamos, por ejemplo, definir nociones como el espacio de Hilbert o las resultantes de la teoría de la medida, etc. Para obtener definiciones «rigurosas», consulte los sitios web que citamos en la introducción del libro.
a. Linealidad
Los modelos lineales implementan una señal, que se puede expresar como: wTx + b (también encontramos esta formulación en el caso de un componente básico de las redes neuronales, el perceptrón, que se basa en una separación lineal del espacio).
Consulte el capítulo Introducción para ver los diagramas correspondientes donde, por ejemplo, hay una representación de esta última expresión.
También podemos observar esto resaltando que el primer término es un producto escalar, lo que permite imaginar otras construcciones similares con otros productos escalares: (w, x) + b.
Consideremos h(x) como una función de hipótesis, de modo que esta función se puede elegir entre muchas otras funciones de hipótesis. Además, puede ser una aproximación de la función f(x), que queremos aproximar en un problema de aprendizaje supervisado.
En el caso lineal, el problema de clasificación...
¿Dónde estamos en nuestro aprendizaje?
En esta etapa nos parece interesante hacer un balance de los conocimientos adquiridos, a través de un posible estudio lineal de este libro, hasta el final de este capítulo.
1. Sus conocimientos adquiridos operativos
Ahora tiene la capacidad de manejar todos los casos de la «main stream» del uso del machine learning, en el sentido de que tiene ejemplos prácticos y operativos sobre algoritmos que muchos profesionales utilizan a diario hoy día, ya sea para regresión o para clasificación y clusterización. Conoce R lo suficientemente bien como para trabajar con sus datos hasta el infinito, crear todas las funciones de servicio que podrían ser de utilidad y realizar sus análisis visuales o mejorar su trabajo usando gráficos de calidad.
Su vocabulario y su conocimiento de conceptos básicos, es suficiente para acercarse a la manera en que se usan muchos paquetes y descifrar el significado de muchos textos de investigación. Puede formar parte de un equipo y tener criterio. Evidentemente, tendrá que aprender muchas otras técnicas, pero, en la mayoría de los casos, podrá interpretarlas usando el filtro de sus conocimientos previamente adquiridos.
Para completar este esquema básico que consiste en convertirse en un data scientist «main stream» operativo, capaz de integrarse...