Está en la página 1de 37

Power BI Nivel Avanzado

Presentadores:
José Luis Malón
Agenda
Fundamentos de Machine Learning

Explorando los Datos con R

Aprendizaje Supervisado

Power BI con R y Python


¿Qué es Machine Learning?

Sistemas de computación que se vuelven más


inteligentes con la experiencia.
“El proceso de descubrir correlaciones, patrones
y tendencias significativamente nuevas, dentro
de grandes repositorios de datos, usando
tecnologías de reconocimiento de patrones así
como técnicas estadísticas y matemáticas.”
Gartner Group

Malón, José Luis jose.malonne12@gmail.com


Inteligencia Artificial
Aprendizaje profundo Visión

Aprendizaje automático Habla


Conjunto de tecnologías que
Lenguaje
Redes neuronales
permiten la Inteligencia a una
Búsquedas máquina que simula los Conocimiento
Razonamiento
probabilístico
elementos del pensamiento Resolución de
humano problemas
etc.
etc.

Malón, José Luis jose.malonne12@gmail.com


IA, Machine Learning y Deep Learning

HOY: Inteligencia Artificial


• Deep Learning.
• Machine Learning.
• Procesamiento del Lenguaje
Natural.
• Visión y reconocimiento
computacional.
• Agentes autónomos,
robótica.

“What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning?”, Michael Copeland, 2016

Malón, José Luis jose.malonne12@gmail.com


Escenarios de Machine Learning

Malón, José Luis jose.malonne12@gmail.com


Metodologías

• Knowledge Discovery in Databases


(KDD, 1996).

• CRoss Industry Standard Process for


Data Mining (CRISP-DM, 2000).

• Team Data Science Process (TDSP).

Malón, José Luis jose.malonne12@gmail.com


CRISP - DM

Entendimiento Entendimiento Preparación de


Modelamiento Evaluación Despliegue
del negocio de los datos datos

Identificar Recolectar y Seleccionar y Generar modelos Evaluar los Aplicar resultados al


objetivos analizar datos limpiar datos analíticos modelos negocio

Malón, José Luis jose.malonne12@gmail.com


Team Data Science Process

Malón, José Luis jose.malonne12@gmail.com


Modelamiento
Modelamiento
• Predicción. • Identificar clúster de datos.
• Conozco las respuestas. • No conozco las respuestas.
• Entreno el modelo con las • Encontrar el valor de los
respuestas conocidas. datos.
• Verifico los resultados del
modelo con las respuestas
conocidas.
• Utilizó el modelo para
predecir nuevos datos.

Supervisado No Supervisado

Malón, José Luis jose.malonne12@gmail.com


Agenda
Fundamentos de Machine Learning

Explorando los Datos con R

Aprendizaje Supervisado

Power BI con R y Python


Ventajas de usar R
Top Analytics, Data Science, Machine
Learning Tools
 Es libre, no tiene ningún costo.
 Se puede usar en distintas plataformas:
Windows, Unix and MacOS.
 Tiene el soporte de una enorme
comunidad de investigadores de distintos
lugares del mundo.
 Permite personalizar el nivel del análisis.
 Nos permite realizar análisis sencillos y
complejos.

https://www.kdnuggets.com/2019/05/poll-tools-analytics-data-science-machine-learning-results.html

Malón, José Luis jose.malonne12@gmail.com


RStudio
Principales lenguajes de programación
ordenados por popularidad

https://www.kdnuggets.com/2019/05/poll-tools-analytics-data-science-machine-learning-results.html

Malón, José Luis jose.malonne12@gmail.com


Instalar un paquete

Malón, José Luis jose.malonne12@gmail.com


Comandos básicos

 library(): Para activar un paquete.


 ls(): Lista todos los objetos cargados en el área de trabajo.
 rm(): Remueve todos los objetos cargados en el área de trabajo.
 getwd(): Imprime la ruta del área de trabajo.
 setwd(): Establece el área de trabajo.
 save.image(): Guarda el área de trabajo en formato “.Rdata”.
 saveRDS(): Guarda objetos.
 readRDS(): Lectura de objetos.

Malón, José Luis jose.malonne12@gmail.com


Tipos de variables en R

 character: "treatment", "123", "A"


 numeric: 23.44, 120, Inf
 integer: 4L, 1123L
 factor: si/no, positivo/negativo
 logical: TRUE, FALSE, NA

Malón, José Luis jose.malonne12@gmail.com


