Machine Learning
con Python
Sesión 1
Hans Hidalgo Alta
● Ingeniería de Sistemas
● MITx Micromaster in Statistics and
Data Science
● MBA candidate
Associate Data Scientist - BBVA Perú
Mi pasatiempo es participar en competencias sobre
Machine Learning y Ciencia de Datos
3
Contenido del curso
08/04/2022 10/04/2022 15/04/2022 17/04/2022 22/04/2022
1 2 3 4 5
Tratamiento, análisis Modelos de regresión Modelos de Tópicos avanzados
Introducción a
y visualización de clasificación
Machine Learning y
Datos 1. Simple 1. Árbol de decisión 1. Random Forest
Python
2. Ridge y Lasso 2. Regresión logística 2. XGBoost
3. Evaluación 3. SVM 3. Tuning
1. Entornos 1. Outliers
2. Variables 2. Missing 4. KNN
3. Operadores 3. Transformación 5. Evaluación
4. Funciones
Modelos no
supervisados
1. K-Means
2. Hierarchical
Clustering
Consideraciones del curso
● Trabajaremos en Google Colab (Jupyter Notebook).
● El curso será práctico y teórico (50% y 50%).
● Resolveremos ejercicios en las sesiones.
● No quedarse con las dudas.
¿Ciencia de
datos?
¿Machine
Learning?
Los datos se están recolectando en todo momento.
Se necesita que
alguien los interprete
7
“Los datos son el
nuevo petróleo”
8
Ciencia de datos: obtener conocimientos a partir de los datos
Matemática y
estadística
Ciencias de la Campo interdisciplinario
computación
que involucra métodos
científicos, procesos y
sistemas para extraer
conocimiento o un mejor
entendimiento de datos.
Dominio del
negocio
9
Nos
enfocaremos
en Machine
Learning
It gives computers the ability to learn without
being explicitly programmed.
Arthur Samuel - 1959
Machine Learning vs. Programación tradicional
Programación tradicional Machine Learning
12
Machine Learning - Tipos de clasificación
13
¿Y en qué tipo de proyectos puedo usar Machine Learning?
Detección de Segmentación de Modelamiento Marketing Predicción de Sistemas de
fraudes clientes del riesgo personalizado ventas recomendación
Soporte al Análisis de Predicción de un Optimización del Procesamiento Reconocimiento
cliente sentimientos evento precio del lenguaje de imágenes
natural
Y más …
14
¿Qué es
Python?
¿Qué es Python?
Python es un lenguaje de programación de alto nivel y multipropósito. También es un lenguaje
interpretado.
Breve historia
● Inventado en los Países Bajos por Guido van Rossum en los
90s.
● Guido era fan de los humoristas “Monty Python”.
● Es de código abierto desde su creación.
¿Por qué Python?
A favor En contra
● Es de código abierto, su uso es gratuito. ● Ejecución lenta.
● Tiene una comunidad extensa de ● Posee un consumo ineficiente de
soporte. memoria para realizar algunas tareas.
● Es multipropósito.
● Identación.
● Facilidad para instalar muchas librerías
para distintos objetivos. ● Tipado dinámico.
● Filosofía de código legible, fácil de
entender.
● Identación.
● Tipado dinámico.
Entorno de
trabajo
Jupyter Notebook / Jupyter Lab
https://jupyter.org/ https://github.com/HansHidalgo/Brewing-Data-Cup-2020/blob/mai
n/Codigo_HHA_LEO_PE.ipynb
Anaconda
https://www.anaconda.com/products/individual https://docs.anaconda.com/anaconda/install/windows/
Colab
https://colab.research.google.com/
Kaggle
https://www.kaggle.com/code
Virtual environment
● Un entorno virtual es una herramienta que
ayuda a mantener separadas las dependencias
requeridas por diferentes proyectos mediante la
creación de entornos virtuales de Python
aislados para ellos.
● Una opción para usarlos es Conda
Environments.
Para usarlo
en Jupyter
Notebook
¡Vamos al código!
Variables y
operadores
Variables
Comando type
Al crear una variable no es Dicha variable puede ir
necesario declararla ni indicar el cambiando de tipo de dato.
tipo de dato.
Operadores
Aritméticos
Asignación
Comparación
Listas
Una lista es una secuencia de valores Los valores de una lista se
denominan elementos o, a veces, elementos.
● Las listas están ordenadas
● Se accede por índice.
● Las listas pueden contener cualquier tipo de objeto.
● Las listas son modificables (mutables).
Listas
Tuplas
Se puede declarar un tupla con el
Es una colección ordenada de elementos, para
crearlas se usan paréntesis. constructor tuple() y convertir una
lista a tupla.
Son inmutables.
Conjuntos
● Colección no ordenada de elementos
únicos.
● Se utilizan comúnmente para calcular
operaciones matemáticas como unión,
intersección, diferencia y diferencia
simétrica.
Diccionarios
Un diccionario, define una relación uno a uno entre claves y valores. Pueden ser creados colocando una
lista separada por coma de pares «key:value» entre {}
Estructuras
de control
if … else
Evalúa una operación lógica, es decir una expresión que dé como resultado True o False, y ejecuta la
pieza de código siguiente siempre y cuando el resultado sea verdadero.
Muy importante: Indentation
Bucle: for
Itera sobre los ítems de cualquier secuencia (una
lista o una cadenas de caracteres), en el orden
que aparecen en la secuencia.
Bucle: while
Permite realizar múltiples iteraciones basándonos
en el resultado de una expresión lógica que puede
tener como resultado un valor True o False.
Funciones
Función
Es un bloque de código con un nombre asociado, que recibe cero o más argumentos como
entrada, sigue una secuencia de sentencias, la cuales ejecuta una operación deseada y
devuelve un valor y/o realiza una tarea, este bloque puede ser llamados cuando se necesite.
Clases y
objetos
Clases y objetos
Clases: Representa el conjunto de
propiedades o métodos que son comunes
a todos los objetos de un tipo.
Objeto: Representa las entidades de la
vida real. Se declara a partir de una clase.
Atributo: Son las características que
puede tener un objeto, como el color.
Métodos: Representan las operaciones
que se pueden realizar con los objetos de
la clase. Por ejemplo, cambiar de color.
¡Muchas
gracias!
¿Alguna duda?
[email protected]www.linkedin.com/in/hanshidalgo
https://www.facebook.com/hans.hidalgoalta/