Visão geral das ferramentas modernas de análise de dados

imagem



Vou esclarecer logo que existem muitos tipos de analistas, já que você pode analisar o que quiser. Esses são analistas da web, cientistas clássicos de dados, analistas de negócios, analistas financeiros, bem como analistas de produto, sistema e UX. A razão para essa diversidade, aparentemente, é que em várias grandes empresas, dezenas ou mesmo centenas de programadores e analistas podem trabalhar simultaneamente na criação de uma plataforma ou produto. Nessas condições, ocorre um forte estreitamento da especialização.



Todos esses tipos de analistas usam seus próprios conjuntos específicos de ferramentas. Portanto, vou me concentrar apenas diretamente no campo da análise de dados, fora do contexto de origem desses mesmos dados. Assim, excluímos da revisão os sistemas de web analytics, CRM, ERP, sistemas de contabilidade de armazém, logística e gestão documental.



1. Linguagens de programação



Não vamos nos deter em ocasiões excepcionais, únicas ou raras. Vamos considerar apenas os mais populares. E, claro, em primeiro lugar, é a linguagem python.



Python



Python serve como a principal ferramenta nas mãos dos cientistas de dados, não é fortemente tipado e é projetado para prototipagem rápida ou script ou script curto. Pessoas que entendem de programação e ciência da computação geralmente o criticam pelo fato de que algoritmos escritos em Python puro não são ideais em termos de desempenho e requisitos de memória.



No entanto, essa linguagem de programação tem muitas vantagens. Entre eles, eu observaria que python é ensinado em quase todos os lugares e, portanto, é relativamente fácil encontrar um analista que conheça python. A segunda vantagem são as bibliotecas para trabalhar com dados e aprendizado de máquina, que possuem uma interface amigável. Por exemplo, sklearn torna mais fácil construir pipelines de pré-processamento e construção de modelo. Todos os algoritmos e configurações de aprendizado de máquina são encapsulados dentro de classes e objetos, o que torna o código muito simples.



R



Até recentemente, o principal concorrente do python era a linguagem R. Os pedidos de conhecimento de R agora raramente aparecem nas descrições de cargos, pelo menos na seção "benefícios". Até meados de 2018, eu mesmo estava programando em R. E enquanto tentava automatizar parte do meu trabalho de aprendizado de máquina, quase reinventei a roda, tentando criar pipelines para preparação de dados e treinamento de modelo em R. Um pouco mais tarde, descobri que esses pipelines existem há muito tempo na biblioteca sklearn e são chamados de pipeline.



C ++, C #



Se as bibliotecas Python existentes forem insuficientes e você precisar implementar um novo algoritmo com alto desempenho, pode usar a linguagem C ++ compilada e estaticamente tipada ou uma linguagem semelhante C #.



Matlab



A linguagem MatLab está embutida no pacote de software de mesmo nome e um ambiente interativo para cálculos de engenharia. É verdade que essa linguagem se destina em maior medida à solução de problemas técnicos, e não à realização de análises financeiras ou de negócios. Por exemplo, tive a sorte de usar o MatLab duas vezes: no processo de estudo de sinais de emissão acústica em estruturas, bem como no processamento da fala humana.



Existem várias bibliotecas de aprendizado de máquina com APIs para outras linguagens de programação, como Java, JavaScript, Scala, etc. Mas não vou me alongar sobre eles, já que o objetivo do artigo é ligeiramente diferente.



Por favor, seja um pouco paciente. Você aprenderá sobre tudo nas seções a seguir.



2. AutoML e designers visuais



O AutoML, de acordo com sua ideia básica, simplifica drasticamente a tarefa do pesquisador e reduz várias etapas de estudo e preparação de dados, construção de recursos, escolha e comparação de um algoritmo de aprendizado de máquina e ajuste de hiperparâmetros em uma única etapa. E esta etapa é selecionar e configurar uma grande caixa chamada AutoML. O resultado da execução do algoritmo AutoML é um pipeline construído, devidamente configurado e treinado. Resta apenas pegar os dados "brutos", colocá-los no pipeline e aguardar o resultado na forma de previsões na saída.



A caixa chamada "AutoML" parece uma biblioteca de aprendizado de máquina ou um serviço da Web onde os dados são carregados.



Se esta for uma biblioteca, então ela difere de sklearn porque nosso código usual de 20-30 linhas é compactado em 5 linhas. Um exemplo famoso de tal biblioteca é H2O.



Outro exemplo é a biblioteca MLBox. Você pode encontrar histórias sobre ela na Internet, sobre como o uso do MLBox permitiu que ela chegasse aos 5% melhores em competições de kaggle.



Agora, algumas palavras sobre os serviços em nuvem AutoML. Em primeiro lugar, todos os grandes gigantes digitais têm pressa em apresentar suas soluções técnicas. Alguns deles são: Google AutoML Tables, Azure Machine Learning (Microsoft), SageMaker Autopilot (Amazon). Os serviços listados devem ser de interesse principalmente para as empresas que desenvolvem sistemas analíticos em plataformas de nuvem. É muito conveniente quando a infraestrutura de dados, recursos de computação e algoritmos de aprendizado de máquina prontos são fornecidos pelo mesmo provedor. A integração é realmente perfeita.



