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

Big Data, Web Scraping y Data Mining

El documento presenta una introducción a los conceptos de Big Data, Web Scraping y Data Mining. Explica brevemente la evolución de la cantidad de datos disponibles debido a avances tecnológicos y define Big Data haciendo referencia a las 3V. También introduce conceptos de Open Data, describiendo sus características y beneficios como la interoperabilidad. Por último, explica los pasos para publicar datos de forma abierta y el esquema 5 estrellas de Open Data.

Cargado por

sergio fernandez
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)
455 vistas

Big Data, Web Scraping y Data Mining

El documento presenta una introducción a los conceptos de Big Data, Web Scraping y Data Mining. Explica brevemente la evolución de la cantidad de datos disponibles debido a avances tecnológicos y define Big Data haciendo referencia a las 3V. También introduce conceptos de Open Data, describiendo sus características y beneficios como la interoperabilidad. Por último, explica los pasos para publicar datos de forma abierta y el esquema 5 estrellas de Open Data.

Cargado por

sergio fernandez
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/ 94

Big Data,

Web Scraping
y Data Mining

José Ramón Sánchez Leo


[email protected]
Junio 2022
Índice
1. Introducción
2. Big Data
3. Open Data
4. Introducción a Python
5. Web Scraping
6. APIs web
7. Casos prácticos
8. Data mining

Big Data, Web Scraping y Data Mining 2


1. Introducción

Big Data, Web Scraping y Data Mining 3


Introducción

• El objetivo de este curso es que el alumno adquiera


conocimientos relacionados con la primera fase del
trabajo de un profesional del dato.

• Las innovaciones tecnológicas han provocado, en las


últimas décadas, una clara aceleración del acceso al
conocimiento y a diferentes metodologías para
adquirirlo.

• Las sociedades han ido ”avanzando” con las


innovaciones tecnológicas hacia una sociedad de la
información, conocida como Sociedad 4.0.

Big Data, Web Scraping y Data Mining 4


Introducción

• El Gobierno de Japón (2016), propuso aprovechar


estos avances tecnológicos para contribuir al progreso
del país y desarrollar proyectos que pretendan
desarrollar los Objetivos de Desarrollo Sostenible (ODS).

https://www8.cao.go.jp/cstp/english/society5_0/index.html

Big Data, Web Scraping y Data Mining 5


Introducción

• Los avances en las tecnologías, tanto de


almacenamiento como de recolección de datos, han
provocado que la cantidad de datos disponible
crezca exponencialmente y las estimaciones apuntan
a que no se desacelerará en los próximos años.

https://resources.moredirect.com/white-papers/idc-report-the-digitization-of-the-world-from-edge-to-core

Big Data, Web Scraping y Data Mining 6


2. Big Data

Big Data, Web Scraping y Data Mining 7


¿Qué es Big Data?

Existen diversas definiciones de Big Data:

• Big Data se refiere a conjuntos de datos cuyo tamaño


supera la capacidad de las típicas herramientas de
software de bases de datos para capturar, almacenar,
gestionar y analizar. (McKinsey)

• Activos de información de gran volumen, alta


velocidad y/o alta variedad que exigen formas
rentables e innovadoras de procesamiento de la
información que permitan mejorar la visión, la toma de
decisiones y la automatización de los procesos.
(Gartner)

• Datos que son tan grandes, rápidos o complejos que


es difícil o imposible procesarlos con los métodos
tradicionales. Definición basada en las 3V’s de Douglas
Laney: Volumen, Velocidad y Variedad.

Big Data, Web Scraping y Data Mining 8


Las 3V’s

• Las 3V’s de Laney son el pilar de lo que hoy se conoce


como Big Data.

• Otros autores han ido incorporando otras V’s, llegando


a incorporar 42 V’s para realizar una definición. En el
siguiente gráfico podemos ver las características por
año de ocurrencia.

https://www.elderresearch.com/blog/the-42-vs-of-big-data-and-data-science/
Laney, D. (2001) “3D data management: Controlling data volumen, variety and velocity”.

Big Data, Web Scraping y Data Mining 9


Las 3V’s

• Las 3V’s de Laney son el pilar de lo que hoy se conoce


como Big Data.

• Otros autores han ido incorporando otras V’s, llegando


a incorporando 42 V’s para realizar una definición. En
el siguiente gráfico podemos ver las características por
año de ocurrencia.

https://www.elderresearch.com/blog/the-42-vs-of-big-data-and-data-science/
Laney, D. (2001) “3D data management: Controlling data volumen, variety and velocity”.

Big Data, Web Scraping y Data Mining 10


Hitos del Big Data

Lahoz, J. (2019) “Big Data, Concepto y Evolución”

Big Data, Web Scraping y Data Mining 11


Big Data vs Data Science

• La ciencia de datos (Data Science, DS) es la ciencia


que trata de encontrar soluciones de negocio
basadas en datos.

A very short history of data science:


https://www.forbes.com/sites/gilpress/2013/05/28/a-very-short-history-of-data-science/?sh=4292fb6655cf

Big Data, Web Scraping y Data Mining 12


3. Open Data

Big Data, Web Scraping y Data Mining 13


3. Open Data

¿Qué es Open Data?


• “Open data is data that can be freely used, re-used and redistributed by anyone -
subject only, at most, to the requirement to attribute and sharealike.”

• “Los datos abiertos son datos que pueden ser utilizados, reutilizados y redistribuidos
libremente por cualquier persona, y que se encuentran sujetos, cuando más, al
requerimiento de atribución y de compartirse de la misma manera en que
aparecen.”

Los datos abiertos son un gran recurso, en parte, aún sin explotar. Muchos individuos, y
en especial organizaciones, recogen una amplia gama de datos con el fin de realizar
sus tareas. La aplicación de restricciones de copyright, licencias y/o patentes sobre
todos estos datos va en contra del bien común de la sociedad. Es por este motivo, que
estos datos deben ser “abiertos” sin restricciones.

The Open Definition - https://opendefinition.org/


Open Data Handbook - http://opendatahandbook.org/guide/en/what-is-open-data/

Big Data, Web Scraping y Data Mining 14


3. Open Data

Características de los Datos Abiertos


Disponibilidad y accesibilidad
• Datos disponibles como un todo y a un coste razonable de reproducción.
• Datos disponibles a través de internet.
• Datos en formato adecuado.

