Neste post pretendo iniciar uma série de posts sobre Análise de Dados (do inglês, Data Analysis), Aprendizado de Máquina (Machine Learning) e Ciência de Dados (Data Science).
Acredito que a definição destas áreas seja algo ainda em aberto, muito discutido na comunidade acadêmica e na indústria, tendo quase unanimidade sobre o quanto tais termos são recentes e ainda estão em processo de definição.
Por isso, a explicação que dou a seguir leva a um debate em segue em aberto, remete a definições que têm sido construídas por diferentes tipos de profissionais e pesquisadores em diversos ramos, especialmente Estatística, Matemática, Ciência da Computação, Ciências Sociais, etc.
Hoje em dia, temos mais dados do que nunca. Este link traz alguns números interessantes sobre o quanto o tráfego de dados tem crescido e a estimativa de crescimento para os próximos anos.
Há alguns anos, somente grandes empresas de tecnologia se preocupavam em armazenar grandes quantidades dados, ainda sem saber para que (e se) usariam tais dados. Atualmente essa já é uma realidade em várias empresas de diversos ramos.
É oportuno (mais do que nunca) saber como extrair valor de tantos dados. Para tanto é preciso ter domínio de técnicas e ferramentas específicas.
No âmbito de técnicas, a Estatística é a "espinha dorsal" para extrair valor dos dados. Porém, quando tais dados ultrapassam os megabytes e gigabytes, chegando a terabytes, petabytes e além, técnicas computacionais de processamento paralelo e distribuído também são essenciais. Quando os dados demoram horas, dias, semanas ou até meses para serem processados, técnicas de Computação de Alto Desempenho (High Performance Computing) ganham importância mais crítica, pois se os dados demorarem muito para serem processados, talvez já não tenham mais valor (análise de risco, marketing, saúde, etc.).
Os dados crescem em escala alarmante, o poder computacional também, inclusive de computadores domésticos, e a necessidade de combinar estes dois eficientemente e eficazmente cria um novo profissional: O Cientista de Dados.
Linguagens e frameworks têm evoluído em direção a uma maior usabilidade, acessível a profissionais de ciências humanas e outros que não tenham tanto contato com estatística, matemática e ciência da computação.
O Cientista de Dados pode assim ser um Estatístico com conhecimento razoável de Computação e de uma área de negócio específica, ou um Cientista da Computação com conhecimento razoável de Estatística e de uma área de negócio específica.
Em geral, uma base forte de Estatística e/ou Computação (se for ambas, melhor), forma um potencial Cientista de Dados, e o conhecimento mais profundo na área de negócio a ser analisada (marketing, redes sociais, saúde, genética, astronomia, etc.) aumenta o potencial do profissional para ter insights mais rápidos e certeiros, ganhando tempo e, consequentemente, dinheiro.
Porém, mesmo sem conhecer o negócio, quanto mais forte for a base estatística do Cientista de Dados, mais fácil será conseguir a partir dos dados extrair padrões, inconsistências, tendências, predições futuras, com base somente nos números. E, no sentido contrário, a estatística possibilitará validar as hipóteses formuladas a partir do conhecimento de negócio, revelando matematicamente a probabilidade de estarem certas ou erradas, com que margem de erro, etc.
Então, voltando aos termos mencionados lá no início, o que é cada coisa?
Análise de Dados
Esta área se concentra mais em torno da chamada Estatística Descritiva (Descriptive Statistics), onde os dados são interpretados e consolidados em relatórios para um público leigo, que normalmente domina mais o negócio e não tanto as técnicas estatísticas.
Nesta área, é esperado que o profissional saiba como obter os dados (a partir de arquivo texto, XML, json, banco de dados relacionais ou não relacionais, websites, redes sociais, etc.), saiba como limpar tais dados, deixando somente a informação relevante à análise, saiba como processar estes dados em busca da resposta que procura, e, por fim, saiba como interpretar e exibir estas conclusões de forma acessível, são essencial nesta última parte o domínio de técnicas de análise exploratória de dados, com gráficos simples e avançados.
Aprendizado de Máquina
Mergulhando mais na Estatística, chega-se na chamada Estatística de Inferência (Inferential Statistics), que por fim dá a base para os algoritmos de aprendizado de máquina (Machine Learning), que abrangem árvores de decisão, regressão (linear, logística), classificação (análise de padrões), agrupamentos, etc.
Tais técnicas são classicamente divididas em supervisionadas e não-supervisionadas, tendo recentemente também sido sugeridas técnicas chamadas semi-supervisionadas, de aprendizagem por esforço (Enforcement Learning) e aprendizagem profunda (Deep Learning)
As técnicas supervisionadas (supervised learning) permitem o aprendizado em cima de dados já identificados e, a partir daí, é buscada a identificação de dados não vistos até então. Por exemplo, uma lista com dados detalhados de pacientes com câncer e sem câncer, bem como com a indicação do diagnóstico positivo ou negativo (ainda que o diagnóstico possa ter sido errado). É possível aprender em cima de tais dados e identificar com maior precisão a possibilidade de um novo paciente ter ou não câncer, bem como a margem de erro para tal diagnóstico. Outro exemplo clássico é o de identificação de spam, entre muitos outros.
As técnicas não-supervisionadas (unsupervised learning) permitem identificar em um conjunto de dados possíveis agrupamentos, sem saber antecipadamente quais grupos realmente definem estes dados. Com base em dados financeiros, poderia-se identificar em uma população os grupos de classe baixa, média e alta.
As técnicas semi-supervisionadas (semi-supervised learning) combinam técnicas dos dois tipos em etapas diferentes de aprendizado, buscando um aprendizado mais flexível à mudança e diversidade dos dados.
As técnicas de aprendizado por esforço e aprendizagem profunda envolvem conceitos um pouco mais avançados que pretendo explorar em uma postagem futura, assim como explicar melhor as técnicas descritas nos parágrafos anteriores.
Enfim, a área de Aprendizado de Máquina é mais voltada para predição de dados e engloba um outro universo de técnicas e conhecimentos. Há ferramentas, como Scikit-learn e R caret package, que auxiliam grandemente a utilização de tais técnicas e que pretendo começar a abordar em maior detalhe já nos próximos posts.
Ciência de Dados
Ciência de dados, por fim, abrange tudo que foi descrito acima. :)
É um termo bastante abrangente, sim, mas ainda está em processo de definição. Certamente será possível ouvir muitas definições diferentes de muitos profissionais e instituições diferentes, sendo todas corretas.
E os profissionais?
O Analista de Dados (Data Analyst) vai dominar a estatística e os métodos de obtenção, interpretação e exibição dos dados.
O Engenheiro de Dados (Data Engineer) vai saber configurar e explorar um cluster com Hadoop, bancos de dados relacionais e não relacionais, APIs de redes sociais, etc.
O Engenheiro de Aprendizado de Máquina (Machine Learning Engineer) vai ter um amplo conhecimento em como aplicar algoritmos de Machine Learning e qual algoritmo se aplica melhor para cada situação. Além de saber como otimizar a execução de acordo com os dados que são processados e, talvez, até mesmo como implementar o algoritmo por completo em linguagens de programação como C, C++, Matlab, R, Python, Ruby, etc.
O Cientista de Dados, por fim, domina tudo que os profissionais acima dominam. :) De novo, uma definição demasiadamente simplista. Mas acredito que realmente este papel é o mais difícil de definir. Penso que seja o profissional que tem uma visão global e boa em certa profundidade sobre todas estas áreas, mas precisa destes outros papéis para consolidar a construção de um serviço, produto ou pesquisa.
Um bom post sobre estes diferentes papéis pode ser encontrado neste link.
Como falei, tudo isso é um debate muito em aberto, então, comentem com correções, dúvidas, sugestões!
Abraços e até a próxima!
Casino Games | Dr.md.com
ResponderExcluirCasino Games 포항 출장샵 | Dr.md.com. 보령 출장안마 Dr.md.com's online 전주 출장마사지 casino delivers your 김포 출장마사지 Get ready to roll with the casino games for 대전광역 출장안마 your fun!