4 formas únicas de obtener conjuntos de datos para su proyecto de aprendizaje automático

Los datos insuficientes suelen ser uno de los principales contratiempos de la mayoría de los proyectos de ciencia de datos. Sin embargo, saber cómo recopilar datos para cualquier proyecto en el que desee embarcarse es una habilidad importante que debe adquirir como científico de datos.

Los científicos de datos y los ingenieros de aprendizaje automático ahora utilizan técnicas modernas de recopilación de datos para adquirir más datos para entrenar algoritmos. Si planea embarcarse en su primer proyecto de ciencia de datos o aprendizaje automático, también debe poder obtener datos.

¿Cómo puede facilitarse el proceso? Echemos un vistazo a algunas técnicas modernas que puede utilizar para recopilar datos.

Por qué necesita más datos para su proyecto de ciencia de datos

Los algoritmos de aprendizaje automático dependen de los datos para ser más precisos, precisos y predictivos. Estos algoritmos se entrenan utilizando conjuntos de datos. El proceso de entrenamiento es un poco como enseñarle a un niño pequeño el nombre de un objeto por primera vez, y luego permitirle identificarlo solo cuando lo vuelva a ver.

Los seres humanos solo necesitan unos pocos ejemplos para reconocer un nuevo objeto. Eso no es así para una máquina, ya que necesita cientos o miles de ejemplos similares para familiarizarse con un objeto.

Estos ejemplos u objetos de entrenamiento deben venir en forma de datos. Luego, un algoritmo de aprendizaje automático dedicado recorre ese conjunto de datos llamado conjunto de entrenamiento y aprende más sobre él para ser más preciso.

Eso significa que si no proporciona suficientes datos para entrenar su algoritmo, es posible que no obtenga el resultado correcto al final de su proyecto porque la máquina no tiene suficientes datos de los que aprender.

Por lo tanto, es necesario obtener datos adecuados para mejorar la precisión de su resultado. Veamos algunas estrategias modernas que puede usar para lograrlo a continuación.

1. Extracción de datos directamente desde una página web

El web scraping es una forma automatizada de obtener datos de la web. En su forma más básica, el web scraping puede implicar copiar y pegar los elementos de un sitio web en un archivo local.

Sin embargo, el web scraping también implica escribir scripts especiales o usar herramientas dedicadas para extraer datos de una página web directamente. También podría implicar una recopilación de datos más profunda utilizando interfaces de programación de aplicaciones (API) como Serpstack .

Aunque algunas personas creen que el web scraping podría provocar la pérdida de propiedad intelectual, eso solo puede suceder cuando las personas lo hacen de manera maliciosa. El web scraping es legal y ayuda a las empresas a tomar mejores decisiones al recopilar información pública sobre sus clientes y competidores.

Relacionado: ¿Qué es Web Scraping? Cómo recopilar datos de sitios web

Por ejemplo, puede escribir un guión para recopilar datos de las tiendas en línea para comparar precios y disponibilidad. Si bien puede ser un poco más técnico, también puede recopilar medios sin procesar como archivos de audio e imágenes en la web.

Eche un vistazo al código de ejemplo a continuación para echar un vistazo al web scraping con la biblioteca de analizador HTML beautifulsoup4 de Python.

 from bs4 import BeautifulSoup
from urllib.request import urlopen
url = "Enter the full URL of the target webpage here"
targetPage = urlopen(url)
htmlReader = targetPage.read().decode("utf-8")
webData = BeautifulSoup(htmlReader, "html.parser")
print(webData.get_text())

Antes de ejecutar el código de ejemplo, deberá instalar la biblioteca. Cree un entorno virtual desde su línea de comandos e instale la biblioteca ejecutando pip install beautifulsoup4 .

2. A través de formularios web

También puede aprovechar los formularios en línea para la recopilación de datos. Esto es más útil cuando tiene un grupo objetivo de personas del que desea recopilar los datos.

Una desventaja de enviar formularios web es que es posible que no recopile tantos datos como desee. Es bastante útil para pequeños proyectos o tutoriales de ciencia de datos, pero es posible que tenga limitaciones al intentar llegar a un gran número de personas anónimas.

Aunque existen servicios de recolección de datos en línea pagados, no se recomiendan para individuos, ya que en su mayoría son demasiado costosos, excepto si no le importa gastar algo de dinero en el proyecto.