Reutilización y distribución
• Se debe permitir la reutilización y redistribución del conjunto de datos.
• Facilidad de integración con otras fuentes de datos.

Universalidad
• Los datos pueden ser utilizados, reutilizados y distribuidos por todos, sin
restricciones de ningún tipo.

Open Data Handbook - http://opendatahandbook.org/guide/en/what-is-open-data/

Big Data, Web Scraping y Data Mining 15


3. Open Data

¿Por qué son valiosos los Datos Abiertos?


Interoperabilidad

• “Habilidad de dos o más sistemas o componentes para intercambiar información y


utilizar la información intercambiada”.

• Unos Datos Abiertos de calidad garantizan poder combinar y mezclar distintos


conjuntos de datos.

• Gracias a esto podemos construir sistemas más complejos y grandes, permitiendo


desarrollar nuevos productos y servicios.

• Unos Datos Abiertos que no facilitan la interoperabilidad no podrán obtener el


beneficio de integrarse en estos sistemas más complejos y grandes, que es donde
reside el valor.

Ejemplo: ¿dos conjuntos de datos que manejan la entidad municipio pero que los
identifican con códigos diferentes podrán interoperar?

Open Data Handbook - http://opendatahandbook.org/guide/en/what-is-open-data/

Big Data, Web Scraping y Data Mining 16


3. Open Data

¿Cómo abrir los datos?


Descripción del proceso
• Elegir los datos a abrir:
– Datos de interés y que sea factible publicarlos.
– Puedes preguntar a la comunidad (foros, redes sociales, etc.) para ver si tienen interés en los mismos. La
comunidad será quien los vaya a utilizar y pueden darte feedback útil.
• Busca una licencia abierta.
– Examina los datos para determinar si están sujetos a derechos de propiedad intelectual.
– Elige el tipo de licencia que se ajusta mejor a tus datos.
• Hazlos disponibles para la comunidad.
– Disponibles para descargar desde Internet (alojados en servidores HTTP/FTP, mediante torrents o APIs).
– Usa formatos reutilizables (XLS, CSV, TSV, JSON, XML). Evita formatos como PDF.
– Intenta que los datos se puedan mantener actualizados en tiempo real y evita que dependan de
actualizaciones manuales.
• Hazlos visibles y fácilmente “descubribles”.
– Cuando más usuarios potenciales mayor potencial.
– Puedes usar portales para publicarlos: DataHub, Programmableweb, Google, Kaggle, …

Open definition. (s.f.). Conformant Licenses.


https://opendefinition.org/licenses/

Big Data, Web Scraping y Data Mining 17


3. Open Data

¿Cómo abrir los datos?


5 ★ Open Data
Es un esquema de desarrollo de Datos Abierto con 5 niveles creado por Tim Berners-Lee.

Los niveles son:


– ★ Publica tus datos en internet (en cualquier formato) y bajo una licencia abierta.
– ★ ★ Publícalos como datos estructurados (por ejemplo, Excel).
– ★ ★ ★ Usa formatos no propietarios (por ejemplo, CSV).
– ★ ★ ★ ★ Emplea URLs para referenciar datos, con estándares W3C (RDF y SPARQL).
– ★ ★ ★ ★ ★ Enlaza tus datos con otros datos para proveer contexto.

★ ★ ★ ✩ ☆ Los tres primeros niveles garantizan datos accesibles en internet bajo


licencia abierta, con formato estructurado y accesible para todo el mundo.

★ ★ ★ ★ ★ Los dos últimos niveles añaden integración con la web y datos enlazados
con otros datos.

5 ★ Open Data
https://5stardata.info/en/

Big Data, Web Scraping y Data Mining 18


¿Qué es Open Data?

”Open data and


content can be
freely used,
modified, and
shared by anyone
for any purpose.”

The Open Definition - https://opendefinition.org/


Open Data Handbook - http://opendatahandbook.org/guide/en/what-is-open-data/

Big Data, Web Scraping y Data Mining 19


3. Open Data

Ejemplos de Datos Abiertos

• Kaggle: https://www.kaggle.com/datasets
• UCI: https://archive.ics.uci.edu/ml/index.php

• World Bank Open Data: https://data.worldbank.org


• WHO: https://www.who.int/data/gho/

• INE: https://www.ine.es/prodyser/microdatos.htm
• Datos Abiertos Gob. España: https://datos.gob.es/es
• Datos Abiertos Ayto. Madrid: https://datos.madrid.es/portal/site/egob
• Open Data Ayto. Barcelona: https://opendata-ajuntament.barcelona.cat/es

• Open Data EU: https://data.europa.eu/en


• Open Federal Government (USA): https://data.gov/open-gov/

• Data Unicef: https://data.unicef.org

Big Data, Web Scraping y Data Mining 20


4. Introducción a
Python

Big Data, Web Scraping y Data Mining 21


4. Introducción a Python

Historia de Python

• Creado en 1990 por Guido Van Rossum (actualmente empleado de Microsoft, ex-
Google).

• El nombre está basado en los humoristas británicos Monty Python.

• A partir del año 2011 pasa a ser administrado por Python Software Foundation, una
compañía sin ánimo de lucro con un funcionamiento similar al de Apache Software
Foundation.

https://www.python.org/

Big Data, Web Scraping y Data Mining 22


¿Qué es Python?

• Lenguaje de programación Open Source.

Big Data, Web Scraping y Data Mining 23


4. Introducción a Python

¿Qué es Open Source?


• Normalmente el código fuente y los derechos son exclusivos para quienes poseen los
derechos de autor.

• Open Source es aquel software que tiene tanto el código fuente como los derechos
sin ninguna restricción.
– Cualquiera puede acceder al código fuente y modificarlo si lo desea (para su propio uso)
– El uso no está restringido para ningún uso y/o usuario.

• La FSF (Free Software Foundation) establece cuatro libertades para considerar un


software Open Source:
– Libertad para usar el software como se desee y con cualquier propósito.
– Libertad para analizar el funcionamiento del software y poder cambiarlo para lo que se desee.
– Libertad para distribuir copias.
– Libertad para modificar y distribuir copias de versiones modificadas a terceros.

“With software there are only two possibilites: either the users control the programme or
the programme controls the users.” Richard Stallman

Big Data, Web Scraping y Data Mining 24


