Introduccion Python
Introduccion Python
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?
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:
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
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)
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.
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
▪ 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
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
Lenguaje
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
• Ensamblador( Usa
• 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.
▪ 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.
▪ 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.
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
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)
Tipología de análisis
Arboles de
Decisión
Clasificación
Regresión
Logística
SVM
Redes
Neuronales
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:
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:
•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:
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
2,000
DM1 -
◼ Cuando un modelo
Var2 debe ser reemplazado.
DM2
Var3
DM3 Var4
Beneficios
Indicadores
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 , ... ).
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.