Lab04 - Aprendizado Supervisionado - Atividade classificação/regressão
Objetivos¶
- Retomar alguns conceitos relacionados a ML
- Praticar análise de dados em dataframes
- Praticar a utilização das bibliotecas Pandas, Numpy, Matplotlib e sklearn
- Praticar a avaliação de modelos de ML
Atividade pratica de ML¶
Antes de começarmos a nos aprofundar no tema da trilha de ML é importante avaliarmos se estamos conseguindo compreender o que estamos estudando, sabendo disso, vamos praticar os conceitos vistos até o momento desenvolvento está atividade end-to-end.
Trabalhando com dataframes¶
Vamos usar o PANDAS
Veja mais em: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
Etapas:¶
Carregar e visualizar o conteúdo do dataset .....escolha um dataset....
Passos que seguiremos:
Carregar o arquivo de dados do dataset em um DataFrame do
pandas
.Identificar os atributos do DataFrame
Acessar os dados do DataFrame
Passo 1: Importar o arquivo de dados¶
Escolha uma base de dados não utilizada até o momento em aula.
Existem muitos repositórios com base de dados para estudo, abaixo tem apenas algumas sugestões:
Como estamos começando nossos estudos sugiro utilizar base de dados mais simples abaixo tem um Top 10 - Bases de Dados para começar
Iris (classificação) https://archive.ics.uci.edu/ml/datasets/iris
Boston (regressão) https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html
Diabetes (regressão) https://archive.ics.uci.edu/ml/datasets/diabetes
Digits (imagens) http://yann.lecun.com/exdb/mnist/
Wine (classificação) https://archive.ics.uci.edu/ml/datasets/Wine
Breast cancer (classificação) https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29
Olivetti (classificação) https://scikit-learn.org/stable/modules/generated/sklearn.datasets.fetch_olivetti_faces.html
California (regressão) https://www.kaggle.com/camnugent/california-housing-prices
Netflix (recomendação) https://www.kaggle.com/netflix-inc/netflix-prize-data
Twitter US Airline (texto) https://www.kaggle.com/crowdflower/twitter-airline-sentiment
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
## CARREGUE O DATASET ESCOLHIDO (utilize quantas celulas quiser para isso...)
Passo 2. Identificar os atributos (colunas) do data frame¶
Neste ponto podemos relembrar os métodos utilizados nas ultimas aulas para identificar informações sobre o dataframe, como quantidade de linhas, colunos, se existe dados faltantes, tipo dos dados....
Faça um print das 5 primeiras linhas do dataframe para certificar que as informações estão corretas.
## EXIBA INFORMAÇÕES SOBRE O DATASET ESCOLHIDO (utilize quantas celulas quiser para isso...)
Responda:¶
- Quantos dados existem nesse dataset?
R:
- Qual a quantidade de atributos?
R:
- Existe valores faltantes?
R:
- De que tipo são os dados (dtype) dos atributos?
R:
- Existe outliers?
R:
Análise Exploratória de dados:¶
Faça uma exploração dos dados com base em informações estaticas e gráficas.
Como sugestão, faça uso do matplotlib ou o seaborn para isso.
## EXIBA OS GRÁFICOS PARA REALIZAR UMA ANÁLISE EXPLORATORIA NO DADOS (utilize quantas celulas quiser para isso...)
Passo 3. Acessando dados de um Dataframe¶
Relembre como criar acessar o conteudo de um dataframe acessando atraves de seu indice coluna.
Agora que já conheço os seus dados, crie um subset do dataset original apenas com os atributos que jugar importante para a criação do modelo de machine learning.
## EXIBA INFORMAÇÕES SOBRE O SUBSET RESULTANTE (utilize quantas celulas quiser para isso...)
Responda:¶
- Quantos atributos possui o subset?
R:
- Os dados são do tipo continua ou categorica?
R:
- É necessário normalizar os dados?
R:
- Os dados estão rotulados?
R:
- É um problema de Aprendizado supervisionado ou não-supervisionado?
R:
- Classificação, regressão, clusterização?
R:
- Quais são as variaveis dependentes e independentes?
R:
Passo 1. Dividindo os dados de treino e teste¶
Responda por que separamos nosso conjunto de dados em treino e teste.
R:
from sklearn.model_selection import train_test_split
## Faça o split dos dados em 80/20. Seu código aqui....
Passo 2. Treinamento do modelo de ML¶
Lembre-se do método fit()
1. Qual algoritimo de ML será aplicado? E por que?
R:
2. Qual a métrica de avaliação do modelo de ML será aplicado? E por que?
R:
## Importa a biblioteca
## Treina modelo de ML
Passo 3. Teste do modelo de ML¶
Lembre-se do método predict()
## Teste do modelo ML
Passo 4. Avaliação de resultado¶
1. O resultado obtido foi satisfatorio?
R:
2. Houve aprendizado, qual a acuracia obtida?
R:
3. Como melhorar o resultado obtido?
R: