Python e Scikit-learn
Instalando o Pandas.
Link do meu Github com o script dessa aula:
Link da documentação oficial do Sklearn:
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
Link do código fluente no Pinterest
Meus links de afiliados:
Na aula passada geramos alguns gráficos, mas não falamos muito sobre eles e a interpretação deles.
Mais adiante, em outra aula, vamos dá uma olhada melhor em como interpretar esses gráficos.
Seguindo então.
A imagem abaixo mostra as bibliotecas python que usaremos para análise de dados, aprendizado de máquina e plotagem de gráficos e como elas se relacionam.
Fazendo um resumo sobre essas bibliotecas
O
scikit-learn — ou
sklearn — é uma biblioteca para criação de modelos
supervisionados e
não-supervisionados em Python para aprendizado de máquina, projetado para interagir com as bibliotecas Python numéricas e científicas
NumPy e
SciPy.
O
matplotlib, que já instalamos e usamos na aula passada, é uma biblioteca de plotagem de gráficos em Python.
O
Pandas é outra biblioteca python que fornece ferramentas de análise de dados e estruturas de dados de alta performance e
fáceis de usar.
Com o
Pandas você pode lidar facilmente com séries e tabelas, organizando, filtrando e fazendo várias manipulações nos dados.
A estrutura de dados
Data Frame, fornecida pelo
Pandas, é muito prática para lidar com dados, bem melhor e mais fácil do que usar as estruturas disponíveis por padrão no python(Lista, Tupla, Dicionário, etc.).
No
R existe essa mesma estrutura (
DataFrame) na propria biblioteca padrão dele.
Instalando o Pandas
Para
instalar o
pandas na IDE
anaconda use:
conda install pandas
Para desinstalar:
conda uninstall pandas
Para
instalar o
pandas normalmente com o
pip:
python -m pip install pandas
Ou
python -m pip3 install pandas
Para desinstalar:
python -m pip uninstall pandas
O Pandas trabalha com três estruturas de dados:
- Series
- DataFrame
- Panel (Descontinuado)
Essas estruturas de dados são construídas sobre o
array Numpy, o que significa que elas são rápidas.
Dimensão e Descrição
A melhor maneira de pensar sobre essas estruturas de dados é que a estrutura de dados de maior dimensão é um contêiner de sua estrutura de dados de menor dimensão.
Exemplo,
DataFrame é um
contêiner de
Series e
Panel é um
contêiner de
DataFrame.
| Estrutura de dados |
dimensão |
Descrição |
| Series |
1 |
1D array homogêneo rotulado, tamanho imutável. |
| Data Frames |
2 |
Estrutura tabular de tamanho geral, identificável, 2D e mutável, com colunas de tipos heterogêneos. |
| Panel |
3 |
Array geral com dimensionamento 3D e tamanho mutável. |
Construir e lidar com dois ou mais arrays dimensionais é uma tarefa tediosa, o que leva o usuário a considerar a orientação do conjunto de dados ao escrever funções.
Mas, usando estruturas de dados do Pandas, o esforço mental do usuário é reduzido.
Por exemplo, com dados tabulares (
DataFrame) é mais semanticamente útil pensar no
índice (as
linhas) e nas
colunas em vez do
eixo 0 e
eixo 1.
Series
Série é uma matriz unidimensional como estrutura com dados homogêneas.
Por exemplo, a série a seguir é uma coleção de inteiros 10, 23, 56,…
| 10 |
23 |
56 |
17 |
52 |
61 |
73 |
90 |
26 |
72 |
Pontos chave
- Dados homogêneos
- Tamanho imutável
- Valores de dados mutáveis
DataFrame
O DataFrame é um array bidimensional para dados heterogêneos. Por exemplo:
| Nome |
idade |
Gênero |
classificação |
| Maria |
32 |
Mulher |
3.45 |
| Pedro |
28 |
Homem |
4.6 |
| Marcos |
45 |
Homem |
3.9 |
| Lia |
38 |
Mulher |
2.78 |
A tabela representa os dados de uma equipe de vendas de uma organização com sua classificação geral de desempenho.
Os dados são representados em linhas e colunas.
Cada coluna representa um atributo e cada linha representa uma pessoa.
Tipo de dados de colunas
Os tipos de dados das quatro colunas são os seguintes:
| Coluna |
Tipo |
| Nome |
String |
| Idade |
Integer |
| Gênero |
String |
| Classificação |
Float |
Pontos chave
- Dados heterogêneos
- Tamanho Mutável
- Dados mutáveis
Painel (Foi descontinuado)
Painel era uma estrutura de dados tridimensional para dados heterogêneos.
Agora, ao invés do
painel, é usado o
MultiIndex no
DataFrame.
O
MultiIndex é um objeto de índice
multinível ou
hierárquico para objetos pandas.
O
MultiIndex funciona como um contêiner de
DataFrames.
Pontos chave
- Dados heterogêneos
- Tamanho Mutável
- Dados mutáveis
Transformando o iris dataset em um DataFrame
Será muito útil transformar a base de dados das íris das flores em um
Dataframe.
Para isso, precisaremos do
array Numpy,
np no código abaixo, e atribuiremos o
Dataframe a variável
df_iris.
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
#Carrega o iris dataset em iris
iris = load_iris()
#Cria o DataFrame em df_iris utilizando um numpy array (np)
df_iris = pd.DataFrame(np.column_stack((iris.data, iris.target)), columns = iris.feature_names + ['target'])
df_iris.describe()
Veja como transformar o
iris dataset em um
DataFrame foi útil, o resultado de um comando super simples, o
df_iris.describe() trouxe várias informações importantes sobre a base.
Com isso, os dados ficam em um formato mais compatível para análise, para contruções de modelos preditivos, classificadores, machine learning, enfim.
Veja um exemplo de como transformar o
iris dataset em um
DataFrame pode ser útil, veja o resultado de um comando super simples, o
df_iris.describe():
Temos a contagem(
count),
mean é a média,
std é desvio padrão,
min e
max são os valores mínimo e máximo, o
25%,
50% e
75% são os
percentis, que são medidas que dividem a
amostra (por ordem crescente dos dados) em
100 partes, cada uma com uma percentagem de dados aproximadamente igual.
Link do meu Github com o script dessa aula:
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
Link do código fluente no Pinterest
Novamente deixo meus link de afiliados:
Obrigado, até a próxima e bons estudos. ;)