¿Qué es Python?

• Lenguaje de programación Open Source.

• Lenguaje de programación conciso.

• Lenguaje de programación de alto nivel.

Se caracteriza por expresar los algoritmos de una manera


adecuada a la capacidad cognitiva humana, en lugar
de la capacidad con que los ejecutan las máquinas.

Ventajas: Genera un código más sencillo y comprensible.

• Lenguaje de programación de propósito general.

Son lenguajes que pueden ser usados para varios


propósitos: acceso a base de datos, comunicación entre
dispositivos, captura de datos, cálculos matemáticos,
diseño de imágenes o páginas.

Big Data, Web Scraping y Data Mining 25


¿Qué es Python?

• Lenguaje de programación orientado a objetos.

Los lenguajes de programación orientados a objetos


tratan a los programas como conjuntos de objetos que se
ayudan entre ellos para realizar acciones. Entendiendo
como objeto a entidades que contienen datos.
Permitiendo que los programas sean más fáciles de
escribir, mantener y reutilizar.

• Lenguaje de programación con una comunidad muy


activa.

• Lenguaje de programación con infinidad de módulos


y/o add-ins orientados a muy diferentes dominios
(tratamiento de imagen, videojuegos, bases de datos,
análisis de datos …).

Big Data, Web Scraping y Data Mining 26


4. Introducción a Python

Ventajas de Python
• Python es un lenguaje de alto nivel multipropósito: análisis de datos, desarrollo web,
scripting, web scraping …

• Es un lenguaje más rápido en ejecución (respecto a otros más basados en


estadística, por ejemplo R).

• Es muy fácil de aprender para los principiantes: curva de aprendizaje menos dura.

• La sintaxis del lenguaje te ayuda a ser un mejor programador: código más


condensado y legible.

• Más rápido en el manejo de grandes conjuntos de datos y puede cargar los archivos
con facilidad.

Big Data, Web Scraping y Data Mining 27


4. Introducción a Python

Versiones de Python
• Python 2.x (actualmente 2.7):
– Última versión legacy publicada a mediados de 2010.
– No recibe actualizaciones importantes del core (solo
disponibles en Python 3.x).
– Ampliamente utilizada por la comunidad.
– Ampliamente soportada por los proveedores de
software.

• Python 3.x (actualmente 3.10.4, lanzada el 24 de


marzo de 2022)
– Es la versión más reciente (iniciada en 2008).
– Mejora rendimiento e introduce cambios en la sintaxis
para facilitar su uso (mejora del tratamiento de
cadenas, eliminadas funciones “sin paréntesis”, vistas
e iteradores, etc.).
– Rompe la compatibilidad con versiones anteriores
(2.x).
– No todos los módulos disponibles son compatibles
con la versión 3.x. https://www.python.org/doc/versions/

Big Data, Web Scraping y Data Mining 28


4. Introducción a Python

IDE
• Existen muchos IDEs (Integrated Development Enviroment) para Python.

• Cada uno de ellos está diseñado para dar soporte a una forma de trabajo en
función del dominio (análisis de datos, desarrollo general, programación
reproducible…) al que se orienten.

• Se pueden encontrar desde consolas básicas (R o Matlab) hasta entornos completos


de desarrollo y despliegue de aplicaciones y servicios (VisualStudio, Eclipse,
NetBeans, etc.).

Big Data, Web Scraping y Data Mining 29


4. Introducción a Python

IDE – Jupyter notebook


• Evolución de la consola interactiva de Ipython, que ha derivado en el proyecto Jupyter.

• Se trata de un intérprete de Python ejecutado directamente sobre un navegador Web.

• Permite combinar “celdas” de código con texto enriquecido (HTML, imágenes, gráficos,
etc.).

• Permite almacenar en un único documento comentarios, entradas, códigos y salidas.

Big Data, Web Scraping y Data Mining 30


4. Introducción a Python

IDE – Google Colab


• Análogo a Jupyter notebook ofrecido
por Google.

• Permite programar y ejecutar Python


en el navegador sin configuración
necesaria, acceso gratuito a GPUs y
con facilidades para compartir el
contenido.

• Como Jupyter notebook permite


combinar “celdas” de código con
texto en Markdown, incluye LaTeX.

• Los notebooks de Colab son cuadernos


de Jupyter alojados en Colab.

• Los notebooks se almacenan en la


cuenta de Google Drive.

Big Data, Web Scraping y Data Mining 31


4. Introducción a Python

IDE – Spyder
• Editor completo de Python orientado a la programación científica / interactive (similar a R
Studio o Matlab).

• Incluye funcionalidades como resaltado y completado de código, trabajo simultáneo


con diversos consolas de Python (incluso con diferentes versiones), inspección de
variables en el entorno de trabajo, depuración de código, creación y gestión de
proyectos…

Big Data, Web Scraping y Data Mining 32


4. Introducción a Python

IDE – Visual Studio Code


• Editor de Python que permite depurar código en cualquier sistema operativo y, además,
tiene compatibilidad con Git integrada.

• Como Spyder, incluye funcionalidades como resaltado y completado de código, trabajo


simultáneo con diversas consolas de Python (incluso con diferentes versiones),
comparación de distintas versiones de un script, …

Big Data, Web Scraping y Data Mining 33


4. Introducción a Python

Anaconda
• Se trata de la distribución de Python más extendida y reconocida de las existentes.

• Incluye más de 300 módulos preinstalados desde análisis de datos, hasta de


desarrollo web pasando por librerías matemáticas …

• Incluye una consola (gráfica) para Python, iPython, Jupyer Notebooks y Spyder

www.anaconda.com

Big Data, Web Scraping y Data Mining 34


4. Introducción a Python

pip

• pip es el administrado estándar de paquetes de Python.

• El instalador de Python instala pip automáticamente, por lo que no hay que instalar
nada más para usarlo.

• Para instalar paquetes basta con escribir en la consola:


– “pip install package_name”

• Los paquetes se descargan del repositorio oficial de paquetes de Python, llamado


Pypi.

https://pypi.org/

Big Data, Web Scraping y Data Mining 35


4. Introducción a Python

conda

• conda es otro gestor de paquetes y entornos para Python.

• Conda está incluido al instalar la distribución Anaconda.

• Para instalar paquetes con conda basta escribir en la consola:


– “conda install package_name”

