0% encontró este documento útil (0 votos)
58 vistas21 páginas

Practica Data Mining Tools

Este documento presenta una introducción al uso de Jupyter Notebook para realizar análisis de datos. Explica cómo instalar y usar Jupyter Notebook localmente o en la nube, e introduce conceptos como celdas de código, importar datos y bibliotecas de Python como Pandas y Matplotlib. También muestra un ejemplo de carga y análisis básico de datos usando DataFrames de Pandas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
58 vistas21 páginas

Practica Data Mining Tools

Este documento presenta una introducción al uso de Jupyter Notebook para realizar análisis de datos. Explica cómo instalar y usar Jupyter Notebook localmente o en la nube, e introduce conceptos como celdas de código, importar datos y bibliotecas de Python como Pandas y Matplotlib. También muestra un ejemplo de carga y análisis básico de datos usando DataFrames de Pandas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 21

UNIVERSIDAD GERARDO BARRIOS

SEDE CENTRAL SAN MIGUEL /CENTRO REGIONAL USULUTAN

Datos Generales

Facultad Ciencia y Tecnología

Asignatura Administración de Bases de Datos II

Semana 19 Herramientas de Minería de Datos:


Jupyter Notebook (Análisis y tratamiento de
datos)

Docente Inga. Gisela Espinoza | Sandra Beatriz Zúniga

1 INTRODUCCIÓN TEÓRICA.

En el proceso de encontrar patrones y relaciones en grandes cantidades de datos nos


encontramos con técnicas avanzadas de análisis de datos, que combina el aprendizaje
automático y la inteligencia artificial para extraer información útil de esas cantidades
enormes de datos. Estas herramientas permiten a las empresas aprender más sobre las
necesidades de los clientes, aumentar los ingresos, reducir los costos, mejorar las
relaciones con los clientes y por otro lado, analizar datos históricos para determinar
tendencias y predicciones, para nuevos emprendimientos o para mejorar servicios de
las que ya están consolidadas para atraer otros segmentos del mercado.

Existen como vimos en clases previas, varias herramientas especializadas en minería de


datos; sin embargo, para comprender bien este concepto en la práctica, es necesario
aprender sobre la preparación de los datos, el aprendizaje automático y en general,
sobre la ciencia de los datos, para entender la minería de datos (Data Mining) y
posteriormente, el Machine Learning y/o Deep Learning

El lenguaje más accesible para realizar esta tarea es Python, del cual, existen
actualmente plataformas Open Source para su aprendizaje. A continuación, veremos
dos de las más utilizadas:
Proyecto Jupyter.

Enlace a sitio: jupyter

El proyecto Jupyter es el sucesor del anterior IPython Notebook, que se publicó por
primera vez como un prototipo en 2010. Aunque es posible utilizar muchos lenguajes de
programación diferentes dentro de Jupyter Notebooks, su nombre es una referencia a
los tres lenguajes de programación principales soportados por Jupyter, que son Julia,
Python y R, y también un homenaje a los cuadernos de Galileo que registran el
descubrimiento de los satélites de Júpiter. Sin embargo, se centra en Python, ya que es
el caso de uso más popular.

“Jupyter Notebook es una aplicación web de código abierto que le permite crear y
compartir documentos que contienen código en vivo, ecuaciones, visualizaciones y
texto narrativo. Los usos incluyen: limpieza y transformación de datos, simulación
numérica, modelado estadístico, visualización de datos, aprendizaje automático y
mucho más. Tiene la versatilidad de poderse hacer en la nube o localmente”.
(Datahack, 2019)

Proyecto Google Colab para Ciencia de Datos.

Enlace a sitio: Colab

Otra opción para la ciencia de datos es Colab de Google, el cual es un servicio cloud,
basado en los Notebooks de Jupyter, que permite el uso gratuito de las GPUs y TPUs de
Google, con librerías como: Scikit-learn, PyTorch, TensorFlow, Keras y OpenCV. Todo ello
con bajo Python 2.7 y 3.6, aunque aún no está disponible para R y Scala.

1.1 INSTALACIÓN.

Si bien se puede trabajar en cloud, para aquellos que no tienen espacio para hacerlo
en sus propias computadoras, también se puede instalar localmente, para realizar
pruebas en un ambiente controlado.

Si se quiere trabajar en la nube, simplemente entramos a este Enlace y elegimos The


Jupyter Notebook/Try in your browser.

Si, por el contrario, queremos instalarlo localmente, elegimos la opción The Jupyter
Notebook/Install the Notebook.
Instalación local:

Caso 1: instalación haciendo uso de pip.

Esta es la forma más sencilla porque cuando instalamos Python desde las versiones 3.5,
el gestor de descarga pip ya viene incorporado dentro de la instalación, aunque en
algunos casos, es de observar mientras se instala que la casilla de este se encuentre
seleccionado para instalarse junto al programa.

La instalación que se realizará es la del clásico Jupyter Notebook

Caso 2: instalación haciendo uso de mamba o conda.

