0% encontró este documento útil (0 votos)
35 vistas

Introduccion Python

Este documento presenta un programa de especialización en Big Data y Analytics que introduce la programación en Python. Cubre temas como los fundamentos de Python, Google Colab, el ecosistema de Python y las bibliotecas comúnmente usadas como NumPy, Pandas, Scikit-Learn y Matplotlib. El objetivo es que los estudiantes adquieran habilidades básicas en el proceso de ciencia de datos usando Python.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas

Introduccion Python

Este documento presenta un programa de especialización en Big Data y Analytics que introduce la programación en Python. Cubre temas como los fundamentos de Python, Google Colab, el ecosistema de Python y las bibliotecas comúnmente usadas como NumPy, Pandas, Scikit-Learn y Matplotlib. El objetivo es que los estudiantes adquieran habilidades básicas en el proceso de ciencia de datos usando Python.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 44

Centro de Tecnologías de Información y Comunicaciones

Universidad Nacional de Ingeniería

Programa de especialización:
Big Data and Analytics

Introducción a la programación
en Python
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Temas:
▪ Introducción a Python
▪ Porque Python
▪ Google Colab
▪ Ecosistema Python
▪ Fundamentos
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

El objetivo del modulo es: Revisar los fundamentos para adquirir habilidades
básicas sobre cada paso en el proceso de ciencia de datos.
- Disputa de datos: Obtener, limpiar, transformar los datos
- Exploración y análisis de datos: Que el conjunto de datos tenga sentido,
lograr una descripción completado de los datos.
Al término de esta sesión, Ud. podrá:Tener una visión general del ecosistema
de Python para el análisis de datos.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
¿Porque Python?

Para implementar proyectos de IA, se


debe usar un lenguaje de programación
que sea estable, flexible y tenga
herramientas disponibles. Desde el
desarrollo hasta la implementación y el
mantenimiento, Python ayuda a los
desarrolladores a ser productivos y
seguros sobre el software que están
creando.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
¿Porque Python?

Los beneficios que hacen que Python sea


la mejor opción para el aprendizaje
automático y los proyectos basados ​en
IA incluyen simplicidad y consistencia,
acceso a excelentes bibliotecas y marcos
para IA y aprendizaje automático
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

Herramientas más utilizadas en DS y ML

https://www.kdnuggets.com/2019/05/poll-top-data-science-machine-learning-platforms.html
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Instalación: Jupyter notebook
Vamos a instalar la " Anaconda Distribution" con la última versión de Python. La instalación de Anaconda incluirá
todos los mejores paquetes, un excelente editor de código llamado Spyder y otras herramientas para agregar y
actualizar paquetes fácilmente.

https://www.anaconda.com/products/individual
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Google Colaboraty
Google Colab, también conocido como Collaboratory, es un entorno gratuito basado en Jupyter notebook que se
ejecuta en los servidores de la nube de Google.
No requiere instalación ni configuración de Python. Se tiene acceso gratuito a hardware CPU, GPU y TPU. Se puede
compartir el código de manera similar que con Google Drive.

https://www.anaconda.com/products/individual
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Google Colaboraty
Ventajas:

✓ Posibilidad de activar una GPU


✓ Podemos compartir el código fácilmente
✓ Está basado en jupyter notebook y nos resultará un entorno ya conocido
✓ Podemos crear libros en Python 2 ó en 3
✓ Tiene preinstaladas las librerías comunes usadas en data science y la posibilidad de instalar otras necesarias
✓ Al enlazar con nuestra cuenta de Google Drive, podemos leer desde ahí archivos .csv de entrada ó guardar
imágenes de salida, etc.

https://colab.research.google.com/
https://www.anaconda.com/products/individual
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Ecosistema de Python

https://devopedia.org/python-for-scientific-computing
https://www.anaconda.com/products/individual
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python
Algunos toolboxes/librerías populares:
• NumPy
• SciPy
• Pandas
• SciKit-Learn

Bibliotecas de visualización
• Matplotlib
• Seaborn
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python: NumPy
▪ Creado por Travis Oliphant con propósitos científicos.

▪ introduce objetos para arreglos y matrices multidimensionales, así como funciones que permiten realizar
fácilmente operaciones matemáticas y estadísticas avanzadas en esos objetos