Entender la estructura de la data
 names(): Los nombres de las columnas
 class(): Tipo de variable
 head(): 6 primeras filas de un data frame
 tail(): 6 últimas filas de un data frame
 dim(): Cantidad de filas y columnas
 str(): Estructura y pre visualización de los datos
 summary(): Resumen y primeras estadísticas de los
datos.

Malón, José Luis jose.malonne12@gmail.com


Visualizar y graficar la data en R
Funciones básicas de R:
 plot
 barplot
 boxplot
 pie
 hist
Librería ggplot
 ggplot(data=datos, aes(x=)) + geom_histogram()
 ggplot(data=datos, aes(x=,y=)) + geom_boxplot()

http://www.todobi.com/2018/05/las-20-mejores-librerias-para-data.html

Malón, José Luis jose.malonne12@gmail.com


Manipulación de datos (librería dplyr)
 La libreria dplyr La librería dplyr permite manipular y
hacer cálculos sobre un data frame mediante una
única expresión: vamos encadenando funciones con
el operador %>%.
Funciones:
 select( ): para seleccionar columnas (variables)
 filter( ): para seleccionar filas (observaciones)
 mutate( ): para crear nuevas variables
 summarise( ): para cálculos estadísticos y otras
operaciones
 group_by( ): usada conjuntamente con summarise( )
 arrange( ): para reordenar filas.
http://www.todobi.com/2018/05/las-20-mejores-librerias-para-data.html

Malón, José Luis jose.malonne12@gmail.com


Agenda
Fundamentos de Machine Learning

Explorando los Datos con R

Aprendizaje Supervisado

Power BI con R y Python


Modelos supervizados

• Su objetivo es la predicción.
• Se conoce la variable objetivo (Variable de salida).
• Las variables que ayudan a predecir la variable de salida
son las variables de entrada.
• Se separa el conjunto de datos en dos partes una para
entrenar el modelo y otra para evaluar el modelo.
• Utiliza el modelo para predecir nuevos datos.

Malón, José Luis jose.malonne12@gmail.com


Inputs Ouputs
• Género.

• Rangos de Edad.
• No Compra
• Compra
• Ingresos.

• Estado Civil.
• Entre otros ...
Malón, José Luis jose.malonne12@gmail.com
Modelos supervizados
• Se usa cuando el resultado • Es útil para predecir productos que
deseado es una etiqueta discreta. son continuos.
• En el caso de que el modelo • La respuesta a la pregunta se
entrenado es para predecir presenta mediante una cantidad
cualquiera de las dos clases que puede determinarse de
objetivos, se le conoce como manera flexible en función de las
clasificación binaria. entradas del modelo.
• Si Tenemos que predecir más de • El valor predicho se puede usar
dos clases objetivos, se le conoce para identificar la relación lineal
como clasificación multicategoría. entre los atributos.

Clasificación Regresión

Malón, José Luis jose.malonne12@gmail.com


Árbol de decisión
• Funciona para variables de entrada y salida categóricas
como continuas.
• En esta técnica, dividimos la data en dos o más conjuntos
homogéneos basados en el diferenciador más significativo
en las variables de entrada.
• El árbol de decisión identifica la variable más significativa y
su valor que proporciona los mejores conjuntos
homogéneos de población.
• Todas las variables de entrada y todos los puntos de división
posibles se evalúan y se elige la que tenga mejor resultado.
• Los métodos basados en árboles potencian modelos
predictivos con alta precisión, estabilidad y facilidad de
interpretación.
• A diferencia de los modelos lineales, mapean bastante bien
las relaciones no lineales.

Malón, José Luis jose.malonne12@gmail.com


Ventajas que tiene el árbol de decisión
La salida del árbol de decisión es muy fácil de entender, incluso para personas con
antecedentes no analíticos, no se requiere ningún conocimiento estadístico para
leerlos e interpretarlos.

El árbol de decisión es una de las formas más rápidas para identificar las variables
más significativas.

Requiere menos limpieza de datos en comparación con algunas otras técnicas de


modelado. A su vez, no esta influenciado por los valores atípicos y faltantes en la
data.

Es considerado un método no paramétrico, esto significa que los árboles de


decisión no tienen suposiciones sobre la distribución del espacio y la estructura del
clasificador.

Malón, José Luis jose.malonne12@gmail.com


Árbol de decisión (partes)
Nodo Raíz
Condición
Nodos de Prueba 1 (Padre)
(hijos) Si No