Se puede realizar utilizando mamba o conda, aunque para emitir el comando tal como
lo hacemos con pip, deberemos instalarlo (ENLACE para instalar mamba o conda).

1.2 TRABAJANDO JUPYTER EN CLOUD.

Entramos a https://jupyter.org/ y elegimos The Jupyter Notebook. Seguidamente


seleccionamos Try in your browser:

Una vez ahí, presentará las opciones para obtener un servidor de Jupyter para trabajar
sin instalar nada:
 Seleccionamos la primera opción Try Classic Notebook.
 Abriremos ahora un nuevo libro: File/New Notebook/Python 3

Le colocamos un nombre al archivo y estaremos listos para trabajar.

1.3 EXPLORANDO ENTORNO.

Escriba print('Hello World!') en la celda y haga clic en el botón Ejecutar del cuaderno
en la barra de herramientas de arriba o presione Ctrl + Enter. El resultado debería
verse así:

En la barra de menú, haga clic en Insertar y seleccione Insertar celda a continuación


para crear una nueva celda de código debajo de la primera y pruebe el siguiente
código para ver qué sucede.
En general, la salida de una celda proviene de cualquier dato de texto impreso
específicamente durante la ejecución de las celdas, así como del valor de la última
línea en la celda, ya sea una variable solitaria, una llamada a una función u otra
cosa. Por ejemplo:

Una de las ventajas que tiene Jupyter, es que, si se importa bibliotecas o declara
variables en una celda, estarán disponibles en otra. De esta manera, puede pensar
en un documento de cuaderno como algo comparable a un archivo de script,
excepto que es multimedia.

Probaremos lo anterior, para tener una idea. Primero, importaremos un paquete de


Python y definiremos una función.

Una vez que hemos ejecutado la celda anterior, podemos hacer referencia np y
square en cualquier otra celda.

Probemos cambiando y = 10
Si alguna vez desea restablecer las cosas, hay varias opciones muy útiles del menú
Kernel:

 Reiniciar: reinicia el núcleo, borrando así todas las variables, etc. que se
definieron.
 Reiniciar y borrar salida: igual que el anterior pero también borrará la salida
que se muestra debajo de las celdas de código.
 Reiniciar y ejecutar todo: igual que el anterior pero también ejecutará todas
sus celdas en orden de principio a fin.
 Si su núcleo alguna vez se atasca en un cálculo y desea detenerlo, puede
elegir la opción Interupt.

Importando otras librerías.

Importamos pandas para trabajar con nuestros datos, Matplotlib para trazar gráficos y
Seaborn para hacer nuestros gráficos más bonitos. También es común importar NumPy,
pero en este caso, aunque lo usamos a través de pandas, no necesitamos hacerlo
explícitamente.

Y esa primera línea no es un comando de Python, sino que usa algo llamado magia de
línea para indicarle a Jupyter que capture los trazados de Matplotlib y los represente en
la salida de la celda.

Probemos ingresando el siguiente código:


Veremos una salida gráfica de los datos:

2 IMPORTANDO DATOS.

Uno de los aspectos más importantes es la importación de datos para poder analizarlos.
Estos datos pueden ser históricos y en general, brindan un panorama interesante que
solo utilizar simples consultas.

Sobre Pandas.

Para el análisis utilizaremos pandas.

Pandas es una de las librerías de python más útiles para los científicos de datos. Las
estructuras de datos principales en pandas son Series para datos en una dimensión
y DataFrame para datos en dos dimensiones.
Estas son las estructuras de datos más usadas en muchos campos tales como finanzas,
estadística, ciencias sociales y muchas áreas de ingeniería. Pandas destaca por lo fácil
y flexible que hace la manipulación de datos y el análisis de datos.

Para poder trabajar en el análisis de los datos, debemos asegurarnos de importar esta
librería.

Cargando datos de una fuente.

En general, si se trabaja de manera local, simplemente importamos pandas y le damos


la ruta del archivo que queremos utilizar. Sin embargo, si estamos trabajando en
entorno cloud, el proceso es el siguiente:

1. Vamos a menú FileOpen…

Veremos algo como esto

2. A continuación, vamos a la opción NewFolder


3. Creamos el folder, lo seleccionamos y lo renombraremos como archivos_csv.
Luego entramos a este. Una vez aquí, subimos los archivos que necesitaremos.
Ahora estamos listos para poder hacer un llamado a los archivos.
Utilizaremos para el ejercicio los siguientes archivos:
Fortune500.csv

Probemos realizando la carga de este archivo, digitando lo siguiente:

Sino dio ningún error, estamos listos para la siguiente parte.


Análisis de datos.
La función de Pandas read_csv sirve para cargar los datos. Esto crea un DataFrame, una
unidad de datos en Pandas, que proporciona mucha funcionalidad y tiene bastantes
propiedades convenientes para el análisis.

DataFrames.

En Pandas los DataFrames junto con las Series, son unidades básicas. Crearemos una
serie de números aleatorios y usaremos funciones estadísticas para analizarlo.

