In [1]:
# Versão da Linguagem Python
from platform import python_version
print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())
Neste exercício, você vai realizar uma análise exploratória em um dos mais famosos datasets para Machine Learning, o dataset iris com informações sobre 3 tipos de plantas. Esse dataset é comumente usado em problemas de Machine Learning de classificação, quando nosso objetivo é prever a classe dos dados. No caso deste dataset, prever a categoria de uma planta a partir de medidas da planta (sepal e petal).
Em cada célula, você encontra a tarefa a ser realizada. Faça todo o exercício e depois compare com a solução proposta.
Dataset (já disponível com o Scikit-Learn): https://archive.ics.uci.edu/ml/datasets/iris
In [2]:
# Imports
import time
import numpy as np
import pandas as pd
import matplotlib as mat
from matplotlib import pyplot as plt
from sklearn.datasets import load_iris
%matplotlib inline
fontsize = 14
ticklabelsize = 14
In [3]:
np.__version__
Out[3]:
In [4]:
pd.__version__
Out[4]:
In [5]:
mat.__version__
Out[5]:
In [6]:
# Carregando o dataset
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
print(len(df))
df.head()
Out[6]:
In [7]:
# Imprima os valores numéricos da Variável target (o que queremos prever),
# uma de 3 possíveis categorias de plantas: setosa, versicolor ou virginica
iris.target_names
Out[7]:
In [8]:
# Imprima os valores numéricos da Variável target (o que queremos prever),
# uma de 3 possíveis categorias de plantas: 0, 1 ou 2
iris.target
Out[8]:
In [9]:
# Adicione ao dataset uma nova coluna com os nomes das espécies, pois é isso que vamos tentar prever (variável target)
df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)
df.head()
Out[9]:
In [10]:
# Inclua no dataset uma coluna com os valores numéricos da variável target
df['target'] = iris.target
df.head()
Out[10]:
In [11]:
# Extraia as features (atributos) do dataset e imprima
features = df.columns[:4]
features
Out[11]:
In [12]:
# Calcule a média de cada feature para as 3 classes
df.groupby('target').mean().T
Out[12]:
In [13]:
# Imprima uma Transposta do dataset (transforme linhas e colunas e colunas em linhas)
df.head(10).T
Out[13]:
In [14]:
# Utilize a função Info do dataset para obter um resumo sobre o dataset
df.info()
In [15]:
# Faça um resumo estatístico do dataset
df.describe()
Out[15]:
In [16]:
# Verifique se existem valores nulos no dataset
df.isnull().sum(axis=0)
Out[16]:
In [17]:
# Faça uma contagem de valores de sepal length
df['sepal length (cm)'].value_counts(dropna=False)
Out[17]:
In [18]:
# Crie um Histograma de sepal length
exclude = ['Id', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)', 'target']
df.loc[:, df.columns.difference(exclude)].hist()
plt.figure(figsize=(15,10))
plt.show()
In [19]:
# Crie um Gráficos de Dispersão (scatter Plot) da variável sepal length versus número da linha,
# colorido por marcadores da variável target
plt.figure(figsize=(12, 8), dpi=80)
plt.scatter(range(len(df)), df['petal width (cm)'], c=df['target'])
plt.xlabel('Número da Linha', fontsize=fontsize)
plt.ylabel('Sepal length (cm)', fontsize=fontsize)
plt.title('Gráfico de Dispersão dos Atributos, colorido por marcadores da classe alvo', fontsize=fontsize)
#plt.title('Scatter plot of features, colored by target labels', fontsize=fontsize)
Out[19]:
In [20]:
# Crie um Scatter Plot de 2 Features (atributos)
plt.figure(figsize=(12, 8), dpi=80)
plt.scatter(df['petal length (cm)'], df['petal width (cm)'], c=df['target'])
plt.xlabel('petal length (cm)', fontsize=fontsize)
plt.ylabel('petal width (cm)', fontsize=fontsize)
Out[20]:
In [21]:
# Crie um Scatter Matrix das Features (atributos)
attributes = ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
pd.plotting.scatter_matrix(df[attributes], figsize=(16, 12))
Out[21]:
In [22]:
# Crie um Histograma de todas as features
df.hist(figsize=(12,12))
Out[22]:
Conheça a Formação Cientista de Dados, um programa completo, 100% online e 100% em português, com 400 horas, mais de 1.200 aulas em vídeos e 26 projetos, que vão ajudá-lo a se tornar um dos profissionais mais cobiçados do mercado de análise de dados. Clique no link abaixo, faça sua inscrição, comece hoje mesmo e aumente sua empregabilidade:
https://www.datascienceacademy.com.br/pages/formacao-cientista-de-dados