Uma Linguagem de Consulta para Visualização de Agrupamentos
Resumo
A utilização de técnicas de aprendizado de máquina popularizou-se nos últimos anos nas mais diversas áreas e aplicações. No entanto, a aplicação de tais técnicas ainda depende de um profissional especializado, que execute a sequência de tarefas necessárias para sua execução. Na área de banco de dados, o SQL democratizou a utilização de sistemas gerenciadores de bancos de dados (SGBD) para o usuário final através de uma linguagem declarativa simples, que se assemelha à linguagem natural. Neste artigo, é proposta a linguagem Clustering Visualization Query Language (CVQL), que estende o SQL para a realização de agrupamentos e visualização destes resultados. Agrupamento é uma técnica utilizada para dividir os dados em grupos que compartilham características similares. A visualização destes agrupamentos em diferentes formas é uma funcionalidade essencial para o usuário final analisar os grupos gerados. O CVQL foi implementado utilizando o SGBD mySQL e a biblioteca scikit-learn. Para apresentar o sistema, é adotado um exemplo de consulta com apenas 8 linhas sobre uma base de dados real de casos de Covid-19 nos EUA. Para o processamento da sequência de tarefas executadas pela consulta seriam necessárias 140 linhas de código na linguagem Python, que demonstra a utilidade do sistema.
Referências
Baptista de Almeida, J. L., Sakata, T. C., and Faceli, K. (2016). Asaclu: Selecting diverse and relevant clusters. In 2016 5th Brazilian Conference on Intelligent Systems (BRACIS), pages 474–479.
Boehm, M., Evfimievski, A. V., Pansare, N., and Reinwald, B. (2016). Declarative machine learning - a classification of basic properties and types. arXiv, 1605.05826.
Cai, Z., Vagena, Z., Perez, L., Arumugam, S., Haas, P. J., and Jermaine, C. (2013). Simulation of database-valued markov chains using SimSQL. In Proc. of the International Conference on Management of Data (SIGMOD), pages 637–648. 1 https://data.cdc.gov/NCHS/Provisional-COVID-19-Death-Counts-by-Sex-Age-and-S/ 9bhg-hcku/data 2 https://www.census.gov/data/datasets/time-series/demo/popest/ 2010s-national-detail.html
Feurer, M., Klein, A., Eggensperger, K., Springenberg, J. T., Blum, M., and Hutter, F. (2019). Auto-sklearn: efficient and robust automated machine learning. Automated Machine Learning, pages 113–134.
Imielinski, T. and Mannila, H. (1996). A database perspective on knowledge discovery. Communications of the ACM, 39(11):58–64.
Kotthoff, L., Thornton, C., Hoos, H. H., Hutter, F., and Leyton-Brown, K. (2016). AutoWEKA 2.0: Automatic model selectionand hyperparameter optimization in WEKA. ournal of Machine Learning Research, 17:1–5.
Makrynioti, N. and Vassalos, V. (2020). Declarative data analytics: a survey. IEEE Transactions of Knowledge and Data Engineering (TKDE) (to appear).
Markl, V. (2014). Breaking the chains: On declarative data analysis and data independence in the big data era. PVLDB, 7(13):1730–1733.
Meo, R., Psaila, G., and Ceri, S. (1996). A new sql-like operator for mining association rules. In Proc. of the 22nd International Conference on Very Large Data Bases (VLDB), page 122–133.
Real, E. M. (2016). Estimating the number of clusters based on sequential clustering algorithms. In 2016 5th Brazilian Conference on Intelligent Systems (BRACIS), pages 229–234.
Rivers, J. (2017). Scidb: An array-native computational database for heterogeneous, multi-dimensional data sets. In Proc. of the 2017 IEEE International Conference on Big Data (Big Data), pages 3206–3210.
Zuccarelli, E. (2020). Developing machine learning pipelines. Towards Data Science.