Condición Condición

Si No Si No
Condición Condición Condición Condición
Si No Si No
Condición Condición Condición Condición

Nodos de decisión (hojas)


Malón, José Luis jose.malonne12@gmail.com
Árbol de decisión (idea intuitiva)

Malón, José Luis jose.malonne12@gmail.com


¿Qué es Bagging?
• Bagging quiere decir bootstrap aggregation. Introducido por Leo Breiman (Berkeley) en 1996.
• La idea es simple. Si tienes las opiniones de un comité de expertos, considéralas todas para
tomar una decisión.
• Se extraen muestras bootstrap del conjunto de datos. Para cada muestra, se obtiene un
modelo de predicción. El nuevo predictor “bagging” se construye mediante agregación.
• El objetivo es reducir la inestabilidad.

Malón, José Luis jose.malonne12@gmail.com


Bagging para clasificación
• Si el problema es de clasificación bagging clasificará cada nueva observación por mayoría.
Por ejemplo:

• La clase 1 recibió cuatro votos. La clase 0 un voto.


• El predictor bagging clasificará x en la clase 1.

Malón, José Luis jose.malonne12@gmail.com


Bagging para regresión
• Si el problema es de regresión la predicción bagging se obtiene promediando las
predicciones de todos los modelos. Por ejemplo:

• La predicción bagging será: (2+3+5+1+7)/5 = 3.6


• Cuando la variable respuesta es binaria 0/1, el bagging para regresión se reduce al criterio de
clasificar por mayoría.

Malón, José Luis jose.malonne12@gmail.com


Random Forest o Bosques Aleatorios (RF)

• Desarrollado por Leo Breiman (Berkeley) en 2001


• Tiene su base en:
• La predicción con CART.
• La agregación de modelos de árbol.
• Bootstrap Aggregation (Bagging).
• Comercializado por Salford Systems en la herramienta RandomForestsTM.
• Implementado por Andy Liaw y Matthew Wiener en la librería randomForest del entorno
R de programación.

Malón, José Luis jose.malonne12@gmail.com


Random Forest (RF)

• Cada árbol usa m diferentes


variables, aleatoriamente
escogidas del conjunto de p
variables m<p (m=mtry).

Malón, José Luis jose.malonne12@gmail.com


Mecanismo de Random Forest
• La aleatorización se introduce en el mecanismo de aprendizaje a través de dos vías: el
remuestreo y la aleatorización en la selección del corte en cada nodo
• Se toman B muestras bootstrap del conjunto de datos para construir B árboles sin podar. Esto
corresponde a la fase bagging y proporciona el bosque de árboles
• Para construir cada árbol del bosque, RF busca el corte en cada nodo entre un conjunto de R
variables predictoras que han sido seleccionadas al azar
• Por defecto B = 500 y R = sqrt(nº predictores).

Malón, José Luis jose.malonne12@gmail.com


La estimación del error con RF

• Se define la tasa de error out of bag (OOBi) de una observación xi como el error obtenido al
ser clasificada por los árboles del bosque construidos sin su intervención.
• La estimación OOB del error es el promedio de todos los OOBi para todas las observaciones
del conjunto de datos.
• La medida se puede extrapolar al problema de regresión describiéndola en términos del ECM.

Malón, José Luis jose.malonne12@gmail.com


Agenda
Fundamentos de Machine Learning

Explorando los Datos con R

Aprendizaje Supervisado

Power BI con R y Python


Usar un IDE de R externo con Power BI
• Con Power BI Desktop, puede usar un IDE de
R externo (entorno de desarrollo integrado)
para crear los scripts de R y después usar
esos scripts en Power BI.
• Puede poner en funcionamiento el IDE
yendo a Archivo > Opciones y
configuración > Opciones > Script de R.

Malón, José Luis jose.malonne12@gmail.com


Uso de R en el editor de consultas
• En el Editor de consultas, puede usar R, un lenguaje de programación usado ampliamente por
estadistas, científicos de datos y analistas de datos. Esta integración de R en el Editor de consultas
permite limpiar datos y realizar acciones avanzadas, como imputar datos, realizar predicciones y la
agrupación en clústeres.
• Para que el código de script funcione correctamente, debe tener instalada todas las librerías en el
entorno de R. Para instalar una librería, ejecute el siguiente comando en la instalación de R:
install.packages(‘nombre de la librería').

Malón, José Luis jose.malonne12@gmail.com

También podría gustarte