Aprendizado Supervisionado

Exercício 01

Esse exercício é composto de duas atividades como descritas a seguir.

Atividade 1

Vamos treinar um modelo de regressão linear para a base de dados a seguir:

Airfoil Self-Noise Data Set

A base de dados coleta dados de diferentes tipos de aerofólios em testes do túnel de vento da NASA. O objetivo é estimar o nível de pressão sonora dado características do aerofólio, do seu posicionamente e demais características dos testes realizados.

Tarefas:

  1. Treine e teste um modelo de Regressão Linear com a base completa.
  2. Analise as features de acordo com o quanto eles influenciam para o objetivo
  3. Com base nos dados anteriores teste diferentes configurações dos modelos omitindo alguns atributos. Teste diferentes configurações.
  4. Escreva ao final uma breve explicação sobre os resultados obtidos.

Todos os testes devem ser feito utilizando validação cruzada de 10 folds.


In [4]:
# Carregando a base de dados

import pandas as pd
from sklearn.linear_model import LinearRegression
data = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/00291/airfoil_self_noise.dat',
                   sep="\t",
                   header=None,
                  names=["Frequency","Angle","Chord","Velocity","Suction","Sound"])
data.head()


Out[4]:
Frequency Angle Chord Velocity Suction Sound
0 800 0.0 0.3048 71.3 0.002663 126.201
1 1000 0.0 0.3048 71.3 0.002663 125.201
2 1250 0.0 0.3048 71.3 0.002663 125.951
3 1600 0.0 0.3048 71.3 0.002663 127.591
4 2000 0.0 0.3048 71.3 0.002663 127.461

In [15]:
feature_columns = ["Frequency","Angle","Chord","Velocity","Suction"]

X = data[feature_columns]
y = data.Sound

In [ ]:
# Insira a partir daqui o código da atividade 1

Atividade 2

Nesta atividade vamos utilizar a base de dados disponível em: https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes

A base coleta diversas informações dos pacientes e busca inferir se o teste de diabetes daria positivo ou negativo para o paciente.

Tarefas

  1. Divida a base em treino e teste. Utilize para teste 10% da base.
  2. Calcule o melhor valor de K na base de treino utilizando validação cruzada com 10 folds.
  3. Utilize o melhor modelo encontrado no passo anterior e calcule a acurácia desse modelo na base de testes criada no item 1.
  4. Pesquise sobre outro modelo de Classificação e compare-o com o melhor modelo de KNN encontrado.
  5. Escreva ao final uma breve explicação sobre os resultados obtidos.

In [19]:
import pandas as pd

data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data',
                   sep=",",
                   header=None,
                  names=["TimesPregnant","GlucoseConcentration","BloodPressure","TricepsSkin","SerumInsulin","MassIndex",
                        "DiabetesFunction","Age","Class"])

features_cols = ["TimesPregnant","GlucoseConcentration","BloodPressure","TricepsSkin","SerumInsulin","MassIndex", 
                 "DiabetesFunction","Age"]

In [20]:
X = data[features_cols]
y = data.Class

In [ ]:
# Insira a partir daqui o código da atividade 1