{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"source": [
"# CIAG 2024 - Introdução ao Aprendizado de Máquina\n",
"\n",
"> Indented block\n",
"\n",
"\n",
"\n",
"- Neste notebook, iremos rever conceitos importantes referentes à Aprendizagem de Máquina, como problemas de regressão vs. classificação, divisão dos dados em conjuntos de treino, validação e teste e avaliação dos modelos utilizados (métricas de precisão e revocação, por exemplo). Iremos utilizar basicamente dois *toy-datasets* que podem ser encontrados na documentação da biblioteca `scikit-learn`, sendo eles a base de dados [Iris](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_iris.html#sklearn.datasets.load_iris), para classificação, e de [Diabetes](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_diabetes.html#sklearn.datasets.load_diabetes), para regressão."
],
"metadata": {
"id": "JiZ_scQLKx46"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "e7-9mfYyNJds",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "b1bcdd5c-822c-4e34-aa10-5a484fbf6e0c"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Python 3.9.16\n"
]
}
],
"source": [
"# Caso queira saber a versão do Python que está sendo executada neste notebook, basta executar esta célula\n",
"!python --version"
]
},
{
"cell_type": "markdown",
"source": [
"## 1. Conjunto de Exercícios - Carregamento das bases de dados\n",
"\n",
"- Para começarmos a revisão de aprendizagem de máquina, primeiro devemos ser capazes de carregar as bases de dados em memória. Iremos definir em detalhes um *pipeline* de processamento completo, ou seja, desde o carregamento dos dados até o treinamento dos modelos, para a base de dados Iris, e a sua tarefa, posteriormente, será de replicar as mesmas ideias para a base de dados de Diabetes.\n",
"\n"
],
"metadata": {
"id": "1r-7o-i9L_-m"
}
},
{
"cell_type": "code",
"source": [
"# Importando as funções para carregar os dados em memória\n",
"from sklearn.datasets import load_iris, load_diabetes"
],
"metadata": {
"id": "styHLg22L4Wq"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# Podemos brincar com alguns parâmetros presentes na documentação.\n",
"# Aqui, iremos carregar os dados como tabelas Pandas, apenas para uma visualização mais limpa.\n",
"\n",
"X, y = load_iris(return_X_y=True, as_frame=True)"
],
"metadata": {
"id": "_2u-shnwMh1B"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"X.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "e8Z2DMn1MvE5",
"outputId": "e93a8947-6005-4ba9-c92e-7893f7a88ce5"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)\n",
"0 5.1 3.5 1.4 0.2\n",
"1 4.9 3.0 1.4 0.2\n",
"2 4.7 3.2 1.3 0.2\n",
"3 4.6 3.1 1.5 0.2\n",
"4 5.0 3.6 1.4 0.2"
],
"text/html": [
"\n",
"
| \n", " | sepal length (cm) | \n", "sepal width (cm) | \n", "petal length (cm) | \n", "petal width (cm) | \n", "
|---|---|---|---|---|
| 0 | \n", "5.1 | \n", "3.5 | \n", "1.4 | \n", "0.2 | \n", "
| 1 | \n", "4.9 | \n", "3.0 | \n", "1.4 | \n", "0.2 | \n", "
| 2 | \n", "4.7 | \n", "3.2 | \n", "1.3 | \n", "0.2 | \n", "
| 3 | \n", "4.6 | \n", "3.1 | \n", "1.5 | \n", "0.2 | \n", "
| 4 | \n", "5.0 | \n", "3.6 | \n", "1.4 | \n", "0.2 | \n", "