▪ proporciona vectorización de operaciones matemáticas en arreglos y matrices, lo que mejora significativamente


el rendimiento
▪ muchas otras bibliotecas de python se basan en NumPy
▪ Para la creación de un Array en Python
▪ Necesitamos importar la librería: import numpy as np

https://numpy.org/
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python: Scipy
▪ colección de algoritmos para álgebra lineal, ecuaciones diferenciales, integración numérica, optimización,
estadísticas y más

▪ Es el paquete principal de rutinas científicas en Python está destinado a funcionar de manera eficiente en
matrices numpy

▪ Construido en NumPy

https://scipy.org/
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python: Pandas
▪ agrega estructuras de datos y herramientas diseñadas para trabajar con marcos de datos para procesar
información y unirlas de diferentes fuentes (Data Frame de R)

▪ proporciona herramientas para la manipulación de datos: remodelación, fusión, clasificación, división,


agregación, etc.

▪ permite manejar datos faltantes

https://pandas.pydata.org/
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python: SciKit-Learn
▪ proporciona algoritmos de aprendizaje automático: clasificación, regresión, agrupación, validación de modelos,
etc.

▪ Construido en NumPy, SciPy y matplotlib

https://scikit-learn.org/stable/
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python: mapplotlib
▪ Es una librería de Python que permite realizar gráficas 2D de excelente calidad

▪ Tiene un conjunto de funcionalidades similares a las de MATLAB

▪ gráficos de líneas, gráficos de dispersión, gráficos de barras, histogramas, gráficos circulares, etc.

▪ Podemos exportar gráficos en los formatos de imágenes mas populares e incluso a formato Latex para su
inclusión en artículos científicos

▪ Su creador John Hunter lo definió: “matplotlib trata de hacer las cosas fáciles y las cosas difíciles posibles”

https://matplotlib.org/stable/index.html
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Librerias de Python: Seaborn
▪ basado en matplotlib

▪ proporciona una interfaz de alto nivel para dibujar atractivos gráficos estadísticos

▪ Similar (en estilo) a la popular biblioteca ggplot2 en R

https://seaborn.pydata.org/
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Google Colaboraty
Google Colab, también conocido como Collaboratory, es un entorno gratuito basado en Jupyter notebook que se
ejecuta en los servidores de la nube de Google.
No requiere instalación ni configuración de Python. Se tiene acceso gratuito a hardware CPU, GPU y TPU. Se puede
compartir el código de manera similar que con Google Drive.

Link: https://colab.research.google.com/

https://www.anaconda.com/products/individual
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación

Es la forma del lenguaje y


Sintaxis describe las posibles
combinaciones de símbolos que
son correctos

Lenguaje

Tiene que ver con el estudio


riguroso desde un punto de vista
Semántica
matemático del significado de
los lenguajes de programación
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Definición inicial

Emisor Receptor
Lenguaje
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Clasificación según niveles

Primera generación Lenguaje de •Orientado al


microprocesador
maquina (Sistema Binario)

