Skip to content

matheusribe/MusicClassification-Using-Acoustic-Features

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Classificação de Músicas Utilizando Atributos Acústicos

📌 Visão Geral

Este projeto apresenta o desenvolvimento de um pipeline completo de classificação de músicas fundamentado na hipótese de que atributos acústicos permitem distinguir faixas com características mais lentas ou mais agitadas.

A análise parte de conceitos musicais, utilizados para definir a variável alvo a partir do atributo valence, e evolui de forma incremental por meio de análise exploratória, validação estatística, modelagem supervisionada e otimização sistemática de hiperparâmetros, resultando em um modelo final interpretável e estatisticamente consistente.


🎯 Objetivo

Investigar se atributos acústicos extraídos automaticamente são capazes de discriminar músicas lentas e agitadas de forma:

  • Estatisticamente válida
  • Preditivamente eficiente
  • Semanticamente interpretável

🧠 Metodologia

O pipeline do projeto foi estruturado nas seguintes etapas:

1. Definição da Variável Alvo

  • A variável valence foi utilizada como critério de negócio
  • Músicas com valence > 0.5 foram classificadas como agitadas
  • Músicas com valence ≤ 0.5 foram classificadas como lentas

2. Análise Exploratória de Dados (EDA)

  • Avaliação das distribuições das variáveis acústicas
  • Visualizações com histogramas e violin plots
  • Análise de correlação entre atributos

3. Validação Estatística

  • Aplicação do teste não paramétrico de Mann–Whitney U
  • Confirmação de diferenças estatisticamente significativas entre as classes
  • Evidência estatística consistente para as variáveis:
    • danceability
    • energy
    • loudness
    • acousticness

4. Preparação dos Dados

  • Seleção de atributos relevantes
  • Codificação de variáveis categóricas (Label Encoding)
  • Separação em conjuntos de treino e teste (Hold-out estratificado)
  • Normalização com MinMaxScaler (sem vazamento de dados)

5. Modelagem Supervisionada

Modelos avaliados:

  • Regressão Logística
  • K-Nearest Neighbors (KNN)
  • Random Forest

Avaliação baseada em:

  • F1-score ponderado
  • Curva ROC e AUC
  • Matriz de confusão

6. Modelagem Comparativa

  • Validação cruzada (5-fold)
  • Comparação entre modelos lineares e não lineares
  • Identificação de relações não lineares entre as variáveis

O Random Forest apresentou o melhor desempenho médio, indicando maior capacidade de capturar a estrutura do problema.


7. Otimização de Hiperparâmetros

  • Uso de RandomizedSearchCV
  • Amostragem estratificada para redução de custo computacional
  • Treinamento final com os melhores hiperparâmetros encontrados

8. Interpretação do Modelo

  • Extração da importância das variáveis
  • Análise alinhada com conceitos musicais

Principais atributos identificados:

  • Danceability
  • Energy
  • Acousticness
  • Loudness

📊 Principais Resultados

  • Evidência visual, estatística e preditiva consistente
  • O problema apresenta estrutura não linear
  • O modelo aprende padrões coerentes com características musicais reais
  • Forte alinhamento entre EDA, testes estatísticos e modelo final

🧪 Tecnologias Utilizadas

  • Python
  • Pandas, NumPy
  • Matplotlib, Seaborn
  • Scikit-learn
  • SciPy

📌 Conclusão

Os resultados demonstram que atributos acústicos de alto nível são eficazes para a classificação musical, permitindo a construção de modelos robustos, interpretáveis e alinhados com conceitos teóricos da música. O projeto evidencia a importância da integração entre análise exploratória, validação estatística e modelagem supervisionada na construção de soluções confiáveis em Ciência de Dados aplicada à música.

👤 Autor

Matheus Costa Ribeiro

Pós-Graduando em Ciência de Dados e Big Data

About

Pipeline completo de classificação musical utilizando atributos acústicos e aprendizado de máquina.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors