Data Science| Bibliotecas de Data Science

Primeiros passos para adentrar no mundo de IA na prática

Guilherme Fernandes
Turing Talks
6 min readJun 2, 2019

--

Quer começar a desenvolver projetos com Machine Learning e IA? Neste Turing Talks apresentaremos ferramentas essenciais pra você colocar a mão na massa e também mostraremos como usá-las. Sem mais delongas, vamos ao que interessa.

Anaconda

O primeiro passo é baixar o Anaconda. Essa distribuição de Python é indispensável para quem se interessa por ciência de dados, uma vez que lhe dá acesso a poderosas bibliotecas para data science e machine learning. Além disso é gratuita e contém todas as bibliotecas que abordaremos ao longo desse Turing Talks.

Para ter acesso a todo esse conteúdo só precisa seguir o guia de instalação disponível no link: https://www.anaconda.com/distribution/. Fique atento para fazer o download referente ao seu sistema operacional.

Jupyter Notebooks

Uma ferramenta muito utilizada na área de Data Science (e outras) são os Jupyter notebooks.

Eles permitem que você combine código com texto e imagens. Dessa forma, eles podem ser usados, por exemplo, para mostrar uma análise de dados (com explicações, gráficos e outras visualizações) ou ensinar algum assunto para os seus leitores.

Para entender melhor o que é um notebook, veja o exemplo abaixo.

Principais botões do jupyter notebook

A formatação das células de texto é feita por meio de markdown. Em markdown, a formatação em itálico e negrito é feita utilizando asteriscos: *itálico*, **negrito**. Para escrever o título de uma seção, a linha deve comecar com #. Para mais sobre markdown, veja o link abaixo.

Para utilizar os notebooks, você pode seguir esse tutorial de instalação. Para acessar o jupyter e criar notebooks, basta ir no menu iniciar e abrir o Jupyter Notebook (no Windows) ou rodar o comando

no terminal (em qualquer sistema operacional).

Você também pode editar os notebooks no Google Colab e salvá-los no Google Drive. A interface é um pouco diferente da descrita acima, mas a funcionalidade é a mesma.

Mais informações

Numpy

NumPy (Numerical Python) é a biblioteca que você precisa saber para fazer ciência com seus dados, principalmente porque fornece uma estrutura de dados multidimensional com muitos benefícios em relação às listas de python, como a velocidade das operações em arrays e o menor uso de memória. Isso ocorre porque Numpy é em sua maioria escrita em C, linguagem que faz melhor aproveitamento da arquitetura da sua máquina. Além disso, Numpy fornece diversas operações em arrays (como as de álgebra linear) que facilitam muito a manipulação dessa estrutura de dados.

E como se isso já não fosse suficiente, ela conta com uma quantidade imensa de algoritmos científicos já implementados de forma otimizada, como: transformada discreta de Fourier, simulações estocásticas e muito mais.

Para utilizarmos essa biblioteca, inserimos a seguinte linha de comando no inicio do código e acessamos suas funcionalidades pela abreviação np.

Como criar uma estrutura de dados (array) Numpy?

Primeiro é necessário importarmos o numpy. Com isso, podemos converter uma lista em um array:

Algumas funções elementares

Operações básicas

Random

Todas as funções do módulo random possuem um argumento size que pode ser uma tupla ou um inteiro que define a dimensão da matriz, ou número de elementos do array.

Mais informações

Pandas

Image result for pandas python memes

Pandas é a biblioteca de python mais famosa para análise de dados, ela fornece uma performance altamente otimizada, uma vez que seu código fonte é escrito em python, com numpy e linguagem C.

Para utilizarmos essa biblioteca, é necessário inserir a seguinte linha de comando no inicio do código. Acessamos suas funcionalidades pela abreviação pd.

Existem dois tipos de estruturas de dados que utilizaremos para manipular os dados inputados: Series e DataFrames.

Series

É uma estrutura de dados unidimensional que armazena valores de uma mesmo tipo (int, float, …) e associado a cada valor existe um índice único.

DataFrame

É uma estrutura de dados análoga a uma tabela com linhas e colunas, em que as colunas têm nomes e as linhas índices.

Em um DataFrame, cada coluna é uma série. Desse modo, podemos pensar que cada linha do DataFrame representa alguma observação (um indivíduo, um objeto, …) e que cada coluna representa uma característica dessa observação. No dataset de flores que veremos abaixo, cada linha representa uma flor e cada coluna representa uma característica dessa flor.

Como criar um DataFrame?

  • Listas e Dicionários

Como analisar e visualizar uma DataFrame?

Para responder essa pergunta apresentaremos mais uma forma de criar um DataFrame, que é importando um arquivo csv. Em um arquivo csv, cada linha do arquivo corresponde a uma linha da tabela e as colunas são separadas por vírgulas. O primeiro DataFrame criado acima, em csv, seria:

Para entender melhor como os DataFrames são utilizados, usaremos como exemplo um dataset muito conhecido pelos cientistas de dados — o Iris (https://archive.ics.uci.edu/ml/datasets/iris). Esse dataset contém algumas informações quantitativas sobre a pétala de três tipos de flores. E esses dados são utilizados para classificar os tipos de flores.

  • Describe e Info

Como selecionar índices ou colunas?

  • Colunas
  • Linhas

A principal diferença entre os métodos loc e iloc é que com iloc acessamos somente índices numéricos, mesmo que a indexação de uma DataFrame não seja numérica

Como filtrar uma DataFrame?

Mais informações

Matplotlib

Para utilizar a biblioteca matplotlib, é necessário importá-la usando:

O comando %matplotlib inline garante que os gráficos sejam mostrados corretamente.

Em geral, o código usado para gerar um plot segue o esquema:

  1. Plotar os dados: plt.plot(x, y), onde x e y são listas e cada (x[i], y[i]) é um dos pontos plotados. Por exemplo, se Y = X², então y[i] = x[i]².
  2. Configurar/estilizar os plots.
  3. Mostrar o plot na tela: plt.show(). Em um notebook, geralmente esse passo pode ser omitido (o comando plt.show() é rodado automaticamente no final de células que criam plots).

Mais informações

Cadê os posts de IA?

Nessas últimas semanas, vimos várias coisas de programação, mas nada de IA em si. Sabemos que foi cansativo, mas nas próximas semanas começaremos a usar esse conhecimento para explorar o mundo de data science e machine learning. Para nos acompanhar nessa jornada, siga nossa publicação aqui no Medium. E, se você estiver interessado em saber mais, siga nossa página no Facebook e fique ligado no que postamos por lá também.

--

--

Guilherme Fernandes
Turing Talks

Electric engineering student, AI researcher and investments enthusiast.