Existen varios formularios web para recopilar datos de personas. Uno de ellos es Google Forms, al que puede acceder yendo a forms.google.com . Puede utilizar Formularios de Google para recopilar información de contacto , datos demográficos y otros datos personales.

Una vez que cree un formulario, todo lo que necesita hacer es enviar el enlace a su público objetivo por correo, SMS o cualquier medio disponible.

Sin embargo, Google Forms es solo un ejemplo de formularios web populares. Existen muchas alternativas que también hacen excelentes trabajos de recopilación de datos.

3. A través de las redes sociales

También puede recopilar datos a través de medios sociales como Facebook, LinkedIn, Instagram y Twitter. Obtener datos de las redes sociales es un poco más técnico que cualquier otro método. Está completamente automatizado e implica el uso de diferentes herramientas API.

Puede ser difícil extraer datos de las redes sociales, ya que están relativamente desorganizadas y hay una gran cantidad de ellas. Si se organiza correctamente, este tipo de conjunto de datos puede ser útil en proyectos de ciencia de datos que involucran análisis de sentimientos en línea, análisis de tendencias del mercado y marca en línea.

Por ejemplo, Twitter es un ejemplo de una fuente de datos de redes sociales donde puede recopilar un gran volumen de conjuntos de datos con su paquete tweepy Python API, que puede instalar con el comando pip install tweepy .

Para un ejemplo básico, el bloque de código para extraer los Tweets de la página de inicio de Twitter se ve así:

 import tweepy
import re
myAuth = tweepy.OAuthHandler(paste consumer_key here, paste consumer_secret key here)
auth.set_access_token(paste access_token here, paste access_token_secret here)
authenticate = tweepy.API(myAuth)
target_tweet = api.home_timeline()
for targets in target_tweet:
print(targets.text)

Puede visitar el sitio web docs.tweepy.org para acceder a la documentación de tweepy para obtener más detalles sobre cómo usarlo. Para utilizar la API de Twitter, debe solicitar una cuenta de desarrollador dirigiéndose al sitio web developer.twitter.com .

Facebook es otra poderosa plataforma de redes sociales para recopilar datos. Utiliza un punto final de API especial llamado Facebook Graph API. Esta API permite a los desarrolladores recopilar datos sobre el comportamiento de usuarios específicos en la plataforma de Facebook. Puede acceder a la documentación de la API Graph de Facebook en developers.facebook.com para obtener más información al respecto.

Una explicación detallada de la recopilación de datos de redes sociales con API está fuera del alcance de este artículo. Si está interesado en obtener más información, puede consultar la documentación de cada plataforma para conocerlos en profundidad.

Además de escribir scripts para conectarse a un punto final de API, también están disponibles los datos de redes sociales que recopilan herramientas de terceros como Scraping Expert y muchas otras. Sin embargo, la mayoría de estas herramientas web tienen un precio.

4. Recopilación de conjuntos de datos preexistentes de fuentes oficiales

También puede recopilar conjuntos de datos preexistentes de fuentes autorizadas. Este método implica visitar bancos de datos oficiales y descargar conjuntos de datos verificados de ellos. A diferencia del web scraping y otras opciones, esta opción es más rápida y requiere poco o ningún conocimiento técnico.

Los conjuntos de datos de este tipo de fuentes suelen estar disponibles en formatos CSV, JSON, HTML o Excel. Algunos ejemplos de fuentes de datos autorizadas son el Banco Mundial , UNdata y varios otros.

Algunas fuentes de datos pueden hacer que los datos actuales sean privados para evitar que el público acceda a ellos. Sin embargo, sus archivos suelen estar disponibles para su descarga.

Más fuentes de conjuntos de datos oficiales para su proyecto de aprendizaje automático

Esta lista debería brindarle un buen punto de partida para obtener diferentes tipos de datos con los que trabajar en sus proyectos.

Hay muchas más fuentes que esta, y una búsqueda cuidadosa lo recompensará con datos perfectos para sus propios proyectos de ciencia de datos.

Combine estas técnicas modernas para obtener mejores resultados

La recopilación de datos puede resultar tediosa cuando las herramientas disponibles para la tarea son limitadas o difíciles de comprender. Si bien los métodos más antiguos y convencionales aún funcionan bien y son inevitables en algunos casos, los métodos modernos son más rápidos y confiables.

Sin embargo, en lugar de depender de un solo método, una combinación de estas formas modernas de recopilar sus datos tiene el potencial de producir mejores resultados.