La industria musical moderna se encuentra fuertemente impulsada por las plataformas de streaming, como Spotify, que no solo ofrecen acceso inmediato a millones de canciones, sino que también recopilan grandes cantidades de datos sobre características sonoras y preferencias de los usuarios. En este entorno altamente competitivo y dinámico, la personalización de contenidos se ha convertido en un factor clave para retener usuarios, mejorar la experiencia musical y fomentar el descubrimiento de nuevos artistas.
Uno de los grandes desafíos que enfrentan las plataformas de música en línea es cómo organizar y recomendar canciones de forma efectiva. Debido a la gran cantidad de música disponible, identificar patrones en las características de las canciones puede ayudar significativamente en la creación de listas de reproducción automáticas, descubrimiento de música similar y segmentación de catálogos por estilo o “mood”.
Aquí es donde los modelos de clustering pueden desempeñar un
papel fundamental. Mediante el agrupamiento de canciones en función de
características como danceability
, energy
,
tempo
, valence
y otras propiedades extraídas
mediante análisis de audio, es posible identificar grupos de canciones
con perfiles musicales similares. Estos grupos pueden representar
géneros, estados de ánimo o estilos comunes, sin necesidad de etiquetas
explícitas, lo que ofrece un enfoque más objetivo y adaptable al
análisis de contenido musical.
El análisis mediante técnicas de clustering desempeña un papel clave en la organización y gestión del contenido musical en plataformas de streaming como Spotify. Estas plataformas manejan catálogos con millones de canciones, y agruparlas según sus características acústicas —como la energía, la bailabilidad, el tempo o la valencia emocional— permite identificar similitudes que no dependen necesariamente de etiquetas de género o metadatos manuales. A través del agrupamiento no supervisado, se pueden generar estructuras lógicas que reflejan cómo suenan realmente las canciones, lo cual aporta una clasificación más objetiva y funcional del contenido musical.
Una de las aplicaciones más significativas del clustering es la mejora en la personalización de la experiencia del usuario. Al conocer el tipo de canciones que escucha una persona y los clústeres a los que pertenecen, la plataforma puede recomendar nuevos temas con perfiles similares, lo que incrementa la relevancia de las sugerencias. Asimismo, este agrupamiento permite generar listas de reproducción de forma automatizada, garantizando que las canciones seleccionadas mantengan una coherencia sonora entre sí. Esta automatización no solo reduce el esfuerzo curatorial, sino que también permite escalar la personalización para millones de usuarios simultáneamente.
Además, el clustering abre la posibilidad de realizar análisis a gran escala sobre tendencias musicales y dinámicas de consumo. Al observar cómo cambian los grupos de canciones más escuchados a lo largo del tiempo, es posible identificar la evolución de estilos musicales o el surgimiento de nuevas combinaciones sonoras. Esta información resulta valiosa tanto para la plataforma como para artistas y productores, ya que permite adaptar estrategias de mercado. Del mismo modo, las canciones emergentes que comparten características con éxitos populares pueden ser promovidas automáticamente, fomentando el descubrimiento de nuevos talentos y diversificando la oferta musical disponible para los oyentes.
El uso de técnicas de clustering en el análisis de canciones tiene un impacto directo en la retención de usuarios, incremento del tiempo de escucha y fidelización. Los usuarios valoran la personalización y la capacidad de descubrir nueva música que se ajusta a sus gustos. Además, al automatizar parte del proceso de curaduría, Spotify puede optimizar recursos humanos y ofrecer contenido de valor a escala global.
Por otro lado, los artistas y sellos discográficos pueden beneficiarse de estos análisis, obteniendo información útil sobre el posicionamiento de sus canciones frente a otras similares, y planificando estrategias de lanzamiento más efectivas.
El problema de agrupar canciones según sus características acústicas y patrones de escucha se puede abordar mediante un análisis de datos no supervisado, cuyo objetivo es identificar estructuras latentes dentro del conjunto musical sin necesidad de contar con etiquetas predefinidas. En este caso, transformamos el problema en una tarea de clustering, en la que buscamos detectar grupos naturales de canciones que presenten similitudes significativas en sus propiedades sonoras o en la manera en que los usuarios las consumen.
Aplicaremos algoritmos de clustering, como K-Means, con el fin de identificar clústeres de canciones que compartan características similares. El resultado de este proceso no será una predicción directa, como ocurre en los modelos supervisados, sino una clasificación emergente que nos permitirá descubrir agrupaciones musicales útiles para generar playlists más coherentes, mejorar las recomendaciones personalizadas, analizar tendencias y ofrecer herramientas analíticas para artistas y productores.
El primer paso será recopilar datos musicales representativos,
utilizando para ello la base de datos “Million Song Dataset +
Spotify + Last.fm”, disponible en Kaggle. Este conjunto combina
información de audio extraída de la API de Spotify con datos de escucha
de usuarios provenientes de Last.fm, lo que permite un análisis robusto
tanto desde el punto de vista sonoro como del comportamiento del oyente.
La base incluye variables cuantitativas clave como
danceability
, energy
, tempo
,
valence
, loudness
, acousticness
,
instrumentalness
, y speechiness
, las cuales
describen el perfil acústico de cada canción.
A continuación, estos datos serán preparados para su análisis. El proceso de preparación incluye la selección de las variables más relevantes, la eliminación de valores faltantes, y la normalización de las características numéricas para asegurar que todas tengan un peso proporcional en el modelo. Esta etapa es fundamental, ya que garantiza que el algoritmo de agrupamiento no se vea influenciado de forma injusta por escalas distintas entre variables. Además, se podrán explorar y depurar valores atípicos que podrían distorsionar los resultados del agrupamiento.
Una vez los datos estén listos, se aplicará un algoritmo de clustering, como K-Means, que permitirá segmentar las canciones en diferentes clústeres basados en su similitud dentro del espacio de características acústicas. El objetivo no será predecir una etiqueta fija, sino descubrir patrones subyacentes que agrupen canciones con perfiles similares. Estos grupos podrán ser utilizados para múltiples fines prácticos, como generar automáticamente listas de reproducción coherentes, mejorar la personalización de las recomendaciones para los usuarios, y analizar tendencias musicales a partir de las características dominantes de cada grupo.
Este enfoque de análisis de datos permitirá a Spotify optimizar la organización y recomendación de canciones al agruparlas automáticamente según sus características acústicas y patrones de escucha, lo que mejorará la coherencia de las playlists, la precisión de las recomendaciones y el descubrimiento de música emergente, enriqueciendo así la experiencia del usuario. Además, la segmentación obtenida a través del clustering proporcionará herramientas para analizar tendencias musicales y patrones de consumo, permitiendo una personalización más avanzada y la creación de playlists adaptadas a los gustos individuales, lo que incrementará la satisfacción y la interacción de los usuarios. Por último, artistas y productores podrán usar los resultados del análisis para ajustar su producción y estrategia de promoción, mejorando su visibilidad y éxito comercial, lo que impulsará el crecimiento del ecosistema musical en general.
El conjunto de datos está compuesto por:
## Número de filas (observaciones): 50683
## Número de columnas (variables): 21
Estas variables se dividen según su tipo de dato en:
## Cantidad de variables numéricas: 14
Que incluyen información como el número de noches reservadas, el número de acompañantes, el tiempo de antelación con el que se realizó la reserva, la tarifa diaria promedio, entre otras.
## Cantidad de variables categóricas: 7
Que representan atributos como el tipo de hotel, el país de procedencia del cliente, el canal de distribución, el estado de la reserva y el tipo de cliente.
A continuación se listan las variables incluidas en el dataset:
## Variables del dataset:
## [1] "track_id" "name" "artist"
## [4] "spotify_preview_url" "spotify_id" "tags"
## [7] "genre" "year" "duration_ms"
## [10] "danceability" "energy" "key"
## [13] "loudness" "mode" "speechiness"
## [16] "acousticness" "instrumentalness" "liveness"
## [19] "valence" "tempo" "time_signature"
A continuación, se presenta una tabla con la descripción de las principales variables del conjunto de datos, su tipo y su significado en el contexto del análisis de características acústicas y patrones de escucha de canciones:
variable | tipo | faltantes | estadisticas | descripcion |
---|---|---|---|---|
year | numeric | 0 | Min: 1900 Max: 2022 Media: 2004.01732336286 SD: 8.86017154432944 | Año de lanzamiento de la canción |
duration_ms | numeric | 0 | Min: 1439 Max: 3816373 Media: 251155.105972417 SD: 107585.956030556 | Duración de la canción en milisegundos |
danceability | numeric | 0 | Min: 0 Max: 0.986 Media: 0.493536767752501 SD: 0.17883817533494 | Bailabilidad de la canción (0 a 1, 1 es más bailable) |
energy | numeric | 0 | Min: 0 Max: 1 Media: 0.686486489343567 SD: 0.25180819803198 | Nivel de energía de la canción (0 a 1, 1 es más energética) |
key | numeric | 0 | Min: 0 Max: 11 Media: 5.31274786417536 SD: 3.56807782780643 | Tonalidad musical de la canción (en notas musicales) |
loudness | numeric | 0 | Min: -60 Max: 3.642 Media: -8.29120381587514 SD: 4.54836494239376 | Volumen medio de la canción en decibelios (dB) |
mode | numeric | 0 | Min: 0 Max: 1 Media: 0.631059724167867 SD: 0.482522478759781 | Modo musical de la canción (Mayor o menor) |
speechiness | numeric | 0 | Min: 0 Max: 0.954 Media: 0.0760227137304422 SD: 0.076007396184396 | Cantidad de contenido hablado en la canción (0 a 1, 1 es más hablado) |
acousticness | numeric | 0 | Min: 0 Max: 0.996 Media: 0.213807674689738 SD: 0.302848400211625 | Nivel de acústica de la canción (0 a 1, 1 es más acústica) |
instrumentalness | numeric | 0 | Min: 0 Max: 0.999 Media: 0.225283354239883 SD: 0.337049275671686 | Nivel de instrumentalidad de la canción (0 a 1, 1 es más instrumental) |
liveness | numeric | 0 | Min: 0 Max: 0.999 Media: 0.215424791547462 SD: 0.18469653649309 | Nivel de energía en vivo de la canción (0 a 1, 1 es más en vivo) |
valence | numeric | 0 | Min: 0 Max: 0.993 Media: 0.433133885918355 SD: 0.258779400110979 | Valoración emocional de la canción (0 a 1, 1 es más positiva) |
tempo | numeric | 0 | Min: 0 Max: 238.895 Media: 123.507681924906 SD: 29.6211249677354 | Tempo o ritmo de la canción en pulsos por minuto (BPM) |
time_signature | numeric | 0 | Min: 0 Max: 5 Media: 3.89815125387211 SD: 0.419669894300827 | Firma de tiempo musical de la canción (por ejemplo, 4/4, 3/4, etc.) |
track_id | character | 0 | N/a | ID único de la pista |
name | character | 0 | N/a | Nombre de la canción |
artist | character | 0 | N/a | Nombre del artista de la canción |
spotify_preview_url | character | 0 | N/a | URL previa de la canción en Spotify |
spotify_id | character | 0 | N/a | ID único de la canción en Spotify |
tags | character | 1127 | N/a | Etiquetas asociadas a la canción |
genre | character | 28335 | N/a | Género musical de la canción |
year (Año de lanzamiento de la canción)
:
duration_ms (Duración de la canción)
:
danceability (Bailabilidad)
:
energy (Energía)
:
loudness (Volumen medio)
:
valence (Positividad emocional)
:
instrumentalness (Instrumentalidad)
:
speechiness (Contenido hablado)
:
tempo (Ritmo en BPM)
:
acousticness (Acústica)
:
En esta etapa se analiza cada variable de forma individual con el objetivo de entender su distribución, identificar valores atípicos y detectar posibles problemas en los datos. Esto es esencial para preparar correctamente las variables antes de evaluar su relación con la cancelación de reservas y construir modelos predictivos más robustos.
En esta sección, se detalla el proceso de preparación de los datos, basado en el análisis previo de las variables. Este paso es crucial para garantizar que el modelo de clasificación sea robusto y confiable. Según la Descripción y Análisis de Variables, se identificaron las siguientes acciones necesarias para preparar los datos:
Se eliminaron variables que no aportan información relevante al modelo o que podrían introducir ruido en el análisis. En este caso, se eliminaron las siguientes variables:
track_id
: Esta variable representa
un identificador único para cada canción. Aunque es útil para
identificar registros, no aporta información sobre las características
acústicas o patrones de escucha de las canciones, por lo que no
contribuye al análisis de agrupamiento.
spotify_preview_url
: Esta variable
contiene enlaces a vistas previas de las canciones en Spotify. Si bien
es útil para acceder a las canciones, no tiene relevancia en el análisis
de características acústicas ni en la agrupación de canciones.
spotify_id
: Similar a track_id,
esta variable es un identificador único proporcionado por Spotify. No
aporta información significativa para el análisis de patrones acústicos
o de escucha, por lo que se decidió eliminarla.
tags
: Etiquetas asociadas a las
canciones. Contiene texto no estructurado que no es útil para el modelo
de clustering.
name
: Nombre de la canción. Es un
identificador textual que no aporta información acústica.
genre
: Se elimina los NA ya que con
genre evaluaremos que tanto logra el modelo captar las variaciones de
los generos
## Número de valores faltantes después de reemplazar:
## artist genre year duration_ms
## 0 0 0 0
## danceability energy key loudness
## 0 0 0 0
## mode speechiness acousticness instrumentalness
## 0 0 0 0
## liveness valence tempo time_signature
## 0 0 0 0
En el proceso de preparación de los datos, se tomó la decisión de
filtrar los valores atípicos en las
variables tempo
y duration_ms
debido
a las siguientes razones:
tempo
(Ritmo en BPM)Descripción: Representa el ritmo de la canción en pulsos por minuto (BPM). Es una característica clave para identificar la energía rítmica de las canciones.
Razón para filtrar valores atípicos:
Coherencia musical: El rango típico de tempo para canciones musicales está entre 40 BPM y 240 BPM. Valores fuera de este rango son poco comunes y probablemente corresponden a errores en los datos o canciones no convencionales.
Impacto en el análisis: Valores extremos pueden sesgar los resultados del modelo de clustering, ya que el algoritmo podría interpretar estos valores como características significativas y agrupar canciones de manera incorrecta.
duration_ms
(Duración de la canción en
milisegundos)Descripción: Representa la duración de la canción en milisegundos. Es una métrica importante para diferenciar canciones regulares de contenido más extenso, como mixes o podcasts.
Razón para filtrar valores atípicos:
Definición de canciones regulares: La mayoría de las canciones tienen una duración típica entre 1 minuto (60,000 ms) y 10 minutos (600,000 ms). Valores fuera de este rango probablemente corresponden a contenido no convencional, como mixes de música o podcasts.
Relevancia para el análisis: El objetivo del análisis es agrupar canciones individuales. Incluir valores extremos podría distorsionar los resultados y generar clústeres que no representen canciones regulares.
# Eliminar filas duplicadas
data_preparado <- data_preparado %>% distinct()
## Dimensiones después de la limpieza: 21925 filas y 16 columnas
Variable | Valores_Unicos | |
---|---|---|
artist | artist | 5112 |
genre | genre | 15 |
En el análisis de clustering de canciones, se determinó que la variable artist, con 8,273 valores únicos, introduce ruido al modelo debido a su excesiva granularidad y falta de relación directa con las características acústicas. El nombre del artista no refleja necesariamente similitudes sonoras entre canciones, por lo que su inclusión no aporta valor al objetivo principal del análisis.
Además, considerar esta variable incrementa la complejidad computacional y eleva el riesgo de sobreajuste, ya que el modelo podría centrarse en patrones particulares de ciertos artistas en lugar de identificar similitudes acústicas generales. Por estas razones, se optó por eliminar la variable artist, con el fin de mejorar la eficiencia, precisión e interpretabilidad del modelo.
## Dimensiones después de la limpieza de artist: 21925 filas y 15 columnas
Si bien se decidió no incluir la variable genre como entrada en el modelo de clustering, esta se conservará en el conjunto de datos original debido a su importancia para la interpretación de los resultados. Al no participar en la formación de los clústeres, se garantiza que estos se construyan únicamente a partir de las características acústicas de las canciones. Sin embargo, mantener genre disponible permitirá, una vez aplicado el modelo, examinar cómo se distribuyen los distintos géneros dentro de cada clúster, aportando valor analítico al proceso.
Antes de aplicar K-Means, es importante normalizar las variables numéricas para que todas tengan el mismo peso en el modelo.
Para determinar la cantidad óptima de clústeres en el modelo de K-Means, se recomienda emplear una metodología basada en la búsqueda de hiperparámetros, que permita identificar el número de clústeres más adecuado para el conjunto de datos. Entre las técnicas más utilizadas para este propósito se encuentran el método del codo (Elbow Method), el índice de silueta (Silhouette Score) y el gap statistic. A continuación, se presenta un enfoque detallado para implementar esta búsqueda de manera efectiva.
Durante la implementación del algoritmo K-Means sobre el conjunto de datos, se presentó el mensaje de error “Quick-TRANSfer stage steps exceeded maximum”, el cual indica que el algoritmo tuvo dificultades para converger. Este problema suele estar asociado a una alta dimensionalidad del conjunto de datos o a la presencia de ruido en las variables, lo que puede dificultar que K-Means encuentre clústeres estables y bien definidos.
Para abordar esta situación, una solución adecuada es aplicar una técnica de reducción de dimensionalidad, como el Análisis de Componentes Principales (PCA), antes de ejecutar el modelo de clustering. PCA permite transformar el conjunto de datos original en un espacio de menor dimensión, conservando la mayor parte de la varianza de los datos. Esto no solo reduce la complejidad del problema, sino que también ayuda a eliminar el ruido, facilitando la convergencia del algoritmo y mejorando la calidad de los clústeres generados. Por lo tanto, se recomienda realizar una transformación con PCA como paso previo a la aplicación de K-Means.
## Proporción de varianza explicada por las primeras componentes principales:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10
## 0.19436 0.12121 0.09042 0.08094 0.07584 0.07239 0.06616 0.06443 0.05936 0.05690
## PC11 PC12 PC13 PC14
## 0.05406 0.02833 0.02424 0.01137
## Número de componentes principales seleccionados: 11
El método del codo (Elbow Method) es una técnica ampliamente utilizada para determinar el número óptimo de clústeres en un modelo de K-Means. Este enfoque consiste en evaluar la suma de las distancias cuadradas dentro de los clústeres, también conocida como inercia o tot.withinss, para distintos valores de k (el número de clústeres). A medida que se incrementa el valor de k, la inercia disminuye, ya que los clústeres se vuelven más compactos. Sin embargo, llega un punto donde la reducción de la inercia comienza a estabilizarse, formando una especie de “codo” en la gráfica. Este punto de inflexión es considerado como el número óptimo de clústeres, ya que indica el valor de k en el que agregar más clústeres no proporciona mejoras significativas en la calidad del modelo.
En el gráfico generado mediante el Método del Codo, aplicado sobre los datos transformados con Análisis de Componentes Principales (PCA), se observa que la suma de distancias cuadradas dentro de los clústeres disminuye notablemente entre los valores de k = 2 y k = 4 o 5. A partir de ese punto, la reducción en la inercia se vuelve más gradual y lineal, lo que indica que agregar más clústeres no genera una mejora significativa en la calidad de la segmentación.
Con base en este análisis visual, se concluye que el número óptimo de clústeres es k = 4. Este valor representa el punto en el que se forma un “codo” claro en la curva, lo cual sugiere un equilibrio adecuado entre la simplicidad del modelo y su capacidad para capturar la estructura subyacente de los datos.
## Distribución de canciones por clúster:
##
## 1 2 3 4
## 4056 7187 3556 7126
Para evaluar el desempeño de la transformación mediante PCA en el contexto del análisis, se pueden utilizar diversas métricas y enfoques que permiten interpretar en qué medida las componentes principales capturan la información más relevante del conjunto de datos. Además, es útil analizar cómo estas componentes se relacionan con la variable genre para comprender si la reducción de dimensionalidad preserva patrones asociados a los géneros musicales. A continuación, se presenta un enfoque detallado para realizar esta evaluación.
Un primer paso en la evaluación del desempeño de PCA consiste en analizar la proporción de varianza explicada por las componentes principales. Esta métrica permite determinar cuánta información del conjunto de datos original es retenida tras la reducción de dimensionalidad. Al observar la varianza explicada acumulada, se puede identificar el número óptimo de componentes necesarios para conservar la mayor parte de la información relevante sin comprometer la eficiencia del modelo.
La gráfica de varianza explicada acumulada muestra que, al considerar las primeras 11 componentes principales, se alcanza aproximadamente el 90 % de la varianza total del conjunto de datos original. Esto indica que las componentes seleccionadas retienen la mayor parte de la información relevante, logrando una reducción efectiva de la dimensionalidad sin una pérdida significativa de datos. Por lo tanto, el uso de 11 componentes en el modelo es una decisión adecuada, ya que permite simplificar el espacio de características mientras se conserva un nivel alto de representación de la estructura original de los datos.
genre
Aunque la variable genre no se utilizó en la construcción del modelo PCA, se analizó su distribución dentro del espacio reducido definido por las componentes principales. Este análisis permite evaluar si el modelo logró identificar patrones subyacentes que diferencian los géneros musicales. La presencia de agrupaciones claras por género en este espacio sugiere que las componentes principales capturan información relevante para la clasificación musical, lo que refuerza la utilidad de la representación reducida en etapas posteriores del análisis.
cluster | genre | cantidad |
---|---|---|
1 | Electronic | 1607 |
1 | Rock | 1357 |
1 | Metal | 611 |
1 | Jazz | 120 |
1 | Pop | 68 |
1 | Rap | 64 |
1 | New Age | 45 |
1 | RnB | 43 |
1 | Reggae | 37 |
1 | Punk | 28 |
1 | Country | 22 |
1 | Folk | 18 |
1 | World | 17 |
1 | Blues | 15 |
1 | Latin | 4 |
2 | Rock | 3166 |
2 | Electronic | 897 |
2 | Pop | 578 |
2 | Rap | 519 |
2 | Reggae | 472 |
2 | RnB | 436 |
2 | Country | 318 |
2 | Jazz | 238 |
2 | Metal | 166 |
2 | Punk | 96 |
2 | Blues | 88 |
2 | Folk | 84 |
2 | Latin | 60 |
2 | World | 57 |
2 | New Age | 12 |
3 | Rock | 1470 |
3 | Electronic | 581 |
3 | Jazz | 302 |
3 | Folk | 208 |
3 | Pop | 204 |
3 | New Age | 159 |
3 | Country | 142 |
3 | Metal | 131 |
3 | RnB | 108 |
3 | World | 53 |
3 | Blues | 52 |
3 | Reggae | 51 |
3 | Rap | 49 |
3 | Latin | 23 |
3 | Punk | 23 |
4 | Rock | 3802 |
4 | Metal | 1518 |
4 | Electronic | 528 |
4 | Pop | 290 |
4 | Punk | 227 |
4 | Rap | 176 |
4 | Country | 123 |
4 | Reggae | 123 |
4 | Jazz | 121 |
4 | RnB | 104 |
4 | Folk | 42 |
4 | Blues | 32 |
4 | New Age | 19 |
4 | Latin | 11 |
4 | World | 10 |
El análisis de la distribución de géneros por clúster nos permite evaluar qué tan bien el modelo de K-Means, aplicado sobre las componentes principales (PCA), agrupa canciones de géneros similares. A continuación, se realiza un análisis detallado:
Contiene 1607 canciones de Electronic y 1357 canciones de Rock, que son los géneros predominantes.
Géneros secundarios incluyen Metal (611 canciones) y Jazz (120 canciones).
Otros géneros como Pop, Rap, New Age, RnB, Reggae, Punk, Country, Folk, World, Blues y Latin tienen una representación menor.
Es el clúster más grande, con 3166 canciones de Rock y 897 canciones de Electronic.
También tiene una representación significativa de Pop (578 canciones), Rap (519 canciones) y Reggae (472 canciones).
Géneros secundarios incluyen RnB, Country, Jazz y Metal.
Contiene 1470 canciones de Rock y 581 canciones de Electronic.
Géneros secundarios incluyen Jazz (302 canciones), Folk (208 canciones) y Pop (204 canciones).
Otros géneros como New Age, Country, Metal y RnB tienen una representación moderada.
Contiene 3802 canciones de Rock y 1518 canciones de Metal, que son los géneros predominantes.
Géneros secundarios incluyen Electronic (528 canciones), Pop (290 canciones) y Punk (227 canciones).
Otros géneros como Rap, Country, Reggae y Jazz tienen una representación menor.
El modelo de K-Means parece agrupar géneros similares en algunos casos, pero también presenta limitaciones en otros. A continuación, se analiza cada género:
Distribución:
Clúster 2: 3166 canciones.
Clúster 4: 3802 canciones.
Clúster 3: 1470 canciones.
Clúster 1: 1357 canciones.
Análisis:
El género Rock está disperso en todos los clústeres, pero tiene una fuerte representación en los clústeres 2 y 4.
Esto sugiere que las características acústicas del Rock son diversas, lo que dificulta su agrupamiento en un solo clúster.
Distribución:
Clúster 1: 1607 canciones.
Clúster 2: 897 canciones.
Clúster 3: 581 canciones.
Clúster 4: 528 canciones.
Análisis:
El género Electronic está disperso, pero tiene una mayor representación en el clúster 1.
Esto podría deberse a que las características acústicas del género se solapan con otros géneros como Pop y Rock.
Distribución:
Clúster 4: 1518 canciones.
Clúster 1: 611 canciones.
Clúster 2: 166 canciones.
Clúster 3: 131 canciones.
Análisis:
Distribución:
Clúster 1: 120 canciones.
Clúster 2: 238 canciones.
Clúster 3: 302 canciones.
Clúster 4: 121 canciones.
Análisis:
Distribución:
Clúster 2: 578 canciones.
Clúster 3: 204 canciones.
Clúster 4: 290 canciones.
Clúster 1: 68 canciones.
Análisis:
El género Pop está disperso, pero tiene una mayor representación en el clúster 2.
Esto podría deberse a que las características acústicas del Pop son más genéricas y se solapan con otros géneros.
Distribución:
Estos géneros tienen una representación menor en todos los clústeres.
Por ejemplo, Reggae tiene 472 canciones en el clúster 2, pero solo 37 en el clúster 1.
Folk tiene 208 canciones en el clúster 3, pero solo 18 en el clúster 1.
Análisis:
Dispersión de Géneros:
Solapamiento de Características:
Representación de Géneros Menores:
Agrupamiento de Metal:
Identificación de Clústeres Grandes:
Incluir Más Características Acústicas:
Ajustar el Número de Clústeres:
Filtrar Géneros Menores:
El modelo de K-Means aplicado sobre PCA tiene un desempeño moderado para agrupar canciones por género. Aunque logra agrupar bien géneros como Metal, presenta limitaciones para géneros más diversos como Rock, Electronic y Jazz. La eliminación de canciones sin género mejora la calidad del análisis, pero aún hay espacio para optimizar el modelo mediante ajustes en las características acústicas y el número de clústeres.