O livro Data Science do Zero: Primeiras Regras com o Python de Joel Grus é uma introdução à Ciência de Dados (do inglês, Data Science), que é uma nova área de estudos que surgiu da combinação de outras áreas como álgebra linear, estatística, Big Data e Inteligência Artificial. Hoje em dia, quando precisamos de uma função de ordenação de arrays, chamamos um método sort de alguma biblioteca da sua linguagem de programação favorita. Enquanto isso, nos cursos de Ciência da Computação, estudamos como o sort pode ser implementado. Essa é a ideia do livro de Grus, você vai estudar como implementar as diferentes técnicas usadas em ciência de dados e não apenas chamar um método.

Resenha do Livro

No primeiro capítulo, o autor pede que imaginemos estar numa companhia chamada Data Sciencester, que possui como principal produto uma rede social para cientistas de dados. Nesse cenário, você é um dos cientistas de dados recém-contratado pela companhia. Nos capítulos seguintes, o autor nos convida a desenvolver a ferramenta de ciência de dados para analisar os dados dessa rede social.

No segundo capítulo, o autor oferece uma breve revisão da linguagem Python em sua versão 2.7 (que segundo ele, é a versão mais adequada dessa linguagem para trabalhar com ciência de dados no momento em que o livro foi escrito, e parece que não mudou muito). Em seguida, o autor ensina como visualizar dados por meio da biblioteca matplotlib. Nos quatro capítulos seguintes, o autor também faz uma revisão de assuntos da matemática que servem de base para ciência de dados como Álgebra Linear, Estatística, Probabilidade e Testes de Hipóteses. A parte de Probabilidade, eu acho que poderia ter ficado mais clara em alguns pontos, mas se você domina essa parte da matemática, não será problema para você.

Embora todas as partes sejam importantes, o núcleo do livro é composto por técnicas de ciência de dados. Por exemplo, existem capítulos sobre: aprendizado de máquina, K-vizinhos mais próximos, naive Bayes, árvores de decisão, redes neurais, agrupamentos (clustering), processamento de linguagem natural, sistemas recomendadores, bancos de dados relacionais/não-relacionais e MapReduce. A abordagem usada para apresentar essas técnicas é “Construa você mesmo!” em que implementamos o algoritmo e vemos como cada parte da implementação funciona. Ou seja, este não é um livro do tipo “Use o comando XPTO para alcançar tal objetivo”.

Apesar de eu já ter lido o livro para ter uma noção de como todos esses algoritmos funcionam, eu não implementei todos os exemplos de código-fonte. Mas posso dizer que para aqueles capítulos que eu implementei os exemplos, todos funcionaram bem (tão bem que serviram de inspiração para escrever os textos sobre aprendizado supervisionado e aprendizado não-supervisionado nos últimos meses). O autor também mantém um repositório de código-fonte do livro no GitHub.

É ótimo poder construir as implementações usadas em ciência de dados e realmente entender como elas funcionam. Mas como é dito no livro, os algoritmos implementados não são escaláveis para problemas reais de Big Data. Por esse motivo, acho que o autor poderia ter escolhido uma implementação mais conhecida como TensorFlow e mostrado as funções que eram implementadas no final de cada seção. Apesar de não fazer isso, o autor aponta em alto nível qual biblioteca podemos usar para cada uma das técnicas apresentadas.

Outro aspecto bom é que o livro conta com capítulos que apresentam técnicas para visualizar e obter dados, essenciais quando estamos lidando com problemas de ciência de dados.

Para finalizar, recomendo muito este livro para quem deseja se aprofundar em ciência de dados e inteligência artificial com Python. Também posso dizer que se eu vier a escrever sobre algum dos tópicos citados, este livro com certeza será uma das referências.

Compre na Amazon e ajude o IAsc!

Pontos Positivos

  • Autor revisa aspectos importantes para o domínio de Ciência de Dados e cita quais bibliotecas podem ser usadas para problemas do mundo real;
  • códigos-fonte testados funcionam corretamente; e
  • gráficos caprichados foram gerados com matplotlib e apresentados no livro.

Pontos Negativos

  • Algumas fórmulas matemáticas são apresentadas como texto, poderia ter sido usado algo como LaTeX para apresentá-las de maneira mais elegante (ex: Teorema de Bayes); e
  • explicação não tão boa para conceitos mais teóricos (ex: capítulo de probabilidade).
Espero que tenham gostado dessa resenha.
Gostaria de agradecer também às pessoas que têm visitado o blog frequentemente e mandado dúvidas/sugestões por e-mail. Você que gosta do blog IAsc, não deixe de seguí-lo! =)
Abraços e até o próximo texto!

Referências

  • Grus, Joel. Data Science do Zero: Primeiras Regras com o Python.
Anúncios