• Los paquetes se descargan del repositorio de Anaconda.

Big Data, Web Scraping y Data Mining 36


4. Introducción a Python

Pandas
• Pandas es un módulo de Python, de alto rendimiento, orientado al análisis
de datos.

• Creado por Wes McKinney . La primera versión se publicó en 2008.

• La última versión se publicó el 02/04/2022 (1.4.2)

• Con los años se ha convertido en el estándar (de facto) para el análisis de


datos en Python.

• Una de las librerías con más evolución y seguimiento por parte de la


comunidad (más de 200 contribuidores).

https://pandas.pydata.org/

Big Data, Web Scraping y Data Mining 37


4. Introducción a Python

Pandas
Características principales:

• Capacidad de almacenamiento y procesamiento de diferentes estructuras


de datos.

• Facilidad para la carga de información desde diferentes fuentes: ficheros


CSV, bases de datos relacionales…

• Capacidad para el tratamiento de missing values.

• Utilidad tanto para carga y tratamiento de datos, como para el análisis


estadístico, exploratorio y modelado.

• Integración con otras librerías.

Big Data, Web Scraping y Data Mining 38


4. Introducción a Python

Referencias

• “Python: A simple Tutorial” de Matt Huenerfauth (Universidad de Pennsylvania).


https://cs.brynmawr.edu/Courses/cs372/spring2012/slides/PythonTutorial.pdf

• Curso básico de Python. https://tutorialpython.com/variables-en-python/

• PEP8: Guía de estilo. https://peps.python.org/pep-0008/

• Python for Data Analysis (O’Reillys).

• Página oficial de Pandas: https://pandas.pydata.org/

Big Data, Web Scraping y Data Mining 39


4. Introducción a Python

Notebook inicial

Python_Introduccion.ipynb

Big Data, Web Scraping y Data Mining 40


5. Web scraping

Big Data, Web Scraping y Data Mining 41


¿Qué es Web Scraping?

• “Proceso de extracción de información de una


web de manera automática.”

• Este proceso se realiza mediante software y


evita procesos manuales.

• Típicamente se recurre a estas técnicas si no se


puede obtener la información usando otras
tecnologías, como por ejemplo una API web.

Big Data, Web Scraping y Data Mining 42


5. Web scraping

Ventajas e inconvenientes del web scraping


Ventajas Inconvenientes
• No dependes de un API y sus límites. • Dependes de la estructura de la página. Si
la página cambia el scrapper dejará de
• Tienes a tu alcance todos los datos funcionar. Algunas webs pueden dificultar el
publicados en cualquier web. proceso proporcionando la información en
formatos como imágenes en lugar de HTML.
• Acelerar el proceso de obtención
de datos. • El web scraping no siempre es legal. Es
necesario comprobar los derechos y
propiedad intelectual de los sitios web.
Presta atención a los términos legales – ToS
(Terms of Service) – de la web.

• Es posible que se produzca un


bloqueo/baneo si se sobrecarga la web a
peticiones. Por dos motivos: proteger los
datos y los servidores donde se aloja la
página web.

Big Data, Web Scraping y Data Mining 43


5. Web scraping

Términos legales

https://www.idealista.com/ayuda/articulos/terminos-y-condiciones-generales-de-idealista/

Big Data, Web Scraping y Data Mining 44


5. Web scraping

Términos legales

https://www.idealista.com/ayuda/articulos/terminos-y-condiciones-generales-de-idealista/

Big Data, Web Scraping y Data Mining 45


5. Web scraping

Términos legales

https://www.idealista.com/ayuda/articulos/terminos-y-condiciones-generales-de-idealista/

Big Data, Web Scraping y Data Mining 46


5. Web scraping

Términos legales

https://www.idealista.com/ayuda/articulos/terminos-y-condiciones-generales-de-idealista/

Big Data, Web Scraping y Data Mining 47


Conocimientos necesarios

• Conocimientos de programación web.

• Aunque existen herramientas para hacer web


scraping automático es muy recomendable
tener conocimientos de programación para
implementar scrappers en R o Python.

• Conocimientos de expresiones regulares


(RegEx). Las expresiones regulares son
especialmente útiles cuando se trabaja con
información en formato texto.

Big Data, Web Scraping y Data Mining 48


5. Web scraping

Programación web
¿Qué es la web?
• Servidores web: son máquinas/ordenadores conectados a Internet, los cuales
sirven/envían a los clientes documentos/páginas web. Los servidores web pueden
ejecutarse también en local (lo cual quiere decir que se ejecutan en la máquina
actual en la que estás trabajando).

• Clientes web: son programas (también conocidos como navegadores web) que
hacen peticiones (requests) a los servidores web. Ejemplos de clientes web: Internet
Explorer, Edge, Firefox, Chrome, Safari, …

• Cada página web puede ser identificada por una dirección URL(Uniform Resource
Locator) o URI (Uniform Resourse Identifier). Parte de una URL:

https://www.afi.es/webAfi/secciones/1131348/1131413/Contactanos.html
– Protocolo: indicador del protocolo de comunicaciones. Por ejemplo: HTTP o HTTPS.
– Dominio: el dominio donde se encuentra almacenado el recurso.
– Información adicional: como el path del recurso solicitado, parámetros, etc.

Big Data, Web Scraping y Data Mining 49


5. Web scraping

Programación web
Funcionamiento de la web
1. Usuario escribe en el navegador la URL solicitada.
2. El navegador resuelve la dirección del dominio y realiza una petición HTTP al servidor
web.
3. El servidor web (utilizando los parámetros de la llamadas si los hubiera)
localiza/genera el recurso HTML solicitado y lo devuelve al navegador.
4. El navegador tras recibir el HTML, extrae referencias a otros ficheros como hojas de
estilo CSS (Cascading Style Sheets), imágenes, ficheros JavaScript, etc. y vuelve a
pedir cada fichero al servidor web.
5. El servidor web devuelve cada uno de los ficheros anteriores.
6. Finalmente el navegador muestra (render) el contenido HTML por pantalla. Este
proceso incluye:
– a) Analizar el contenido HTML y extraer el contenido/estructura de la página.
– b) A partir de la hoja de estilos CSS modifica la apariencia (colores, fuentes, márgenes, etc.) a aquellos
elementos que sea necesario.
– c) Incluir imágenes en el contenido HTML.
– d) Ejecutar JavaScript, lo que permite alterar el comportamiento de la página HTML.