Além dos gigantes digitais, participantes menores estão entrando no mercado de AutoML. Por exemplo, o Bell Integrator está atualmente trabalhando ativamente na plataforma neuton.ai.



Na mesma seção, vale lembrar os sistemas de aprendizado de máquina que ocupam uma posição intermediária entre a programação direta em R e Python e o AutoML totalmente empacotado. Esses são os chamados construtores de fluxo de trabalho. Dois exemplos típicos são o Azure Machine Learning Designer da Microsoft e a plataforma SberDS do Sberbank.



O construtor é um conjunto de tijolos a partir do qual você pode montar todo o pipeline de aprendizado de máquina, incluindo a verificação final da integridade do modelo. Esta é, sem dúvida, uma bela solução para pessoas com uma mentalidade visual que se sentem confortáveis ​​em representar o processo de aprendizado de máquina e teste de modelo na forma de diagramas.



3. Ferramentas de BI



Aqui, eu gostaria de revisar várias soluções de BI na área de análise: Power BI, Tableau, Qlick Sense, Qlick View e Excel.



Power BI



Power BI é um conjunto de ferramentas analíticas da Microsoft que estão disponíveis como aplicativos de desktop e serviços em nuvem. Existem soluções corporativas que funcionam na infraestrutura fechada de TI da empresa. Trabalhar no Power BI Desktop ou Serviços do Power BI não requer habilidades de codificação. Existe a possibilidade de integração online com fontes de dados externas, bem como de download de dados em formato csv.



O Power BI é capaz de resolver problemas de aprendizado de máquina usando AutoML, ou seja, você não precisa escrever código como no Python para construir um modelo de classificação ou regressão. Além das tarefas padrão de análise de dados tabulares, a funcionalidade inclui tecnologias para análise de sentimento, extração de frases-chave, reconhecimento de linguagem e adição de tags a uma imagem.



Tableau



Tableau também é uma família inteira de aplicativos online e de desktop, assim como o Power BI. Esses aplicativos possuem uma interface visual simples e permitem que você trabalhe com o método arrastar e soltar. Belos gráficos são construídos com apenas alguns cliques. Você também pode analisar os dados em uma forma tabular e aplicar vários filtros a eles.



O Tableau permite que você resolva problemas de aprendizado de máquina, como regressão, previsão de séries temporais, análise de cluster. Mais importante ainda, o Tableau é capaz de se integrar a scripts externos em R e Python. Acontece uma ferramenta facilmente extensível.



Qlick Sence e Qlick View



Qlick Sence e Qlick View diferem no posicionamento e na interface, mas na essência e nos algoritmos de solução de problemas são construídos no mesmo motor. Qlick View é uma plataforma empresarial dirigida por especialistas em TI, Qlick Sence é uma ferramenta para uso pessoal sem a necessidade de buscar ajuda de tecnologia. Apoio, suporte.



No primeiro contato, a "beleza" e a facilidade de visualização são impressionantes. Esta é a própria ferramenta para construir um painel de gerenciamento atraente. Do meu ponto de vista, a capacidade de mudar a escala ao analisar mapas geográficos e clusters em gráficos bidimensionais parece especialmente espetacular. Lembro-me de fotos de filmes, onde na foto dos satélites eles tentam decifrar a placa do carro ou distinguir uma pessoa da multidão na praça.



Outra opção interessante é a presença de um aplicativo móvel para realizar análises a partir de um smartphone. É assim que aparece o gestor máximo da rede de varejo, correndo para o próximo vôo no aeroporto e recebendo uma mensagem inesperada no messenger com um link para o painel.

Qlick Sence integra-se com Python e, portanto, aprendizado de máquina.



Excel



Você vai me perdoar, mas eu não poderia passar pelo Excel. Não importa o quanto você ria, qualquer instrumento é bom à sua maneira. Por exemplo, as tabelas dinâmicas e os gráficos do Excel são construídos com beleza com apenas alguns cliques. Combinado com uma planilha conveniente e formatação csv, é uma ferramenta muito boa.



4. Um destaque no bolo. Geração automática de código baseada em IA



Uma vez, quando me encontrei na net, me perguntaram "você programa em python?" E quando respondi “Sim”, a sequência foi completamente inesperada.



"Você sabe disso ..." e então havia um link para o vídeo no Youtube

https://www.youtube.com/watch?v=fZSFNUT6iY8&t=4s&ab_channel=FazilBabu .



Este é um modelo de texto generativo da OpenAI, treinado no repositório GitHub. Exemplos específicos demonstram a capacidade do modelo de gerar código Python com base no título da função e em sua breve descrição.



Mas e se esse modelo puder ser bem treinado em scripts por cientistas de dados? Esta é uma questão para reflexão ...



All Articles