Bem-vindo(a) à documentação do Stacking!¶
Mestrado em Ciência da Computação - Universidade Estadual de Maringá (UEM)¶
Implementação do trabalho do Mestrado em Ciência da Computação. O trabalho consistem em realizar a extração das features de áudios utilizando a ferramenta MARSYAS. Depois dessa extração será utilizado a técnica conhecida como Stacking combinada com Redes Neurais Convolucionais para recomendação de tags musicais.
Sobre o Projeto¶
Implementação do trabalho do Mestrado em Ciência da Computação. O trabalho consistem em realizar a extração das features de áudios utilizando a ferramenta MARSYAS. Depois dessa extração será utilizado a técnica conhecida como Stacking combinada com Redes Neurais Convolucionais para recomendação de tags musicais.
Visão Geral de Stacking¶
Visão Geral de Espectrograma¶
Visão Geral de Audio-Features¶
Visão Geral de Auto-Tagging¶
Visão Geral de Redes Neurais Convolucionais (CNN)¶
K-Fold Cross-validation¶
Constumava-se utilizar a divisão dos dados em dois conjuntos train e test, porém com o passar dos tempo, essa maneira de divisão acabou não sendo a forma mais eficiente de fazer a divisão e obter resultados eficientes.
Assim sendo, vamos utilizar na implementação do nosso trabalho o K-Fold Cross-validation, esta técnica consiste em dividir meu conjunto de dados da seguinte maneira, se o valor do K for igual a 3, uma Fold será utilizada para treino e as outras duas serão utilizada para teste, se o valor do K for igual a 5, uma Fold será utilizada para teste e as outras quatro serão utilizadas para treino, a mesma ideia acontece caso o valor de K seja 10, uma Fold será utilizada para teste enquanto as outras nove serão utilizadas para treino. Além disso, este técnica ajuda a previnir os dados de sofrerem overfitting ou underfitting.
Para fazermos a implementação do K-Fold utilizaremos uma biblioteca do python chamada scikit-learn e o módulo KFold.
Métricas de Validações¶
Matriz de Confusão¶
Visão Geral de HDF5¶
Esse tipo de arquivo trabalha com grandes e complexos dados, no formato de hierarquia.
Instalação¶
Numpy:
pip install numpy
HDF5:
sudo apt-get install libhdf5-serial-dev
Pandas:
pip install pandas
Visão Geral de Travis-CI¶
Travis CI é uma plataforma/serviço de Integração Contínua, que é free para todos os projetos open source hospedados no GitHub. Com apenas um arquivo chamado .travis.yml contendo algumas informações sobre o projeto, podemos produzir builds automatizados com todas as mudanças, para o branch master ou outro, e até mesmo através de pull request.
Visão Geral de Codacy¶
É uma ferramenta responsável pela revisão de código automátioca. Ferramenta no qual analisa o código, o que está errado, informa onde é possivel melhorar, envia e-mail quando algum erro é detectado, monta um dashbord com informações relevanetes.
Até o presente momento uma ferramente muito útil.
Visão Geral de Codecov¶
Trata-se de uma ferramenta para cobrir o código, ou seja, ferramenta para verificar se o código escrito apresenta falhas, como por exemplo, bug. Verifica o que está coberto no código.
O Codecov possui ótimas referências quando abordado para verificar códigos em Python. Além disso, apresenta outras 3 vantagens: Fácil integração com ferramentas de código de integração, como o Travis-CI. Ótimas estatísticas e visualizações. Mensagens e-mail informando o que mudou na cobertura de código.
Configurando o Codecov¶
- Realizar o cadastro gratuito com sua conta do GitHub em https://codecov.io/.
- Selecionar o repositório no qual se deseja fazer o monitoramento de cobertura de código.
- Adicionar as seguintes linhas na configuração do Travis-CI
Installation¶
codecov:
pip install codecov
Depois chamar o “codecov” no Travis-CI:
codecov
Antes de instalar:
pip install --user codecov
Depois de instalar:
codecov --file coverage/lcov.info --disable search
Referências:
https://github.com/codecov/example-python