Big Data, Web Scraping y Data Mining 50


5. Web scraping

Programación web
HTML (Hypertext Markup Language)
• Lenguaje de marcas empleado para estructurar el contenido de las páginas web.

• El HTML se almacena en ficheros de texto plano con extensión .html.

• La versión actual de HTML es denominada HTML5.


<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>Page Title</h1>
<p>This is a really interesting
paragraph.</p>
</body>
</html>

Big Data, Web Scraping y Data Mining 51


5. Web scraping

Programación web
HTML: elementos (contenido + estructura)
• Dentro de un documento HTML encontraremos contenido y estructura. A través del
lenguaje HTML podremos estructurar el propio contenido.

• HTML se convierte en una herramienta que dota de una estructura semántica


(jerarquía + relaciones + significado) al contenido.

• HTML no se encarga de la representación visual del contenido del documento. Esta


función le corresponde a las hojas de estilo CSS.

• Para dotar de estructura al contenido del documento HTML se añaden elementos


definidos por etiquetas o tags. Los tags de apertura aparecen entre los símbolos < y
>. Los tags de cierre aparecen entre < y />.

• Las etiquetas se anidan para generar la jerarquía del documento en forma de árbol
– DOM (Document Objet Model). Es importante asegurar que la apertura y cierre
de etiquetas está balanceada para construir un HTML bien formado.

Big Data, Web Scraping y Data Mining 52


5. Web scraping

Programación web
HTML: etiquetas generales
Etiqueta Descripción
html Etiqueta global que contiene el resto de etiquetas del documento.
head Contiene metadatos sobre el documento como el título, referencias a hojas de estilo y scripts.
title Etiqueta para indicar el título del documento.
body Etiqueta que contiene el contenido del documento.
h1, h2, h3, h4 Etiquetas para indicar distintos niveles de títulos o encabezados.
p Etiqueta para párrafos.
ul, li Etiqueta para listas no ordenadas (bullets).
ol, li Etiqueta para listas ordenadas.
em Etiqueta para indicar énfasis. Normalmente en cursiva.
strong Etiqueta para indicar énfasis. Normalmente en negrita.
a Etiqueta para crear enlaces.
span Etiqueta para crear contenedores de texto.
div Etiqueta para crear contenedores de elementos HTML.
img Etiqueta para insertar imágenes

Big Data, Web Scraping y Data Mining 53


5. Web scraping

Programación web
HTML: ejemplo (I)

Amazing Visualization Tool Cures All Ills A new open- source tool
designed for visualization of data turns out to have an unexpected,
positive side effect: it heals any ailments of the viewer. Leading
scientists report that the tool, called D3000, can cure even the
following symptoms: fevers chills general malaise It is achieves this
end with a patented, three-step process. Load in data. Generate a
visual representation. Activate magic healing function.

Big Data, Web Scraping y Data Mining 54


5. Web scraping

Programación web
HTML: ejemplo (II)

Amazing Visualization Tool Cures All Ills Título

A new open-source tool designed for visualization of data turns out to have an
unexpected, positive side effect: it heals any ailments of the viewer. Leading scientists
report that the tool, called D3000, can cure even the following symptoms:
– fevers
– chills Lista no ordenada
– general malaise

It is achieves this end with a patented, three-step process.


1. Load in data.
2. Geenrate a visual representation. Lista ordenada
3. Activate magic healing function.

Big Data, Web Scraping y Data Mining 55


5. Web scraping

Programación web
HTML: ejemplo (II)
<h1>Amazing Visualization Tool Cures All Ills</h1>
<p>A new open-source tool designed for visualization of data turns out to have
an unexpected, positive side effect: it heals any ailments of the viewer.
Leading scientists report that the tool, called D3000, can cure even the
following symptoms:</p>
<ul>
<li>fevers</li>
<li>chills</li>
<li>general malaise</li>
</ul>
<p>It is achieves this end with a patented, three-step process.</p>
<ol>
<li>Load in data.</li>
<li>Generate a visual representation.</li>
<li>Activate magic healing function.</li>
</ol>

Big Data, Web Scraping y Data Mining 56


5. Web scraping

Programación web
HTML: atributos
• Dentro de los elementos HTML se pueden especificar atributos. Estos atributos son
pares clave/valor. Por ejemplo:

<tagname property="value"></tagname>

• Cada elemento de HTML tiene unos atributos específicos. Por ejemplo: todos los
elemento a tienen el atributo href para indicar la URL a donde enlazan.

• Existen dos atributos especiales que pueden asignarse a cualquier elemento HTML.
Estos elementos permiten identificar y manipular elementos del documento HTML.
– class: cada elemento HTML puede tener más de una clase. Además, las clases pueden
repetirse entre elementos de la página.
– id: cada elemento HTML puede tener un único id. Además este id debe ser único entre los
elementos de la página.

Big Data, Web Scraping y Data Mining 57


5. Web scraping

Programación web
CSS: Cascading Style Sheet
• Las hojas de estilo o CSS contienen la presentación visual contenido de un
documental HTML. La versión actual es denominada CSS3.

• Las hojas de estilo están compuestas de selectores y estos a su vez de propiedades.

• Las propiedades son pares clave-valor y se encierran entre llaves.


selector {
property: value;
property: value;
property: value;
}
• A cada conjunto de selector y propiedades se le conoce como regla CSS.

Big Data, Web Scraping y Data Mining 58


5. Web scraping

Programación web
CSS: Selectors (I)
• Las hojas de estilo de CSS permiten identificar los elementos del documento HTML a
los que se les aplicarán los estilos. Existen gran cantidad de selectores CSS.

• Selectores por tipo (etiquetas HTML)


h1 /* todos los elementos de tipo h1 */
p /* todos los elementos de tipo p */
strong /* todos los elementos de tipo strong */
div /* todos los elementos de tipo div */

• Selectores por descendientes


h1 div /* todos los elementos del tipo div contenidos en un h1 */
div img /* todos los elementos del tipo img contenidos en un div */

Big Data, Web Scraping y Data Mining 59


5. Web scraping

Programación web
CSS: Selectors (II)
• Selectores por clase (y multiclase)
.caption /* todos los elementos con la clase caption */
.label /* todos los elementos con la clase label */
.axis/* todos los elementos con la clase axis */
.bar.highlit /* todos los elementos con la clase bar y highlight */