• Ensamblador( Usa

Segunda generación Lenguaje de código nemónico y


también esta
bajo nivel orientado a un
microprocesador

• Orientado para
Lenguaje de que nosotros
entendamos y
Tercera generación alto nivel logremos escribir
los programas
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Tipos de Datos básicos
▪ Número Entero (int)
Este tipo de dato se corresponde con números enteros, es decir, sin parte decimal.

▪ Número Decimal (float)


Este tipo de dato se corresponde con números reales con parte decimal. Cabe destacar que
el separador decimal en Python es el punto (.) y no la coma (,).

▪ Caracter (chr)
Este tipo de dato se corresponde con un símbolo tipográfico, es decir, una letra, número,
coma, espacio, signo de puntuación, etc.

▪ Cadena de Texto (str)


Este tipo de datos se corresponde con una cadena de caracteres.

▪ Booleano (bool)
representa valores booleanos o de lógica binaria: Verdadero (True) o Falso (False)
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Tipos de Datos básicos
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Operadores aritméticos: La combinación de valores, variables , operadores y llamadas a funciones se denomina
expresión. El intérprete de Python puede evaluar una expresión válida.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Estructura de datos
Las estructuras no
primitivas están destinadas
a organizar y manejar
conjuntos de datos
primitivos.

En lugar de almacenar un
solo valor, las estructuras
de datos no primitivas
almacenan una colección
de valores en varios
formatos.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Fundamentos: Lenguajes de programación
Métodos de lista
Python tiene muchos
Métodos Descripción métodos de lista útiles que
hacen que sea muy fácil
append() añade un elemento al final de la lista trabajar con listas. Estos
son algunos de los métodos
extend() agrega todos los elementos de una lista a otra lista de lista más utilizados.

insert() inserta un elemento en el índice definido


remove() elimina un elemento de la lista
pop() devuelve y elimina un elemento en el índice dado
clear() elimina todos los elementos de la lista
index() devuelve el índice del primer elemento coincidente
count() devuelve el recuento del número de elementos
pasados ​como argumento
sort() ordenar elementos en una lista en orden ascendente
reverse() invertir el orden de los elementos de la lista
copy() devuelve una copia superficial de la lista
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

Programa de especialización:
Big Data and Analytics

Introducción a la programación
en Python
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: CRISP - DM

Comprensión Comprensión
del Negocio de la Data

Preparación de
la Data

Despliegue

Data Modelamiento

Evaluación
Aplicaciones: Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

Tipología de análisis
Categórico - Totales y Porcentajes
- Gráficos: Barra y Pie

Univariado

- Min, Max, Media, Mediana, Moda


- Rangos Intercuartilicos, Varianza,
Desviación Estándar, Coeficiente de
Numérico Variación
- Kurtosis y Asimetria
Para Explicar el - Gráficos: Histograma y Cajas (Boxplot)

Pasado
- Chi Cuadrado
Categórico Vs
Categórico - Gráficos: Barras y de dos Ejes

Numérico Vs - Correlación
Bivariado
Numérico - Scatter Plot (Dispersión)

Categórico Vs - Z Test, T Test, ANOVA


Numérico - Gráficos: Barras y Líneas
Aplicaciones: Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

Tipología de análisis
Arboles de
Decisión
Clasificación
Regresión
Logística

SVM

Redes
Neuronales

Para Predecir el Naive Baues


Futuro
Segmentación
Aglomerativa

Divisiva

Estimación
K-means

Regresión
Reglas de Múltiple
Asociación
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Tipo de variables
Tipos de variables:

Numéricas:
Nominales: Ordinales:
Sueldo, Edad, Línea de
Sexo, Distrito de Residencia, NSE, Grado de Instrucción,
Crédito, Número de segundos
Estado Civil. Tipo de Tarjeta de crédito.
de llamadas por móvil.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Aplicaciones: Metodología
Dentro de un proyecto de Data Mining podemos diferenciar las siguientes fases:

Comprensión Comprensión Preparación


Modelado Evaluación Implementar
del Negocio de los Datos de los Datos
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Conocimiento del negocio:

Determinación
Determinar los
Evaluar la de los Objetivos Elaborar el Plan
Objetivos del
situación de Minería de del Proyecto
Negocio
Datos
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Comprensión de los datos:

Disponibilidad
Describir los Explorar los Calidad de los
Recolectar Datos Datos Datos Datos
Iniciales
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Preparación de los datos:

Data •Obtener datos


de diferentes
Collecting fuentes

Data •Resuelve conflictos entre


datos.
Cleaning •Elimina Outliers

•Transformación y
Data consolidación de los
Transformation datos

Data •Selección de
características
Reduction
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Tipos de variables:

Numéricas:
Nominales: Ordinales:
Sueldo, Edad, Línea de
Sexo, Distrito de Residencia, NSE, Grado de Instrucción,
Crédito, Número de segundos
Estado Civil. Tipo de Tarjeta de crédito.
de llamadas por móvil.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Identificar Outliers :

• Revisar los
Rangos: rangos de
Cada variable

• Realizar el
Clustering: ejercicio con
pocos grupos.

• Variables
nominales con
Categorías. menos de 1%
de frecuencia.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Visualización de variables:
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Modelamiento:

Técnica Modelo
Modelo 1 1

Modelo
Escoger la Técnica
Training de Modelado Conjunto Score
Data (Ponderado) Data

Modelo
Técnica 2
Modelo 2
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Metodología: Fases del Data Mining
Evaluación del modelo:

Determinar
Evaluar los
los Próximos
Resultados
pasos

Revisar el Proceso
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Implementación/Despliegue:
Implementación/Despliegue:

Proceso de implementación de modelos

Planificar Implementar Producción Post Producción


- Reportes de m onitoreo
Gestión de
- Definición alcance - Generar lógica de - Conformidad de
variables entregables - Dar de baja al
modelos
Control / Monitoreo
- Línea base del proyecto
- Mejora de procesos - Criterios de Evaluación m odelo analíticos
- WBS
- Validar inform ación

◼ Solicitar ◼ Dimensionamiento. ◼ Medir y validar el ◼ Administrar el


documentación. ◼ Pruebas en desempeño del ciclo de vida de
◼ Gestión de desarrollo modelo. los modelos
riesgos. analíticos.
◼ bitácora de errores ◼ Schedule de
y lecciones modelo ◼ Cuando un
aprendidas. modelo debe ser
◼ Documentar reemplazado.
Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

Que afecta el desempeño del modelo

• Cambios en el mercado: Cambian los


valores característicos rápidamente.
Estos cambios afectan a todas las fuente
de datos.

• Criterio de selección diferente: Se toma


información de un estudio pasado, los
reglas anteriores no guardan relación
con los objetivos del nuevo modelo.

• variación en la creación de datos: Este


es un problema sólo cuando tomamos
en la implementación, los datos de una
fuente diferente a la del desarrollo del
modelo.
Proceso de seguimiento Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería

Proceso de seguimiento de modelos

Extracción de los
Fuentes Post Producción Gestión de modelos
datos
Control de Calidad de los Gestión de
calidad de datos modelos indicadores

12,000

10,000

Mo n itoreo de las variables


DWH 8,000

Var1 Var2 Var3 Var4 ◼ Administrar el ciclo de


6,000
vida de los modelos
Var1
analíticos.
4,000

2,000

DM1 -
◼ Cuando un modelo
Var2 debe ser reemplazado.
DM2
Var3

DM3 Var4

Beneficios

Estabilidad poblacional Tablero Indicadores

Indicadores

Resp1-2 Responsable 1 Responsable 1 Responsable 1


Centro de Tecnologías de Información y Comunicaciones
Universidad Nacional de Ingeniería
Técnicas Estadísticas
Busca describir las relaciones entre varias variables (respuestas y descriptores) que permiten analizar un
Ecuaciones estructurales fenómeno de interés, teniendo en cuenta la estructura de covarianzas existente entre ellas.

Es una técnica utilizada para reducir la dimensionalidad de un conjunto de datos. Se emplea sobre todo en
Componentes principales análisis exploratorio de datos y para construir modelos predictivos.

Es una técnica estadística de reducción de datos usada para explicar la variabilidad entre las variables
Análisis factorial observadas en términos de un número menor de variables no observadas llamadas factores.

Algoritmo de agrupamiento / Clusters Es un procedimiento de agrupación de una serie de objetos de acuerdo con un criterio de cercanía.

Su objetivo es analizar si existen diferencias significativas entre grupos de objetos respecto a un conjunto de
Análisis discriminante variables medidas sobre los mismos. La naturaleza de las variables debe ser para el caso de la dependiente
categórica y para la(s) independiente(s) cuantitativa.

Su objetivo es buscar las relaciones que pueda haber entre dos grupos de variables y la validez de las mismas.
Correlación canoníca Predice múltiples variables dependientes a partir de múltiples independientes.

El Análisis de Correspondencias es una técnica estadística que se utiliza para analizar, desde un punto de vista
Análisis de correspondencia gráfico, las relaciones de dependencia e independencia de un conjunto de variables categóricas a partir de los
datos de una tabla de contingencia.

El objeto de un análisis de regresión es investigar la relación estadística que existe entre una variable
Regresión múltiple dependiente (Y) y una o más variables independientes (X 1, X2, X3 , ... ).

Es un modelo de regresión para variables dependientes o de respuesta binomialmente distribuidas. Es útil


Regresión logística para modelar la probabilidad de un evento ocurriendo como función de otros factores.

Se llama Series de Tiempo a un conjunto de observaciones sobre valores que toma una variable (cuantitativa)
Series de Tiempo en diferentes momentos del tiempo. se utilizan para predecir lo que ocurrirá con una variable en el futuro a
partir del comportamiento de esa variable en el pasado.

También podría gustarte