Este artículo fue publicado como parte del Blogatón de ciencia de datos.
Introducción
Siempre he estado enamorado de la visualización de datos desde el día en que comencé a trabajar en ella. Siempre disfruto obteniendo información útil a partir de los datos. Antes de esto, solo conocía gráficos básicos como gráficos de barras, diagramas de dispersión, histogramasLos histogramas son representaciones gráficas que muestran la distribución de un conjunto de datos. Se construyen dividiendo el rango de valores en intervalos, o "bins", y contando cuántos datos caen en cada intervalo. Esta visualización permite identificar patrones, tendencias y la variabilidad de los datos de manera efectiva, facilitando el análisis estadístico y la toma de decisiones informadas en diversas disciplinas...., etc.que están incorporados en Tableau y Power BI en la visualización de datos. Al trabajar todos los días en esta tarea, me encontré con muchos gráficos nuevos, como gráficos de calibre radial, gráficos de gofres, etc.
Entonces, por curiosidad, recientemente estaba buscando todos los tipos de gráficos que se utilizan en la visualización de datos, donde esta nube de palabras me llamó la atención y me pareció muy interesante. Hasta ahora, ver estas imágenes de nubes de palabras me obligó a pensar que estas son solo imágenes aleatorias donde esas palabras están ordenadas al azar, pero estaba equivocado, y dónde comenzó todo. Después de esto, intenté crear una nube de palabras a partir de datos pequeños en Tableau y Power BI. Después de ese intento exitoso, quise probarlo por código haciendo gráficos de barras, gráficos circulares y otros gráficos.
¿Qué es básicamente una nube de palabras?
Definición: Una nube de palabras es un objeto de representación visual simple pero poderoso para el procesamiento de texto, que muestra la palabra más frecuente con letras más grandes y en negrita, y con diferentes colores. Cuanto menor sea el tamaño de la palabra, menor será la importancia.
Usos de Tag Cloud
1) Top hashtags en las redes sociales (Instagram, Twitter): En todo el mundo, las redes sociales están en tendencia para las últimas actualizaciones, por lo que podemos obtener los Hashtags más utilizados que la gente usa en sus publicaciones.
2) Temas candentes en los medios: Al analizar los artículos de noticias, podemos encontrar las palabras clave en los titulares y extraer los n temas más exigentes y obtener el resultado deseado, es decir, los n temas de medios de mayor tendencia.
3)Término de búsqueda en un comercio electrónico: En un sitio web de compras de comercio electrónico, el propietario puede crear la nube de palabras de los artículos de compra que más se han buscado. Por lo tanto, puede hacerse una idea de qué compras tienen una gran demanda durante un período específico.
Comencemos a codificar en python para lograr este tipo de nube de palabras
En primer lugar, necesitamos instalar todas las bibliotecas en el cuaderno jupyter.
Entonces, en Python, hay una biblioteca incorporada wordcloud que instalaremos. En el símbolo del sistema de Anaconda, escriba el siguiente código:
pip install wordcloud
Si su entorno anaconda admite conda, escriba:
conda install wordcloud
Aunque, esto se puede lograr directamente en el propio portátil, simplemente agregando ‘!’ al principio del código
Igual que:
!pip install wordcloud
Ahora, aquí generaré la nube de palabras del texto de Wikipedia de cualquier tema. Por lo tanto, necesitaré una biblioteca de Wikipedia para acceder a la API de Wikipedia, lo que se puede hacer instalando Wikipedia en el símbolo del sistema anaconda de la siguiente manera:
pip install wikipedia
Ahora hay algunas otras bibliotecas que necesitamos, son numerosas. matplotlib y pandas.
A partir de ahora, tenemos todas las bibliotecas para crear la nube de etiquetas.
import wikipedia
result= wikipedia.page("MachineLearning") final_result = result.content print(final_result)
El resultado de la página de Wikipedia de Machine Learning
Lo anterior es la imagen del resultado que obtuvimos al recuperar la página de aprendizaje automático de Wikipedia. Allí también podremos ver el desplazamiento hacia abajo, lo que significa que se recupera toda la página.
Aquí, también podemos obtener el resumen de la página mediante el método de resumen como se muestra a continuación: y
result= wikipedia.summary("MachineLearning", sentences=5) print(result)
Aquí tenemos el parámetro de oraciones, por lo que podemos usarlo para recuperar un número específico de líneas.
La salida de 5 oraciones
Tengamos la nube de palabras ahora
from wordcloud import WordCloud, StopWords import matplotlib.pyplot as plt def plot_cloud(wordcloud): plt.figure(figsize=(10, 10)) plt.imshow(wordcloud) plt.axis("off"); wordcloud = WordCloud(width = 500, height = 500, background_color="pink", random_state=10).generate(final_result) plot_cloud(wordcloud)
Las palabras vacías son las palabras que no tienen ningún significado como ‘es’, ‘son’, ‘una’, ‘yo’ y muchas más.
Wordcloud viene con una biblioteca incorporada de palabras vacías, que eliminará automáticamente las palabras vacías del texto.
Pero, algo interesante que viene aquí es que podemos agregar nuestra elección de palabras vacías en Python mediante la función stopwords.add ().
El método de Wordcloud tendrá ancho y alto para configurar, he configurado ambos como 500, el color de fondo como rosa. Si no agrega un estado aleatorio, cada vez que ejecute su código, su nube de palabras se verá diferente. Debe establecerse como un valor int.
Aquí está la nube de palabras deseada, obtendremos del código anterior:
Al ver la figura"Figura" es un término que se utiliza en diversos contextos, desde el arte hasta la anatomía. En el ámbito artístico, se refiere a la representación de formas humanas o animales en esculturas y pinturas. En la anatomía, designa la forma y estructura del cuerpo. Además, en matemáticas, "figura" se relaciona con las formas geométricas. Su versatilidad hace que sea un concepto fundamental en múltiples disciplinas.... anterior, vemos que el aprendizaje automático es la palabra más utilizada, y hay algunas otras palabras que se utilizan con frecuencia como modelo, tarea, entrenamientoEl entrenamiento es un proceso sistemático diseñado para mejorar habilidades, conocimientos o capacidades físicas. Se aplica en diversas áreas, como el deporte, la educación y el desarrollo profesional. Un programa de entrenamiento efectivo incluye la planificación de objetivos, la práctica regular y la evaluación del progreso. La adaptación a las necesidades individuales y la motivación son factores clave para lograr resultados exitosos y sostenibles en cualquier disciplina...., datos. Entonces podemos concluir que el aprendizaje automático es la tarea de entrenar el modelo de datos.
También podemos cambiar el color de fondo color de fondo método y los colores de fuente por mapa de colores método aquí y también podemos agregar los códigos hash de los colores en el color de fondo, pero el mapcolor viene con los colores específicos incorporados.
Cambiemos el color de fondo a turquesa usando su código hash y los colores de fuente a azul:
from wordcloud import WordCloud, StopWords import matplotlib.pyplot as plt def plot_cloud(wordcloud): plt.figure(figsize=(10, 10)) plt.imshow(wordcloud) plt.axis("off"); wordcloud = WordCloud(width = 500, height = 500, background_color="#40E0D0", colormap="ocean", random_state=10).generate(final_result) plot_cloud(wordcloud)
Aquí, he especificado océano, si agrego un mapa de color incorrecto, jupyter arrojará un error de valor y me mostrará las opciones disponibles para el mapa de color como se muestra a continuación:
Wor cloud también se puede implementar en cualquier imagen utilizando la biblioteca PIL.
Notas finales
En este artículo, discutimos sobre la nube de palabras, su definición, sus áreas de aplicación y su ejemplo en python usando jupyter notebook.