• Selectores por ID
#header /* el elemento con id “header” */
#ttile /* el elemento con id “title” */

• Combinación de selectores
div.sidebar /* elementos de tipo div con la clase sidebar */
#ttile.in /* el elemento con id “title” y la clase on */

Big Data, Web Scraping y Data Mining 60


5. Web scraping

Programación web
CSS: properties
• Las propiedades definen la apariencia que tendrá cada elemento del documento
HTML. Existen gran cantidad de propiedades CSS.

• Ejemplos: margen, relleno, color de fondo, fuente del texto...

margin: 10px;
padding: 25px;
background-color: #C00;
font-family: Arial;

• Nota: puedes definir colores por nombre (black), valores hexadecimales (#000000 o
#000), valores RGB (rgb(0, 0, 0)) y valores RGB con transparencia (rgba(0, 0, 0, 0.5)).
– HEX to RGB: http://hex.colorrrs.com/
– Variaciones de un color: http://www.0to255.com/

Big Data, Web Scraping y Data Mining 61


5. Web scraping

Programación web
CSS: ¿Cómo inscribir el CSS al HTML?
• Existen tres maneras de incluir el CSS a una página o documento HTML.

1. Embebiendo el CSS dentro del HTML con la etiqueta style.


<html>
<head>
<style type="text/css">
p {
margin: 10px;
background-color: #C00;
font-family: Arial;
}
</style>
</head>

</html>

Big Data, Web Scraping y Data Mining 62


5. Web scraping

Programación web
CSS: ¿Cómo inscribir el CSS al HTML?
• Existen tres maneras de incluir el CSS a una página o documento HTML.

2. A través de una referencia (etiqueta link) a un fichero CSS externo (.css) dentro del HTML.

<html>
<head>
<link rel=”stylesheet” href=“style.css”>
</head>

</html>

3. Incluyendo la regla CSS directamente dentro del elemento HTML. Para ellos se emplea el
atributo style que tiene todos los elementos HTML. En este caso particular no se hace uso de
selectores, puesto que los estilos se aplican directamente al elemento.

<p style=“margin: 10px; background-color: #C00; font-family: Arial;”>Texto de prueba</p>

Big Data, Web Scraping y Data Mining 63


5. Web scraping

Programación web
Javascript
• Lenguajes de scripting para hacer páginas web dinámicas. Mediante Javascript
podemos manipular el DOM después de que una página ha sido cargada en el
navegador.

• JavaScript y Java no son lo mismo y no se parecen.

• El código JavaScript de una página puede estar contenido dentro del propio HTML
entre las etiquetas <script>…</script>.
<body>
<script type="text/javascript">
alert("D3.js is awesome");
</script>
</body>

• O en un fichero a parte (extensión .js).


<script type="text/javascript" src="myscript.js"></script>

Big Data, Web Scraping y Data Mining 64


5. Web scraping

Paquetes para hacer web scraping


R Python

Peticiones HTTP (carga HTML) httr requests

Procesamiento de HTML rvest BeautifulSoup

Implementación de crawlers Rcrawler scrapy

Scraping en web dinámicas RSelenium selenium

Algunas definiciones técnicas

• Spyder: programa que descarga información de un página web.

• Crawler: programa que recorre una web leyendo la información de todas su páginas.
Para ello normalmente se hace crawling vertical y horizontal.

• Web dinámica: página web que mediante código JavaScript ejecutado en el


navegador determina como se cargan sus partes/componentes.

Big Data, Web Scraping y Data Mining 65


6. APIs web

Big Data, Web Scraping y Data Mining 66


¿Qué es una web API?

• Application Programming Interface

• Conjunto de funciones (o métodos) y


procedimientos que ofrece un componente
software (o aplicación).

• Esto permite integrar diferentes piezas de software


en las aplicaciones.

• Las APIs permiten obtener datos o ejecutar una


determinada tarea.

• Hablamos de APIs web cuando aplicamos este


concepto a la web. La interfaz de programación
es expuesta al exterior para que pueda ser
empleada mediante peticiones y respuestas
(mediante HTTP).

Big Data, Web Scraping y Data Mining 67


6. APIs web

Elementos y parte de una web API


• URL base: es la dirección (URL) donde se encuentra desplegada la API. Normalmente
tienen la siguiente forma: https://api.twitter.com , https://api.github.com

• Endpoint: cada función o recurso de la API tiene una URL diferente, que empieza
siempre por la URL base. Cada una de estas funciones o recursos se le conoce con el
nombre de endpoint. La documentación oficial de la API tiene información sobre los
diferentes endpoints.

• API reference: es el nombre que recibe la documentación oficial de la API. Está


compuesta por la descripción de los servicios así como por ejemplos de requests and
responses. También suele contar con una consola para simular peticiones a la API.

• Requests: peticiones/llamadas/invocaciones a la API. Contiene los parámetros,


cabeceras, método usado, URL del endpoint, etc.

• Responses: información devuelta por el servidor. Incluye los datos, cabeceras, código
de retorno, etc.

Big Data, Web Scraping y Data Mining 68


6. APIs web

Elementos y parte de una web API


• Códigos de retorno (Status code): contienen información sobre el resultado de la
petición y nos indican si la petición fue satisfactoria. Algunos ejemplos: 200 (OK), 400
(Bad request). 401 (Unauthorized), 404 (Not found), 405 (Method not allowed), 500
(Internal server error).

• Cabeceras (Headers): parámetros especiales para configurar las requests y responses.


Algunos ejemplos: Accept (tipo de contenido que acepta el cliente), Content-type (tipo
de contenido que devolverá el servidor), Authentication (contiene las credenciales).

• HTTP methods: también llamados verbos, especifican la acción que se desea realizar.
Algunos ejemplos: POST (crear), GET (leer), PUT (actualizar), DELETE (borrar). Normalmente
usaremos POST y GET para obtener los datos.

• Query parameters: colección de parámetros necesarios para realizar la acción deseada


y que se pasan al endpoint.

Big Data, Web Scraping y Data Mining 69


6. APIs web

Elementos y parte de una web API


• Autenticación (Authentication): sistema de identificación y de acceso a la API.
Normalmente sirve de control de que se tiene permisos para usar la API. Hay diferentes
métodos: API Key, OAuth, OAuth2.

• Paginación: en muchas ocasiones las API devuelven gran cantidad de datos. En estas
ocasiones se parten los datos en porciones más pequeñas de tal modo que el servidor
los puede servir de manera óptima. Se usan parámetros para establecer: resultados por
página, número de página y número total de resultados.

• Rate limit: límite de peticiones (requests) que puede realizar un usuario en un periodo de
tiempo. Por ejemplo: peticiones por segundo, peticiones al mes, etc. De este modo se
controla el uso de la API, impidiendo a los usuarios hacer un mal uso de la misma.

Big Data, Web Scraping y Data Mining 70


6. APIs web

Formato XML
• XML (eXtensible Markup Languaje) es un lenguaje de marcas empleado para
almacenar datos de forma legible. Tiene una estructura jerárquica.
• Similar a HTML.
• Sirve para intercambio de información.
• Partes del documento XML:
– Declaración: donde se establece la versión y la codificación del documento. También es
posible declarar el tipo de documento (DTD y XML Schema).
– Tags: aparecen entre los símbolos < y >.
o start-tags: <section>
o end-tags: </section>
o empty-element-tags: <section/>
– Elementos: componentes del documento XML. Comienzan por un start-tag y terminan por un
end-tag. Entre los tags aparece el contenido del elemento (puede contener otros elementos a
su vez).
– Atributos: características o propiedades de los elementos (pares clave/valor). Los valores van
entrecomillados (con comillas dobles).

Big Data, Web Scraping y Data Mining 71


6. APIs web

Formato XML – Ejemplo

Big Data, Web Scraping y Data Mining 72


6. APIs web

Formato JSON
• JSON (JavaScript Object Notation) es un formato de intercambio de datos.
• Alternativa a XML gracias a su perfecta integración con JavaScript.
• Muy empleado en el desarrollo de páginas web dinámicas o SPAs (Single Page
Applications).
• Normalmente los documentos JSON se codifican en UTF-8. Aunque también se puede
emplear UTF-16 y UTF-32.
• Tipos básicos en JSON:
– Números: usando punto como separador decimal.
– Cadenas (String): entrecomilladas con comillas dobles.
– Boolean: true o false.
– Array: entre corchetes y con los valores separados por comas.
– null: para representar el valor nulo.
– Objetos: colecciones de pares clave/valor, separados por comas y entre llaves.

Big Data, Web Scraping y Data Mining 73


6. APIs web

Formato JSON – Ejemplo

Big Data, Web Scraping y Data Mining 74


6. APIs web

XML vs JSON

Big Data, Web Scraping y Data Mining 75


6. APIs web

Paquetes para trabajar con APIS web


R Python

Peticiones HTTP httr requests

Procesamiento de formato XML XML lxml

Procesamiento de formato JSON jsonlite, RJSONio json

Algunas detalles importantes

• Muchas web APIs cuentan con paquetes desarrollados en R y/o Python que hacen que
su uso sea mucho más sencillo, simplificando enormemente el proceso. Lo primero que
tendremos que hacer antes de comenzar a codificar es buscar si existe un paquete
propio que podamos usar.

Big Data, Web Scraping y Data Mining 76


6. Ejemplos
Web scraping

Big Data, Web Scraping y Data Mining 77


Ejemplos. Beatiful Soup

A. Extrae datos del Eurostoxx de la siguiente URL:


https://www.expansion.com/mercados/cotizac
iones/indices/eurostoxx_I.5E.html

B. Extrae las características de las películas más


visitadas en filmaffinity según el siguiente link:
https://www.filmaffinity.com/es/mostvisited.php

• Ayuda del paquete BeatifulSoup


• https://pypi.python.org/pypi/beautifulsoup4
• http://www.crummy.com/software/BeautifulS
oup/
• Material extra:
• Wikipedia:
https://www.analyticsvidhya.com/blog/2015/1
0/beginner-guide-web-scraping-beautiful-
soup-python/
Big Data, Web Scraping y Data Mining 78
Ejemplos. Selenium

A. Extraer las competiciones de Kaggle:


https://www.kaggle.com/competitions

B. Obtener los precios de Renfe entre dos


estaciones para una fecha dada:
https://www.renfe.com/es/es

• Ayuda del paquete Selenium


• https://selenium-python.readthedocs.io

• Material extra:
• https://www.analyticsvidhya.com/blog/2021/0
7/learn-data-scraping-using-python-and-
selenium/

Big Data, Web Scraping y Data Mining 79


Ejemplos. Newspaper

A. Descargar y extraer los elementos principales


del siguiente artículo de prensa:
https://www.marca.com/motor/formula1/gp-
azerbaiyan/2022/06/12/62a5e221ca474140348
b4608.html

B. Trabajar con la web de la CNN, descargar


varios artículos y obtener los elementos
principales de estos: http://cnn.com

• Ayuda del paquete Newspaper


• https://newspaper.readthedocs.io/en/latest/in
dex.html
• https://github.com/codelucas/newspaper

Big Data, Web Scraping y Data Mining 80


Ejemplos. Twitter API

A. Utiliza el API de Twitter y extrae los tuits de una


cuenta:
• Documentación API general:
https://developer.twitter.com/en/docs
• Documentación API de búsqueda:
https://developer.twitter.com/en/docs/tweets/search/api-
reference/get-search-tweets

• Solicita un token. (https://developer.twitter.com/)


• Ayuda sobre el paquete tweepy:
https://docs.tweepy.org/en/latest/
• Autenticación:
https://docs.tweepy.org/en/latest/authentication.html

• Un ejemplo de qué se puede hacer:


• https://share.streamlit.io/rsanchezafi/twitter_2020/mai
n/app_twitter.py

Big Data, Web Scraping y Data Mining 81


7. Data Mining

Big Data, Web Scraping y Data Mining 82


7. Data Mining

Proceso de Extracción del Conocimiento (KDD)


(KDD: Knowledge Discovery in Databases)
• El objetivo principal del KDD el de convertir los datos de bajo nivel (que suelen ser
demasiado voluminosos para entenderlos y digerirlos fácilmente) en otras formas:
– Cómodas: informe breve.
– Abstractas: aproximación descriptiva.
– Útiles: modelo predictivo para estimar el valor de casos futuros.

• El método tradicional para convertir los datos en conocimiento se basa en el análisis e


interpretación manual.
– Este enfoque consiste en que varios analistas trabajen los datos y actúen de traductores entre
los datos y los usuarios y productos.
– En muchos casos esta metodología es lenta, cara y muy subjetiva. Además, con el incremento
de los volúmenes de datos se está volviendo impracticable.
– Las bases de datos, cada día, aumentan tanto en número de registros como en número de
características.
– La necesidad de aumentar la capacidad de análisis humano para manejar estos grandes volúmenes de
datos es tanto económica como científica.

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 83


7. Data Mining

Proceso de Extracción del Conocimiento (KDD)


Aplicaciones del KDD

• Marketing: agrupar clientes por su comportamiento de consumo.


• Inversión: desarrollar modelos para predecir el comportamiento del mercado.
• Detección de fraude: detección de operaciones fraudulentas.
• Detección de anomalías.
• Análisis de ventas: seguimiento de tendencia y generación de alarmas.
• Modelos de fuga: medir la probabilidad de que un cliente abandone la compañía.
• Gestión de reclamaciones: algoritmo para gestionar las reclamaciones tramitadas.
• Limpieza de datos: identificación de solicitudes duplicadas y/o mal tramitadas.
• Retail: market-basket analysis.

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 84


7. Data Mining

KDD & Data Mining


• En general, en el ámbito de los datos los términos, en ocasiones, son confusos y no
tienen una definición clara y exacta.

• La expresión “Knowledge Discovery in Databases” es de 1989 con la que Piatestsky-


Shapir trató de destacar que el conocimiento es el producto final de un descubrimiento
basado en datos.

• El KDD se puede definir como el proceso general no trivial de descubrimiento de


conocimiento útil a partir de los datos y la minería de datos (data mining) se refiere a
una etapa de este proceso.

• La minería de datos es la aplicación de algoritmos específicos para extraer patrones de


los datos.

• La minería de datos fuera del KDD, es decir, aplicar a ciegas métodos de minería de
datos se considera: Data dredging (dragado de datos). Esto puede ser peligroso y
conducir a conclusiones erróneas.

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 85


7. Data Mining

Proceso de Extracción del Conocimiento (KDD)


Etapas de KDD

1. Determinación del problema y


establecer objetivos.

2. Comprensión y preparación de
los datos.

3. Preprocesamiento y limpieza de
datos.

4. Data Mining (Minería de datos).

5. Interpretación/Evaluación.

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 86


Data Mining

• Es una etapa del KDD que consiste en aplicar algoritmos


de análisis y descubrimiento de datos que, bajo
limitaciones de eficiencia computacional aceptables,
producen una enumeración particular de patrones (o
modelos) sobre los datos.

• Se basa en diversas técnicas: reconocimiento de


patrones, estadística clásica, machine learning,
conocimiento experto, visualización, etc.

• Existen dos tipos de objetivos:


o Verificación: comprobar la hipótesis del usuario.
o Descubrimiento: encontrar de forma autónoma nuevos
patrones. Principalmente, serán predicciones y
descripciones.

• Los métodos de minería de datos pueden considerarse


compuestos por tres componentes algorítmicos
principales: representación de modelos, evaluación de
modelos y búsqueda.
Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 87


7. Data Mining

Data Mining – Ejemplo


ID_Customer Income Debt Default
0001 27.261,00 € 172.560,00 € 0
0002 173.525,00 € 147.733,00 € 0
0003 86.139,00 € 10.112,00 € 0
0004 157.012,00 € 184.772,00 € 1
0005 171.282,00 € 195.007,00 € 1
0006 142.506,00 € 120.290,00 € 1
0007 152.434,00 € 74.102,00 € 0
0008 112.718,00 € 6.559,00 € 1
0009 52.690,00 € 31.780,00 € 0
0010 196.830,00 € 52.967,00 € 1
0011 29.125,00 € 113.209,00 € 0
0012 123.510,00 € 185.067,00 € 0
0013 133.592,00 € 193.100,00 € 0
0014 30.397,00 € 199.998,00 € 1
0015 15.436,00 € 8.968,00 € 0
0016 154.071,00 € 115.108,00 € 0
0017 176.783,00 € 24.374,00 € 0
0018 36.880,00 € 23.424,00 € 0
0019 103.485,00 € 87.308,00 € 1
0020 44.510,00 € 66.610,00 € 0

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 88


7. Data Mining

Data Mining – Ejemplo

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 89


7. Data Mining

Data Mining – Ejemplo (Clasificación)


Clasificación

Aprendizaje de una función que


asigna (clasifica) una observación
en una de las clases predefinidas.

La entidad podría utilizar las


regiones generadas para decidir
automáticamente si los futuros
solicitantes de préstamos son o no
aptos para recibir un préstamo.

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 90


7. Data Mining

Data Mining – Ejemplo (Regresión)


Regresión

Aprendizaje de una función que


asigna a una observación una
predicción de una variable
objetivo.

En nuestro ejemplo, hemos ajustado


en una recta de regresión lineal la
deuda total respecto a los ingresos.
(La correlación es baja y por ello el
ajuste es mejorable).

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 91


7. Data Mining

Data Mining – Ejemplo (Clustering)


Clustering

Se busca identificar un conjunto


finito de categorías o clústers para
describir los datos. Los clústers
pueden ser mutuamente
excluyentes o consistir en una
representación más complejas,
como categorías jerárquicas.

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 92


7. Data Mining

Data Mining – Ejemplo (Summarization)


Summarization

Métodos para encontrar una descripción compacta de un subconjunto de datos.


Por ejemplo, calcular los estadísticos básicos (media, varianza, cuantiles, …) de
todos los atributos.

Income Debt Default


Media 106.009,30 € 100.652,40 € 0,35

Min 15.436,00 € 6.559,00 € 0,00

Q1 42.602,50 € 29.928,50 € 0,00

Mediana 123.510,00 € 100.258,50 € 0,00

Q3 153.661,75 € 175.613,00 € 1,00

Max 196.830,00 € 199.998,00 € 1,00

Fayyad, U; Piatetsky-Shapir, G. & Smyth, P. (1997) From Data Mining to Knowledge Discovery in Databases.

Big Data, Web Scraping y Data Mining 93


© 2022 Afi. Todos los derechos reservados.

Programación en Python

También podría gustarte