Ejemplo 1. Escribiremos en la interfaz de Jupyter, lo siguiente:

El resultado de esta prueba será el siguiente:


Las series están basadas en el concepto estadísticos, pero incluyen un título (del eje), un
índice (el cual identifica a los elementos) y el dato en sí, que puede ser numérico (float),
string unicode (texto) u otro tipo de dato.

Se basan también en conceptos de vectores, de esta manera se pueden realizar


operaciones vectoriales en las cuales implícitamente se alinean los índices, lo cual es
muy útil, para restar, por ejemplo, dos columnas sin importar el tamaño de ambas,
Pandas automáticamente unirá inteligentemente ambas series.

De igual manera, se puede obtener elementos de las series por su valor de índice, o por
un rango, usando la notación usual en Python. Las Series también comparten mucho del
comportamiento de los NumPy Arrays, haciéndolos instantáneamente compatibles con
muchas librerías y recursos.

NOTA: Para el ejercicio anterior, nos debemos fijar si hay error y luego, deberemos llamar

las librerías en las que se hace mención dentro del bloque de código, como en este
caso, Pandas y Numpy.

Ejemplo 2: Realizaremos la prueba d: serie_prueba_d


El resultado obtenido debiera ser el siguiente:

Los DataFrames por otro lado, son estructuras bidimensionales de datos. Son bastante
utilizadas porque proveen una abstracción similar a una hoja de cálculo o a una tabla
de SQL. Los DataFrame tienen índices (etiquetas de fila) y columnas, ambos ejes deben
encajar, y el resto será llenado de datos no válidos.

Se puede unir ambas series y crear un DataFrame nuevo, usando un diccionario de


Python, por ejemplo. Y de igual manera, podemos también graficar los resultados.
Ejemplo 3. Uniendo series para crear un nuevo DataFrame y, además, lo graficaremos.

El resultado obtenido es como sigue:


Cargando una fuente de datos.

Utilizaremos la función de Pandas read_csv para cargar los datos. Esto crea un DataFrame, una
unidad de datos en Pandas para el análisis de datos.

Cargaremos los siguientes 2 archivos a nuestra carpeta archivos_csv:

 Archivo1: departamentos.csv
 Archivo 2: departamentos2.csv

Colocamos lo siguiente en la celda:

¿Qué sucede? Analicemos el error que muestra.

Ahora utilizaremos el segundo archivo: departamentos2.csv. La salida que debiéramos


tener es la siguiente:

Observaciones:

 El comportamiento fundamental sobre los tipos de datos, la indexación y el


etiquetado/alineamiento de ejes, se aplica a todos los objetos.
 Las series por su parte, son como un diccionario de tamaño fijo en el que puede
obtener y establecer valores por etiqueta de índice.

Constructores adicionales:

DataFrame.from_dict

Toma un diccionario de diccionarios o un diccionario de secuencias tipo matriz y


devuelve un DataFrame. Funciona similar al constructor DataFrame a excepción del
parámetro orient que es por defecto “columns”, pero se puede configurar un índice
para usar las llaves del diccionario como etiquetas de una fila.

Ejemplo 1. Colocar la siguiente línea:

Y su resultado es el siguiente:

Ejemplo 2. Si pasa orient='index', las claves serán las etiquetas de las filas. En este caso,
también puede pasar los nombres de columna deseados:

Salida:
Adición, selección y borrado.

Se puede tratar un DataFrame semánticamente como un diccionario de objetos o Series


indexados de manera similar. También se puede obtener, configurar y eliminar
columnas, ya que funciona con la misma sintaxis que las operaciones análogas del
diccionario.

Ejemplo 7. Crearemos primero el siguiente diccionario:

Cuya salida será la siguiente:

Llamamos ahora a “one”:


Ahora, agregamos una bandera, observemos y analicemos el comportamiento:

Salida:

Las columnas se pueden eliminar:

Al insertar un valor escalar, se propagará naturalmente para llenar la columna:


Al insertar una serie que no tiene el mismo índice que el DataFrame, se ajustará al
índice del DataFrame:

Puede insertar ndarrays sin procesar, pero su longitud debe coincidir con la
longitud del índice del DataFrame. Por defecto, las columnas se insertan al final.
La función insert está disponible para insertar en una ubicación particular en las
columnas:
Visualización de datos desde un archivo.

Llamar un archivo SCV (fortune500):

La salida mostrará el contenido del archivo.

Si queremos visualizar una “x” cantidad de datos entonces tendríamos que hacer uso
del comando head():

Por defecto (vacíos los paréntesis), mostrará los primeros 5 índices:


Si especificamos, tendríamos lo siguiente:
RECURSOS COMPLEMENTARIOS
Recurso Título Cita referencial
Introducción a Google
Sitio Web Colab para data Enlace
science

Sitio Web Jupyiter Sitio oficial Enlace

Pandas en 30 minutos
Video Enlace
(Python)

También podría gustarte