├── .ipynb_checkpoints ├── Aula 8 - Conhecendo os dados-checkpoint.ipynb ├── Aula 9 - Criando o modelo de classificação-checkpoint.ipynb ├── Aula 15 - K-Nearest Neighbors - Regressão 2-checkpoint.ipynb ├── Aula 13 - Aleatoriedade na criação do modelo-checkpoint.ipynb ├── Aula 18 - Criando Modelo Linear usando scikit-checkpoint.ipynb ├── Aula 14 - K-Nearest Neighbors - Regressão-checkpoint.ipynb └── Aula 19 - Diferença entre modelo linear e KNN de regressão-checkpoint.ipynb ├── Aula 6 - Criando primeiro Classificador - Parte 1 └── .ipynb_checkpoints │ └── Aula 6 - Criando o primeiro classificador-checkpoint.ipynb ├── Aula 8 - Conhecendo os dados.ipynb ├── Aula 19 - Diferença entre modelo linear e KNN de regressão.ipynb └── Aula 18 - Criando Modelo Linear usando scikit.ipynb /.ipynb_checkpoints/Aula 8 - Conhecendo os dados-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /Aula 6 - Criando primeiro Classificador - Parte 1/.ipynb_checkpoints/Aula 6 - Criando o primeiro classificador-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/Aula 9 - Criando o modelo de classificação-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "#%matplotlib inline\n", 10 | "from sklearn.datasets import load_iris\n", 11 | "from pandas.plotting import scatter_matrix\n", 12 | "import pandas as pd\n", 13 | "\n", 14 | "dados_iris = load_iris()" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": null, 20 | "metadata": {}, 21 | "outputs": [], 22 | "source": [ 23 | "from sklearn.model_selection import train_test_split\n", 24 | "X_train, X_test, y_train, y_test = train_test_split(dados_iris['data'], dados_iris['target'], random_state=0)" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | " # 150 observações\n", 34 | "print(\"treino: {}\".format(X_train.shape))\n", 35 | "print(\"teste: {}\".format(X_test.shape))" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": null, 41 | "metadata": {}, 42 | "outputs": [], 43 | "source": [ 44 | "# create a scatter matrix from the dataframe, color by y_train\n", 45 | "grr = scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o',\n", 46 | "hist_kwds={'bins': 20}, s=60, alpha=.8)" 47 | ] 48 | } 49 | ], 50 | "metadata": { 51 | "kernelspec": { 52 | "display_name": "Python 3", 53 | "language": "python", 54 | "name": "python3" 55 | }, 56 | "language_info": { 57 | "codemirror_mode": { 58 | "name": "ipython", 59 | "version": 3 60 | }, 61 | "file_extension": ".py", 62 | "mimetype": "text/x-python", 63 | "name": "python", 64 | "nbconvert_exporter": "python", 65 | "pygments_lexer": "ipython3", 66 | "version": "3.6.2" 67 | } 68 | }, 69 | "nbformat": 4, 70 | "nbformat_minor": 2 71 | } 72 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/Aula 15 - K-Nearest Neighbors - Regressão 2-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "# Fontes\n", 12 | "# http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_regression.html#sklearn.datasets.make_regression\n", 13 | "# https://matplotlib.org/gallery/lines_bars_and_markers/scatter_masked.html#sphx-glr-gallery-lines-bars-and-markers-scatter-masked-py\n", 14 | "# https://matplotlib.org/api/_as_gen/matplotlib.pyplot.xticks.html" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": null, 20 | "metadata": { 21 | "collapsed": true 22 | }, 23 | "outputs": [], 24 | "source": [ 25 | "# Importação das bibliotecas necessárias\n", 26 | "\n", 27 | "%matplotlib inline\n", 28 | "import pandas as pd\n", 29 | "import numpy as np\n", 30 | "import matplotlib.pyplot as plt\n", 31 | "from sklearn.model_selection import train_test_split\n", 32 | "from sklearn.neighbors import KNeighborsRegressor\n" 33 | ] 34 | }, 35 | { 36 | "cell_type": "code", 37 | "execution_count": null, 38 | "metadata": {}, 39 | "outputs": [], 40 | "source": [ 41 | "# Criando dados de regressão\n", 42 | "from sklearn.datasets import make_regression\n", 43 | "X, Y = make_regression(n_samples = 150, n_features = 1, noise = 30, random_state = 5)\n", 44 | "\n", 45 | "plt.scatter(X, Y)\n", 46 | "plt.show()" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": null, 52 | "metadata": { 53 | "collapsed": true 54 | }, 55 | "outputs": [], 56 | "source": [ 57 | "# Função que retorna os resultados do modelo\n", 58 | "def retornaResultadosModeloKNN_Regressao(random_state, quantidade, dados, respostas):\n", 59 | " #Divisão entre observações de teste e observações de treino\n", 60 | " X_train, X_test, y_train, y_test = train_test_split(dados, respostas, random_state = random_state)\n", 61 | " # Vetores de armazenamento dos resultados de teste e de treino\n", 62 | " quantidade_k = range(1,quantidade + 1)\n", 63 | " res_teste = []\n", 64 | " res_treino = []\n", 65 | " \n", 66 | " # loop das classificações\n", 67 | "\n", 68 | " for i in quantidade_k:\n", 69 | " knn = KNeighborsRegressor(n_neighbors = i)\n", 70 | " knn.fit(X_train, y_train)\n", 71 | "\n", 72 | " # Adicionando os valores dos resultados a seus respectivos vetores\n", 73 | " res_treino.append(knn.score(X_train, y_train))\n", 74 | " res_teste.append(knn.score(X_test, y_test))\n", 75 | " \n", 76 | " return quantidade_k, res_treino, res_teste" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": null, 82 | "metadata": {}, 83 | "outputs": [], 84 | "source": [ 85 | "# Exibindo as linhas de predição\n", 86 | "legendas = [\"Linha de prediçao\", \"Treino\", \"Teste\"]\n", 87 | "figura, eixos = plt.subplots(1, 3, figsize=(15,5))\n", 88 | "X_train, X_test, y_train, y_test = train_test_split(X,Y, random_state = 1)\n", 89 | "\n", 90 | "# Código para criar a linha de predição dos dados de treino\n", 91 | "# onde é criado 1.000 valores igualmente espaçados entre -3 e 3\n", 92 | "linha = np.linspace(-3, 3, 1000).reshape(-1, 1)\n", 93 | "\n", 94 | "for n_neighbors, ex in zip([1,3,9], eixos):\n", 95 | " reg = KNeighborsRegressor(n_neighbors = n_neighbors)\n", 96 | " reg.fit(X_train, y_train)\n", 97 | " ex.plot(linha, reg.predict(linha))\n", 98 | " ex.plot(X_train, y_train, '^', markersize=5)\n", 99 | " ex.plot(X_test, y_test, 'v', markersize=8)\n", 100 | " \n", 101 | " ex.set_title(\"{} neighbors\\n Treino: {:.2f} - Teste: {:.2f}\".format(n_neighbors, reg.score(X_train, y_train), reg.score(X_test, y_test)))\n", 102 | "\n", 103 | "eixos[0].legend(legendas)\n", 104 | "\n", 105 | "plt.plot()" 106 | ] 107 | }, 108 | { 109 | "cell_type": "code", 110 | "execution_count": null, 111 | "metadata": {}, 112 | "outputs": [], 113 | "source": [ 114 | "dados = X\n", 115 | "respostas = Y\n", 116 | "\n", 117 | "legendas = [\"Treino\", \"Teste\"]\n", 118 | "quantidade = 20\n", 119 | "rand = 5\n", 120 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Regressao(rand, quantidade, dados, respostas)\n", 121 | "plt.rcParams[\"figure.figsize\"] = [8,8]\n", 122 | "plt.plot(res_treino)\n", 123 | "plt.plot(res_teste)\n", 124 | "plt.legend(legendas)\n", 125 | "plt.grid(True)\n", 126 | "plt.xticks(np.arange(0,20, step=1))\n", 127 | "plt.show()" 128 | ] 129 | } 130 | ], 131 | "metadata": { 132 | "kernelspec": { 133 | "display_name": "Python 3", 134 | "language": "python", 135 | "name": "python3" 136 | }, 137 | "language_info": { 138 | "codemirror_mode": { 139 | "name": "ipython", 140 | "version": 3 141 | }, 142 | "file_extension": ".py", 143 | "mimetype": "text/x-python", 144 | "name": "python", 145 | "nbconvert_exporter": "python", 146 | "pygments_lexer": "ipython3", 147 | "version": "3.6.2" 148 | } 149 | }, 150 | "nbformat": 4, 151 | "nbformat_minor": 2 152 | } 153 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/Aula 13 - Aleatoriedade na criação do modelo-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "#Fontes\n", 12 | "# https://matplotlib.org/2.0.0/examples/pylab_examples/subplots_demo.html\n", 13 | "# https://codeyarns.com/2014/10/27/how-to-change-size-of-matplotlib-plot/" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": null, 19 | "metadata": { 20 | "collapsed": true 21 | }, 22 | "outputs": [], 23 | "source": [ 24 | "# Importação das bibliotecas necessárias\n", 25 | "\n", 26 | "%matplotlib inline\n", 27 | "from sklearn.datasets import load_iris\n", 28 | "import pandas as pd\n", 29 | "import numpy as np\n", 30 | "import matplotlib.pyplot as plt\n", 31 | "from sklearn.model_selection import train_test_split\n", 32 | "from sklearn.neighbors import KNeighborsClassifier\n", 33 | "\n", 34 | "dados_iris = load_iris()" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": null, 40 | "metadata": { 41 | "collapsed": true 42 | }, 43 | "outputs": [], 44 | "source": [ 45 | "# Função que retorna os resultados do modelo\n", 46 | "def retornaResultadosModeloKNN_Classificacao(random_state, quantidade, dados, respostas):\n", 47 | " #Divisão entre observações de teste e observações de treino\n", 48 | " X_train, X_test, y_train, y_test = train_test_split(dados, respostas, random_state = random_state)\n", 49 | " # Vetores de armazenamento dos resultados de teste e de treino\n", 50 | " quantidade_k = range(1,quantidade + 1)\n", 51 | " res_teste = []\n", 52 | " res_treino = []\n", 53 | " \n", 54 | " # loop das classificações\n", 55 | "\n", 56 | " for i in quantidade_k:\n", 57 | " knn = KNeighborsClassifier(n_neighbors = i)\n", 58 | " knn.fit(X_train, y_train)\n", 59 | "\n", 60 | " # Adicionando os valores dos resultados a seus respectivos vetores\n", 61 | " res_treino.append(knn.score(X_train, y_train))\n", 62 | " res_teste.append(knn.score(X_test, y_test))\n", 63 | " \n", 64 | " return quantidade_k, res_treino, res_teste" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": null, 70 | "metadata": {}, 71 | "outputs": [], 72 | "source": [ 73 | "# Print de alguns resultados\n", 74 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Classificacao(1, 20, dados_iris['data'], dados_iris['target'])\n", 75 | "i = 3\n", 76 | "print(\"Treino {} : {}\".format(i, res_treino[i]))\n", 77 | "print(\"Teste {} : {}\".format(i, res_teste[i]))" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": null, 83 | "metadata": {}, 84 | "outputs": [], 85 | "source": [ 86 | "# Plot dos gráficos com os seguintes randoms 1, 5, 20, 550\n", 87 | "dados = dados_iris['data']\n", 88 | "respostas = dados_iris['target']\n", 89 | "\n", 90 | "# Rand 1\n", 91 | "legendas = [\"Treino\", \"Teste\"]\n", 92 | "quantidade = 20\n", 93 | "rand = 1\n", 94 | "f, axarr = plt.subplots(2,2)\n", 95 | "plt.setp(axarr, xticks=np.arange(0,20, step=1))\n", 96 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Classificacao(rand, quantidade, dados, respostas)\n", 97 | "axarr[0,0].plot(res_treino)\n", 98 | "axarr[0,0].plot(res_teste)\n", 99 | "axarr[0,0].grid(True)\n", 100 | "axarr[0,0].set_title(\"Rand 1\")\n", 101 | "axarr[0,0].legend(legendas)\n", 102 | "\n", 103 | "# Rand 5\n", 104 | "rand = 5\n", 105 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Classificacao(rand, quantidade,dados_iris['data'], dados_iris['target'])\n", 106 | "axarr[0,1].plot(res_treino)\n", 107 | "axarr[0,1].plot(res_teste)\n", 108 | "axarr[0,1].grid(True)\n", 109 | "axarr[0,1].set_title(\"Rand 5\")\n", 110 | "axarr[0,1].legend(legendas)\n", 111 | "\n", 112 | "#Rand 20\n", 113 | "rand = 20\n", 114 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Classificacao(rand, quantidade, dados, respostas)\n", 115 | "axarr[1,0].plot(res_treino)\n", 116 | "axarr[1,0].plot(res_teste)\n", 117 | "axarr[1,0].grid(True)\n", 118 | "axarr[1,0].set_title(\"Rand 20\")\n", 119 | "axarr[1,0].legend(legendas)\n", 120 | "\n", 121 | "#Rand 550\n", 122 | "rand = 550\n", 123 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Classificacao(rand, quantidade, dados, respostas)\n", 124 | "axarr[1,1].plot(res_treino)\n", 125 | "axarr[1,1].plot(res_teste)\n", 126 | "axarr[1,1].grid(True)\n", 127 | "axarr[1,1].set_title(\"Rand 550\")\n", 128 | "axarr[1,1].legend(legendas)\n", 129 | "\n", 130 | "#plt.setp([a.get_xticklabels() for a in axarr[0, :]], visible=False)\n", 131 | "#plt.setp([a.get_yticklabels() for a in axarr[:, 1]], visible=False)\n", 132 | "\n", 133 | "plt.rcParams[\"figure.figsize\"] = [12,12]\n", 134 | "\n", 135 | "plt.show()" 136 | ] 137 | } 138 | ], 139 | "metadata": { 140 | "kernelspec": { 141 | "display_name": "Python 3", 142 | "language": "python", 143 | "name": "python3" 144 | }, 145 | "language_info": { 146 | "codemirror_mode": { 147 | "name": "ipython", 148 | "version": 3 149 | }, 150 | "file_extension": ".py", 151 | "mimetype": "text/x-python", 152 | "name": "python", 153 | "nbconvert_exporter": "python", 154 | "pygments_lexer": "ipython3", 155 | "version": "3.6.2" 156 | } 157 | }, 158 | "nbformat": 4, 159 | "nbformat_minor": 2 160 | } 161 | -------------------------------------------------------------------------------- /Aula 8 - Conhecendo os dados.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 19, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "from sklearn.datasets import load_iris" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 20, 17 | "metadata": { 18 | "collapsed": true 19 | }, 20 | "outputs": [], 21 | "source": [ 22 | "#esc + b - adiciona a linha\n", 23 | "dados_iris = load_iris()" 24 | ] 25 | }, 26 | { 27 | "cell_type": "code", 28 | "execution_count": 22, 29 | "metadata": {}, 30 | "outputs": [ 31 | { 32 | "data": { 33 | "text/plain": [ 34 | "dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])" 35 | ] 36 | }, 37 | "execution_count": 22, 38 | "metadata": {}, 39 | "output_type": "execute_result" 40 | } 41 | ], 42 | "source": [ 43 | "dados_iris.keys()" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": 31, 49 | "metadata": {}, 50 | "outputs": [ 51 | { 52 | "name": "stdout", 53 | "output_type": "stream", 54 | "text": [ 55 | "[[ 5.1 3.5 1.4 0.2]\n", 56 | " [ 4.9 3. 1.4 0.2]\n", 57 | " [ 4.7 3.2 1.3 0.2]\n", 58 | " [ 4.6 3.1 1.5 0.2]\n", 59 | " [ 5. 3.6 1.4 0.2]]\n" 60 | ] 61 | } 62 | ], 63 | "source": [ 64 | "print(dados_iris[\"data\"][0:5])" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 33, 70 | "metadata": {}, 71 | "outputs": [ 72 | { 73 | "name": "stdout", 74 | "output_type": "stream", 75 | "text": [ 76 | "[0 0 0 0 0]\n" 77 | ] 78 | } 79 | ], 80 | "source": [ 81 | "print(dados_iris[\"target\"][0:5])" 82 | ] 83 | }, 84 | { 85 | "cell_type": "code", 86 | "execution_count": 34, 87 | "metadata": {}, 88 | "outputs": [ 89 | { 90 | "name": "stdout", 91 | "output_type": "stream", 92 | "text": [ 93 | "['setosa' 'versicolor' 'virginica']\n" 94 | ] 95 | } 96 | ], 97 | "source": [ 98 | "print(dados_iris[\"target_names\"][0:5])" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 35, 104 | "metadata": {}, 105 | "outputs": [ 106 | { 107 | "name": "stdout", 108 | "output_type": "stream", 109 | "text": [ 110 | "['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']\n" 111 | ] 112 | } 113 | ], 114 | "source": [ 115 | "print(dados_iris[\"feature_names\"][0:5])" 116 | ] 117 | }, 118 | { 119 | "cell_type": "code", 120 | "execution_count": 24, 121 | "metadata": {}, 122 | "outputs": [ 123 | { 124 | "name": "stdout", 125 | "output_type": "stream", 126 | "text": [ 127 | "Iris Plants Database\n", 128 | "====================\n", 129 | "\n", 130 | "Notes\n", 131 | "-----\n", 132 | "Data Set Characteristics:\n", 133 | " :Number of Instances: 150 (50 in each of three classes)\n", 134 | " :Number of Attributes: 4 numeric, predictive attributes and the class\n", 135 | " :Attribute Information:\n", 136 | " - sepal length in cm\n", 137 | " - sepal width in cm\n", 138 | " - petal length in cm\n", 139 | " - petal width in cm\n", 140 | " - class:\n", 141 | " - Iris-Setosa\n", 142 | " - Iris-Versicolour\n", 143 | " - Iris-Virginica\n", 144 | " :Summary Statistics:\n", 145 | "\n", 146 | " ============== ==== ==== ======= ===== ====================\n", 147 | " Min Max Mean SD Class Correlation\n", 148 | " ============== ==== ==== ======= ===== ====================\n", 149 | " sepal length: 4.3 7.9 5.84 0.83 0.7826\n", 150 | " sepal width: 2.0 4.4 3.05 0.43 -0.4194\n", 151 | " petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\n", 152 | " petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\n", 153 | " ============== ==== ==== ======= ===== ====================\n", 154 | "\n", 155 | " :Missing Attribute Values: None\n", 156 | " :Class Distribution: 33.3% for each of 3 classes.\n", 157 | " :Creator: R.A. Fisher\n", 158 | " :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n", 159 | " :Date: July, 1988\n", 160 | "\n", 161 | "This is a copy of UCI ML iris datasets.\n", 162 | "http://archive.ics.uci.edu/ml/datasets/Iris\n", 163 | "\n", 164 | "The famous Iris database, first used by Sir R.A Fisher\n", 165 | "\n", 166 | "This is perhaps the best known database to be found in the\n", 167 | "pattern recognition literature. Fisher's paper is a classic in the field and\n", 168 | "is referenced frequently to this day. (See Duda & Hart, for example.) The\n", 169 | "data set contains 3 classes of 50 instances each, where each class refers to a\n", 170 | "type of iris plant. One class is linearly separable from the other 2; the\n", 171 | "latter are NOT linearly separable from each other.\n", 172 | "\n", 173 | "References\n", 174 | "----------\n", 175 | " - Fisher,R.A. \"The use of multiple measurements in taxonomic problems\"\n", 176 | " Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n", 177 | " Mathematical Statistics\" (John Wiley, NY, 1950).\n", 178 | " - Duda,R.O., & Hart,P.E. (1973) Pattern Classification and Scene Analysis.\n", 179 | " (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\n", 180 | " - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n", 181 | " Structure and Classification Rule for Recognition in Partially Exposed\n", 182 | " Environments\". IEEE Transactions on Pattern Analysis and Machine\n", 183 | " Intelligence, Vol. PAMI-2, No. 1, 67-71.\n", 184 | " - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\n", 185 | " on Information Theory, May 1972, 431-433.\n", 186 | " - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\n", 187 | " conceptual clustering system finds 3 classes in the data.\n", 188 | " - Many, many more ...\n", 189 | "\n" 190 | ] 191 | } 192 | ], 193 | "source": [ 194 | "print(dados_iris[\"DESCR\"])" 195 | ] 196 | } 197 | ], 198 | "metadata": { 199 | "kernelspec": { 200 | "display_name": "Python 3", 201 | "language": "python", 202 | "name": "python3" 203 | }, 204 | "language_info": { 205 | "codemirror_mode": { 206 | "name": "ipython", 207 | "version": 3 208 | }, 209 | "file_extension": ".py", 210 | "mimetype": "text/x-python", 211 | "name": "python", 212 | "nbconvert_exporter": "python", 213 | "pygments_lexer": "ipython3", 214 | "version": "3.6.2" 215 | } 216 | }, 217 | "nbformat": 4, 218 | "nbformat_minor": 2 219 | } 220 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/Aula 18 - Criando Modelo Linear usando scikit-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 20, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "lr.coef_: [[ 2.]]\n", 13 | "lr.intercept_: [ 0.]\n" 14 | ] 15 | }, 16 | { 17 | "data": { 18 | "text/plain": [ 19 | "[]" 20 | ] 21 | }, 22 | "execution_count": 20, 23 | "metadata": {}, 24 | "output_type": "execute_result" 25 | }, 26 | { 27 | "data": { 28 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtUVXX+//HnB0UFFW94B8Q7KuANtbQxSysrx0vWjE3Z\nPWv6NtM0MymWlU5W1tQ0rppq7F7j1BRgmZmZpVmm5aUERFRERbyBooLc4Xx+f8hvVmOWyjmwz+X1\nWKsl53Bwv3bKyw/77P3exlqLiIj4viCnA4iIiGeo0EVE/IQKXUTET6jQRUT8hApdRMRPqNBFRPyE\nCl1ExE+o0EVE/IQKXUTETzSsz42Fh4fb6Ojo+tykiIjP27hx42Frbdszva5eCz06OpoNGzbU5yZF\nRHyeMWbP2bxOh1xERPyECl1ExE+o0EVE/IQKXUTET6jQRUT8xBkL3RjzqjEmzxiT/oPn/mqMyTTG\npBpjFhljWtZtTBEROZOzWaG/Dow95blPgVhrbTywHZjp4VwiInKOzljo1trVQMEpzy231lbVPFwH\nRNRBNhERn3e0uII5H26hsKyyzrfliWPotwAf/9QnjTHTjDEbjDEb8vPzPbA5ERHvZ63lo9QDXPLM\nF7y1dg/fZhec+Yvc5NaVosaYB4AqYOFPvcZauwBYAJCQkKA7UouI3ztUWMaD76ezPOMQcZ1b8Nat\nw+jTMazOt1vrQjfG3AiMA0Zba1XUIhLwrLW8u2Evcz/aSkWVi5mXx3DrBV1p2KB+TiisVaEbY8YC\nM4ALrbUlno0kIuJ7co6UMHNRKmuyjjC0a2uemBxP1/Cm9ZrhjIVujHkbGAWEG2NygYc5eVZLY+BT\nYwzAOmvtnXWYU0TEK1W7LK9/vZunPtlGgyDD3Imx/GZoFEFBpt6znLHQrbXXnubpV+ogi4iIT9lx\nqIjpyal8l3OMi3q35dFJcXRqGeJYnnodnysi4g8qqly8+MVOnvs8i6aNGzB/ygDG9+9EzRELx6jQ\nRUTOwea9x5iRnErmwSJ+2b8Ts3/ZlzbNGjsdC1Chi4icldKKav6+YjsvfZlN2+aNeemGBC7p297p\nWP9DhS4icgbrso+QmJzK7iMlXDs0kplX9CGsSbDTsX5EhS4i8hMKyyqZ93Em//4mh6jWofz7tmEM\n7xHudKyfpEIXETmNzzMPcX9KOnlFZdz+i6788ZLehDRq4HSsn6VCFxH5gSMnyvnLkgw++H4/vds3\n58WpgxkQ6RsTwlXoIiKcvGz/w9QDzF68haKySv4wpid3jepBo4a+cx8gFbqIBLyDx8uY9X4aK7bm\n0T+yJU9Ojqd3h+ZOxzpnKnQRCVgul+Wd9Xt5fOlWKl0uZl3Zh5tHdKWBA5fte4IKXUQC0u7DxSSm\npLIuu4Dzu7Vh3uQ4urSp32FanqZCF5GAUu2yvPrVLp7+dBvBQUHMuyqOXw+JdPyyfU9QoYtIwNh2\nsIjpSZvZnHucMX3aMXdiHB1aNHE6lseo0EXE75VXVfP8yp08vyqLsCbBPHvtQMbFd/SLVfkPqdBF\nxK99l3OUGcmpbD90gokDOvHQL/vRumkjp2PVCRW6iPilkooqnl6+nVfX7KJDWBNevSmBi2O8a5iW\np6nQRcTvfJ11mMSUNHIKSrj+vChmjI2huRcO0/I0FbqI+I3jpZU8vnQr76zfS3SbUN6Zdh7ndWvj\ndKx6o0IXEb/wacYhZr2fRn5ROXdc2I17x/SiSbB3D9PyNBW6iPi0wyfKmb14C0tSDxDToTkv3ZBA\nfIRvDNPyNBW6iPgkay3vf7+POR9mUFJezZ8u6cUdF3b3qWFanqZCFxGfs/9YKQ8sSmPltnwGRp0c\nptWzve8N0/I0FbqI+AyXy7Lw2xye+DiTapfloXF9uXF4tM8O0/I0FbqI+ITs/BMkJqfx7e4CLugR\nzuNXxRHZOtTpWF7ljIVujHkVGAfkWWtja55rDfwHiAZ2A7+y1h6tu5giEqiqql28/NUunvl0O40a\nBvHk5HiuSYjwu8v2PeFs3j14HRh7ynOJwGfW2p7AZzWPRUQ8KmN/IROfX8O8jzO5sFdbVvzxQn7l\nJ5MR68IZV+jW2tXGmOhTnp4AjKr5+A1gFTDDg7lEJICVV1Xz3OdZvLBqJy1Dg3n+ukFcHttBRX4G\ntT2G3t5aewDAWnvAGNPup15ojJkGTAOIioqq5eZEJFBs3FPAjOQ0svJOcNXAzjw4ri+t/HSYlqfV\n+Zui1toFwAKAhIQEW9fbExHfVFxexV8/2cYba3fTqUUIr988hFG9f3KtKKdR20I/ZIzpWLM67wjk\neTKUiASWL3fkMzMljdyjpdxwfhemj42hWWOdhHeuavt/bDFwIzCv5tcPPJZIRALG8ZJK5n6UwXsb\nc+kW3pR37zifoV1bOx3LZ53NaYtvc/IN0HBjTC7wMCeL/F1jzK1ADnBNXYYUEf+zLP0gD36QTkFx\nBXeN6s7vR/cMuGFannY2Z7lc+xOfGu3hLCISAPKKypi9eAtL0w7St2MYr900hNjOLZyO5Rd0kEpE\n6oW1luRN+3hkSQalldXcd1lvpo3sRnCDwB2m5WkqdBGpc7lHS7h/UTqrt+czuEsrnpgcT492zZyO\n5XdU6CJSZ1wuy1vr9vDEskwA5ozvx9TzuhCkYVp1QoUuInViZ/4JZiSlsmHPUUb2astjk2KJaKVh\nWnVJhS4iHlVZ7WLB6mzmf7aDkOAGPHVNfyYP6qzL9uuBCl1EPCZ933GmJ6WScaCQK+I6MHt8P9o1\nb+J0rIChQhcRt5VVVjP/sx0sWJ1Nq9BGvHj9IMbGdnQ6VsBRoYuIW9bvLmBGUirZh4u5ZnAEs67s\nS4vQYKdjBSQVuojUyonyKp5clsmba/cQ0SqEN28ZyshebZ2OFdBU6CJyzr7Yns/9KWnsP17KTcOj\nue+y3jTVMC3H6U9ARM7asZIK/rIkg5RN++jetilJd57P4C4apuUtVOgickbWWj5OP8hDH6RzrKSS\nuy/qwd0X99AwLS+jQheRn5VXWMaDH6TzyZZDxHYO441bhtKvk4ZpeSMVuoiclrWW9zbmMndJBuVV\nLhIvj+G2C7rSUMO0vJYKXUR+ZG9BCTNT0vgq6zBDo1szb3Ic3dpqmJa3U6GLyH9Vuyxvrt3Nk8u2\nEWTgkYmxXDc0SsO0fIQKXUQAyMorYnpSKptyjjGqd1senRRH55YhTseSc6BCFwlwldUuXly1k2c/\nzyK0cQOe+XV/Jg7QMC1fpEIXCWBpuce5L2kzmQeLGBffkdnj+xHerLHTsaSWVOgiAaissppnVmzn\npdXZhDdrzIKpg7m0XwenY4mbVOgiAeab7CMkpqSx63AxU4ZEMvOKPrQI0TAtf6BCFwkQRWWVPLEs\nk3+tyyGydQgLbxvGiB7hTscSD1KhiwSAlZl5PLAojQOFZdx6QVf+dGkvQhvp29/fuPUnaoy5F7gN\nsEAacLO1tswTwUTEfQXFFTyyJINF3+2jZ7tmJP92OIOiWjkdS+pIrQvdGNMZ+D3Q11pbaox5F5gC\nvO6hbCJSS9ZalqQeYPbiLRwvreSe0T2566LuNG6oYVr+zN2fuRoCIcaYSiAU2O9+JBFxx6HCMh5Y\nlM6KrYeIj2jBwtuHEdMhzOlYUg9qXejW2n3GmKeAHKAUWG6tXe6xZCJyTqy1/Gf9Xh5dupWKKhcP\nXNGHm0dEa5hWAHHnkEsrYALQFTgGvGeMud5a+69TXjcNmAYQFRXlRlQR+Sk5R0pITEnl651HGNa1\nNU9Mjic6vKnTsaSeuXPIZQywy1qbD2CMSQGGA/9T6NbaBcACgISEBOvG9kTkFNUuy2trdvHU8m0E\nBwXx2KQ4pgyJ1DCtAOVOoecA5xljQjl5yGU0sMEjqUTkjLYdLGJGcirf7z3G6Jh2zJ0US8cWGqYV\nyNw5hv6NMSYJ2ARUAd9RsxIXkbpTUeXi+VVZ/GNlFs2bBDN/ygDG9++kYVri3lku1tqHgYc9lEVE\nzmDz3mNMT0pl26EiJgzoxEPj+tJGw7Skhi4VE/EBpRXV/O3Tbbzy1S7aNW/CyzckMKZve6djiZdR\noYt4ubU7j5CYksqeIyX8ZlgUiZfHENZEw7Tkx1ToIl6qsKySx5dm8va3OXRpE8q/bx/G8O4apiU/\nTYUu4oVWZBxi1vvp5BWVMW1kN+4d04uQRrpsX36eCl3Eixw5Uc6cDzNYvHk/MR2a88+pg+kf2dLp\nWOIjVOgiXsBay+LN+5m9eAsnyqu4d0wvfjuqO40a6rJ9OXsqdBGHHTheyqxF6XyWmceAyJY8eXU8\nvdo3dzqW+CAVuohDXC7L2+tzeHxpJlUuF7Ou7MPNI7rSQJftSy2p0EUcsPtwMYkpqazLLmB49zbM\nuyqeqDahTscSH6dCF6lHVdUuXl2zi6eXb6dRgyDmXRXHr4dE6rJ98QgVukg92XqgkBnJqaTmHmdM\nn/bMnRhLhxZNnI4lfkSFLlLHyquq+cfKnTy/MosWIcE8e+1AxsV31KpcPE6FLlKHNuUcZUZSKjvy\nTjBpYGceHNeX1k0bOR1L/JQKXaQOlFRU8fTy7by6Zhcdwprw2k1DuCimndOxxM+p0EU8bE3WYRJT\nUtlbUMr150UxY2wMzTVMS+qBCl3EQ46XVvL40q28s34vXcOb8p9p5zGsWxunY0kAUaGLeMDyLQeZ\n9X46h0+Uc8eFJ4dpNQnWMC2pXyp0ETfkF5Uz+8MtfJR6gJgOzXn5xgTiIzRMS5yhQhepBWst73+/\njzkfZlBSXs2fLunFnaO6E9xAw7TEOSp0kXO071gpDyxKY9W2fAZGteTJyfH01DAt8QIqdJGz5HJZ\nFn6bw7ylW3FZeGhcX24cHq1hWuI1VOgiZyE7/wSJyWl8u7uAC3qE8/hVcUS21jAt8S4qdJGfUVXt\n4qUvd/HMiu00aRjEk1fHc83gCF22L15JhS7yEzL2FzI9eTPp+wq5rF97HpkQS7swDdMS7+VWoRtj\nWgIvA7GABW6x1q71RDARp5RVVvPc51m8+MVOWoYG8/x1g7g8toNW5eL13F2hzweWWWuvNsY0AnRQ\nUXzaxj0FTE9KZWd+MVcN6syDV/allYZpiY+odaEbY8KAkcBNANbaCqDCM7FE6ldxeRV//WQbb6zd\nTacWIbx+8xBG9dYwLfEt7qzQuwH5wGvGmP7ARuAea22xR5KJ1JMvd+QzMyWN3KOl3HB+F6aPjaFZ\nY729JL7HncvaGgKDgBestQOBYiDx1BcZY6YZYzYYYzbk5+e7sTkRzzpeUsmf39vM1Fe+pVGDIN69\n43z+MiFWZS4+y52/ublArrX2m5rHSZym0K21C4AFAAkJCdaN7Yl4zLL0Azz4wRYKiiu4a1R3fj+6\np4Zpic+rdaFbaw8aY/YaY3pba7cBo4EMz0UT8by8ojIe/mALH6cfpG/HMF67aQixnVs4HUvEI9z9\n2fJ3wMKaM1yygZvdjyTiedZakjft45ElGZRWVnPfZb2ZNrKbhmmJX3Gr0K213wMJHsoiUidyj5Zw\n/6J0Vm/PZ3CXVjwxOZ4e7Zo5HUvE4/Tuj/gtl8vy1ro9PLEsE4A54/sx9bwuBGmYlvgpFbr4pay8\nEyQmp7Jhz1FG9mrLY5NiiWil697Ev6nQxa9UVrtYsDqb+St2ENKoAU9d05/Jgzrrsn0JCCp08Rvp\n+44zPSmVjAOFXBHXgdnj+9GuuYZpSeBQoYvPK6usZv5nO1iwOptWoY148fpBjI3t6HQskXqnQhef\ntn53ATOSUsk+XMw1gyOYdWVfWoQGOx1LxBEqdPFJJ8qreHJZJm+u3UNEqxDevGUoI3u1dTqWiKNU\n6OJzvtiez/0paew/XspNw6O577LeNNX8FREVuviOo8UVPPJRBimb9tG9bVOS7jyfwV1aOx1LxGuo\n0MXrWWv5OP0gD32QzrGSSu6+qAd3X9xDw7RETqFCF6+WV1jGgx+k88mWQ8R2DuONW4bSr5OGaYmc\njgpdvJK1lvc25jJ3SQZlVS5mjI3h9l90paGGaYn8JBW6eJ29BSXMTEnjq6zDDI1uzbzJcXRrq2Fa\nImeiQhevUe2yvLl2N08u20aQgUcmxnLd0CgN0xI5Syp08QpZeUVMT0plU84xRvVuy6OT4ujcMsTp\nWCI+RYUujqqsdvHiqp08+3kWoY0b8Myv+zNxgIZpidSGCl0ck5Z7nPuSNpN5sIgr4zsyZ3w/wps1\ndjqWiM9SoUu9K6us5pkV23lpdTbhzRrzz6mDuaxfB6djifg8FbrUq2+yj5CYksauw8VMGRLJzCv6\n0CJEw7REPEGFLvWiqKySJ5Zl8q91OUS2DmHhbcMY0SPc6VgifkWFLnVuZWYeDyxK40BhGbde0JU/\nXdqL0Eb6qyfiafqukjpTUFzBI0syWPTdPnq2a0byb4czKKqV07FE/JYKXTzOWsuS1APMXryF46WV\n/H50T/7vou40bqhhWiJ1SYUuHnWosIwHFqWzYush4iNasPD2YcR0CHM6lkhAcLvQjTENgA3APmvt\nOPcjiS+y1vKf9Xt5dOlWKqpcPHBFH24eEa1hWiL1yBMr9HuArYCWYQEq50gJiSmpfL3zCMO6tuaJ\nyfFEhzd1OpZIwHGr0I0xEcCVwKPAHz2SSHxGtcvy2ppdPLV8Gw2DgnhsUhxThkRqmJaIQ9xdof8d\nmA4090AW8SHbD50cpvX93mOMjmnH3EmxdGyhYVoiTqp1oRtjxgF51tqNxphRP/O6acA0gKioqNpu\nTrxERZWLF1bt5LmVO2jeJJj5UwYwvn8nDdMS8QLurNBHAOONMVcATYAwY8y/rLXX//BF1toFwAKA\nhIQE68b2xGGb9x5jelIq2w4VMWFAJx4a15c2GqYl4jVqXejW2pnATICaFfqfTy1z8Q+lFdX87dNt\nvPLVLto1b8LLNyQwpm97p2OJyCl0Hrr8rLU7j5CYksqeIyX8ZlgUiZfHENZEw7REvJFHCt1auwpY\n5YnfS7xDYVkljy/N5O1vc+jSJpR/3z6M4d01TEvEm2mFLj/y2dZDPLAonbyiMqaN7Ma9Y3oR0kiX\n7Yt4OxW6/NeRE+XM+TCDxZv3E9OhOf+cOpj+kS2djiUiZ0mFLlhrWbx5P3M+zKCorJJ7x/Tit6O6\n06ihLtsX8SUq9AB34Hgpsxal81lmHgMiW/Lk1fH0aq/rxER8kQo9QLlclrfX5/D40kyqXC5mXdmH\nm0d0pYEu2xfxWSr0ALT7cDGJKamsyy5gePc2zLsqnqg2oU7HEhE3qdADSFW1i1fX7OLp5dtp1DCI\nJybH8auESF22L+InVOgBIvNgITOSUtmce5xL+rZn7sRY2oc1cTqWiHiQCt3PlVdV84+VO3l+ZRYt\nQoJ57jcDuTKuo1blIn5Ihe7Hvss5yozkVLYfOsGkgZ15aFxfWjVt5HQsEakjKnQ/VFJRxdPLt/Pq\nml10DGvCazcN4aKYdk7HEpE6pkL3M2uyDpOYksreglKmnteF6WN701zDtEQCggrdTxwvreTxpVt5\nZ/1euoY35T/TzmNYtzZOxxKReqRC9wPLtxxk1vvpHCmu4M4Lu/OHMT1pEqxhWiKBRoXuww6fKGf2\n4i0sST1An45hvHLjEOIiWjgdS0QcokL3QdZa3v9+H3M+zKCkvJo/X9qLOy7sTnADDdMSCWQqdB+z\n/1gpDyxKY+W2fAZFnRym1aOdhmmJiArdZ7hcloXf5jBv6VYsMPuXfZl6frSGaYnIf6nQfUB2/gkS\nk9P4dncBv+gZzmOT4ohsrWFaIvK/VOherKraxctf7eKZT7fTuGEQf706nqsHR+iyfRE5LRW6l8rY\nX8j05M2k7yvksn7teWRCLO00TEtEfoYK3cuUV1Xz3OdZvLBqJy1DG/HCdYO4PK6j07FExAeo0L3I\nxj0nh2ll5Z1g8qAIHhzXh5ahGqYlImdHhe4FisureGr5Nl7/ejedWoTwxi1DubBXW6djiYiPqXWh\nG2MigTeBDoALWGCtne+pYIHiyx35zExJI/doKTee34X7xsbQrLH+nRWRc+dOc1QBf7LWbjLGNAc2\nGmM+tdZmeCibXzteUsncjzJ4b2Mu3do25b07z2dIdGunY4mID6t1oVtrDwAHaj4uMsZsBToDKvQz\nWJZ+kAc/SKeguIK7RnXn96M1TEtE3OeRn+2NMdHAQOAbT/x+/iq/qJyHF6ezNO0gfTuG8dpNQ4jt\nrGFaIuIZbhe6MaYZkAz8wVpbeJrPTwOmAURFRbm7OZ9krSVl0z7+siSD0spq7rusN9NGdtMwLRHx\nKLcK3RgTzMkyX2itTTnda6y1C4AFAAkJCdad7fmi3KMl3L8ondXb80no0op5k+Pp0a6Z07FExA+5\nc5aLAV4Btlpr/+a5SP7B5bK8tW4PTyzLBGDO+H5MPa8LQRqmJSJ1xJ0V+ghgKpBmjPm+5rn7rbVL\n3Y/l23bmn2BGUiob9hxlZK+2PDYplohWGqYlInXLnbNcvgK03PyBymoXC1ZnM/+zHYQEN+Cpa/oz\neVBnDdMSkXqhK1g8JH3fcaYnpZJxoJAr4jowe3w/2jXXMC0RqT8qdDeVVVYz/7MdLFidTeumjXjx\n+kGMjdUwLRGpfyp0N6zfXcCMpFSyDxdzzeAIZl3ZlxahwU7HEpEApUKvhRPlVTy5LJM31+4holUI\nb906lF/01DAtEXGWCv0cfbE9n/tT0th/vJSbhkdz32W9aaphWiLiBdREZ+locQWPfJRByqZ9dG/b\nlKQ7z2dwFw3TEhHvoUI/A2stH6cf5KEP0jlWUsnvLu7B3Rf3oHFDDdMSEe+iQv8ZeYVlPPhBOp9s\nOURc5xa8ecsw+nYKczqWiMhpqdBPw1rLextzmbskg/IqF4mXx3DbBV1pqGFaIuLFVOin2FtQwsyU\nNL7KOszQ6NbMmxxHt7YapiUi3k+FXqPaZXnj69389ZNtBBl4ZGIs1w2N0jAtEfEZKnRgx6EiZiSn\nsinnGKN6t+XRSXF0bhnidCwRkXMS0IVeWe3ixVU7efbzLJo2bsDffz2ACQM6aZiWiPikgC30tNzj\n3Je0mcyDRYyL78js8f0Ib9bY6VgiIrUWcIVeVlnNMyu289LqbMKbNWbB1MFc2q+D07FERNwWUIW+\nLvsIicmp7D5SwpQhkcy8og8tQjRMS0T8Q0AUelFZJfM+zmThNzlEtQ5l4W3DGNEj3OlYIiIe5feF\nvjIzj/sXpXGosIzbLujKHy/tRWgjv99tEQlAfttsBcUV/OXDLbz//X56tmvG878dzsCoVk7HEhGp\nM35X6NZaPkw9wOzFWygsreSe0T2566LuGqYlIn7Prwr94PEyZr2fzoqth4iPaMGTtw8jpoOGaYlI\nYPCLQrfW8s76vTz20VYqXS4euKIPN4+I1jAtEQkoPl/oe44Uk5icxtrsI5zXrTXzroonOryp07FE\nROqdzxZ6tcvy2ppdPLV8G8FBQTw2KY4pQyI1TEtEApZbhW6MGQvMBxoAL1tr53kk1RlsO1jE9ORU\nNu89xuiYdsydFEvHFhqmJSKBrdaFboxpAPwDuATIBdYbYxZbazM8Fe5UFVUunl+VxT9WZtG8STDz\npwxgfH8N0xIRAfdW6EOBLGttNoAx5h1gAlAnhf793mPMSEpl26EiJgzoxEPj+tJGw7RERP7LnULv\nDOz9weNcYJh7cU7v2c928MyK7bRr3oRXbkxgdJ/2dbEZERGf5k6hn+44h/3Ri4yZBkwDiIqKqtWG\notqEMmVoFImXxxDWRMO0REROx51CzwUif/A4Ath/6oustQuABQAJCQk/KvyzMWFAZyYM6FybLxUR\nCRjuXHmzHuhpjOlqjGkETAEWeyaWiIicq1qv0K21VcaYu4FPOHna4qvW2i0eSyYiIufErfPQrbVL\ngaUeyiIiIm7QsBMRET+hQhcR8RMqdBERP6FCFxHxEyp0ERE/Yayt1bU+tduYMfnAnlp+eThw2INx\nnKR98T7+sh+gffFW7uxLF2tt2zO9qF4L3R3GmA3W2gSnc3iC9sX7+Mt+gPbFW9XHvuiQi4iIn1Ch\ni4j4CV8q9AVOB/Ag7Yv38Zf9AO2Lt6rzffGZY+giIvLzfGmFLiIiP8MnCt0YM9YYs80Yk2WMSXQ6\nT20ZY141xuQZY9KdzuIOY0ykMWalMWarMWaLMeYepzPVljGmiTHmW2PM5pp9meN0JncYYxoYY74z\nxixxOos7jDG7jTFpxpjvjTEbnM7jDmNMS2NMkjEms+Z75vw625a3H3KpuRn1dn5wM2rg2rq8GXVd\nMcaMBE4Ab1prY53OU1vGmI5AR2vtJmNMc2AjMNFH/0wM0NRae8IYEwx8BdxjrV3ncLRaMcb8EUgA\nwqy145zOU1vGmN1AgrXW589BN8a8AXxprX255t4RodbaY3WxLV9Yof/3ZtTW2grg/9+M2udYa1cD\nBU7ncJe19oC1dlPNx0XAVk7eY9bn2JNO1DwMrvnPu1c5P8EYEwFcCbzsdBY5yRgTBowEXgGw1lbU\nVZmDbxT66W5G7ZPl4Y+MMdHAQOAbZ5PUXs1hiu+BPOBTa62v7svfgemAy+kgHmCB5caYjTX3JfZV\n3YB84LWaQ2EvG2Oa1tXGfKHQz+pm1FL/jDHNgGTgD9baQqfz1Ja1ttpaO4CT98UdaozxucNhxphx\nQJ61dqPTWTxkhLV2EHA58H81hyt9UUNgEPCCtXYgUAzU2fuAvlDoZ3UzaqlfNcebk4GF1toUp/N4\nQs2PwquAsQ5HqY0RwPiaY8/vABcbY/7lbKTas9bur/k1D1jEyUOvvigXyP3BT31JnCz4OuELha6b\nUXuZmjcSXwG2Wmv/5nQedxhj2hpjWtZ8HAKMATKdTXXurLUzrbUR1tpoTn6PfG6tvd7hWLVijGla\n82Y7NYcnLgV88swwa+1BYK8xpnfNU6OBOjt5wK17itYHf7oZtTHmbWAUEG6MyQUetta+4myqWhkB\nTAXSao49A9xfc49ZX9MReKPmbKog4F1rrU+f8ucH2gOLTq4baAj821q7zNlIbvkdsLBmQZoN3FxX\nG/L60xZFROTs+MIhFxEROQsqdBERP6FCFxHxEyp0ERE/oUIXEfETKnQRET+hQhcR8RMqdBERP/H/\nANCMLSU9iVY1AAAAAElFTkSuQmCC\n", 29 | "text/plain": [ 30 | "" 31 | ] 32 | }, 33 | "metadata": {}, 34 | "output_type": "display_data" 35 | } 36 | ], 37 | "source": [ 38 | "%matplotlib inline\n", 39 | "\n", 40 | "from sklearn.linear_model import LinearRegression\n", 41 | "import matplotlib.pyplot as plt\n", 42 | "import numpy as np\n", 43 | "\n", 44 | "X = np.linspace(0, 6, 7).reshape(-1,1)\n", 45 | "Y = np.linspace(0, 12, 7).reshape(-1,1)\n", 46 | "\n", 47 | "lr = LinearRegression().fit(X,Y)\n", 48 | "\n", 49 | "print(\"Coeficiente: {}\".format(lr.coef_))\n", 50 | "print(\"lr.intercept_: {}\".format(lr.intercept_))\n", 51 | "\n", 52 | "plt.plot(X, Y)" 53 | ] 54 | } 55 | ], 56 | "metadata": { 57 | "kernelspec": { 58 | "display_name": "Python 3", 59 | "language": "python", 60 | "name": "python3" 61 | }, 62 | "language_info": { 63 | "codemirror_mode": { 64 | "name": "ipython", 65 | "version": 3 66 | }, 67 | "file_extension": ".py", 68 | "mimetype": "text/x-python", 69 | "name": "python", 70 | "nbconvert_exporter": "python", 71 | "pygments_lexer": "ipython3", 72 | "version": "3.6.2" 73 | } 74 | }, 75 | "nbformat": 4, 76 | "nbformat_minor": 2 77 | } 78 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/Aula 14 - K-Nearest Neighbors - Regressão-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "# Importação das bibliotecas necessárias\n", 12 | "\n", 13 | "%matplotlib inline\n", 14 | "import pandas as pd\n", 15 | "import numpy as np\n", 16 | "import matplotlib.pyplot as plt\n", 17 | "from sklearn.model_selection import train_test_split\n", 18 | "from sklearn.neighbors import KNeighborsRegressor\n" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 6, 24 | "metadata": {}, 25 | "outputs": [ 26 | { 27 | "data": { 28 | "image/png": "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\n", 29 | "text/plain": [ 30 | "" 31 | ] 32 | }, 33 | "metadata": {}, 34 | "output_type": "display_data" 35 | } 36 | ], 37 | "source": [ 38 | "# Criando dados de regressão\n", 39 | "from sklearn.datasets import make_regression\n", 40 | "X, Y = make_regression(n_samples = 100, n_features = 1, noise = 30, random_state = 5)\n", 41 | "\n", 42 | "plt.scatter(X, Y)\n", 43 | "plt.show()" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": null, 49 | "metadata": { 50 | "collapsed": true 51 | }, 52 | "outputs": [], 53 | "source": [ 54 | "# Função que retorna os resultados do modelo\n", 55 | "def retornaResultadosModeloKNN_Regressao(random_state, quantidade, dados, respostas):\n", 56 | " #Divisão entre observações de teste e observações de treino\n", 57 | " X_train, X_test, y_train, y_test = train_test_split(dados, respostas, random_state = random_state)\n", 58 | " # Vetores de armazenamento dos resultados de teste e de treino\n", 59 | " quantidade_k = range(1,quantidade + 1)\n", 60 | " res_teste = []\n", 61 | " res_treino = []\n", 62 | " \n", 63 | " # loop das classificações\n", 64 | "\n", 65 | " for i in quantidade_k:\n", 66 | " knn = KNeighborsRegressor(n_neighbors = i)\n", 67 | " knn.fit(X_train, y_train)\n", 68 | "\n", 69 | " # Adicionando os valores dos resultados a seus respectivos vetores\n", 70 | " res_treino.append(knn.score(X_train, y_train))\n", 71 | " res_teste.append(knn.score(X_test, y_test))\n", 72 | " \n", 73 | " return quantidade_k, res_treino, res_teste" 74 | ] 75 | }, 76 | { 77 | "cell_type": "code", 78 | "execution_count": null, 79 | "metadata": { 80 | "collapsed": true 81 | }, 82 | "outputs": [], 83 | "source": [ 84 | "# Função que retorna os resultados do modelo\n", 85 | "def retornaResultadosModeloKNN_Regressao(random_state, quantidade, dados, respostas):\n", 86 | " #Divisão entre observações de teste e observações de treino\n", 87 | " X_train, X_test, y_train, y_test = train_test_split(dados, respostas, random_state = random_state)\n", 88 | " # Vetores de armazenamento dos resultados de teste e de treino\n", 89 | " quantidade_k = range(1,quantidade)\n", 90 | " res_teste = []\n", 91 | " res_treino = []\n", 92 | " \n", 93 | " # loop das classificações\n", 94 | "\n", 95 | " for i in quantidade_k:\n", 96 | " knn = KNeighborsRegressor(n_neighbors = i)\n", 97 | " knn.fit(X_train, y_train)\n", 98 | "\n", 99 | " # Adicionando os valores dos resultados a seus respectivos vetores\n", 100 | " res_treino.append(knn.score(X_train, y_train))\n", 101 | " res_teste.append(knn.score(X_test, y_test))\n", 102 | " \n", 103 | " return quantidade_k, res_treino, res_teste" 104 | ] 105 | }, 106 | { 107 | "cell_type": "code", 108 | "execution_count": null, 109 | "metadata": {}, 110 | "outputs": [], 111 | "source": [ 112 | "# Print de alguns resultados\n", 113 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Regressao(1, 20, X, Y)\n", 114 | "i = 4\n", 115 | "print(\"Treino {} : {}\".format(i, res_treino[i]))\n", 116 | "print(\"Teste {} : {}\".format(i, res_teste[i]))" 117 | ] 118 | }, 119 | { 120 | "cell_type": "code", 121 | "execution_count": null, 122 | "metadata": {}, 123 | "outputs": [], 124 | "source": [ 125 | "# Plot dos gráficos com os seguintes randoms 1, 5, 20, 550\n", 126 | "dados = X\n", 127 | "respostas = Y\n", 128 | "\n", 129 | "legendas = [\"Treino\", \"Teste\"]\n", 130 | "quantidade = 20\n", 131 | "rand = 1\n", 132 | "f, axarr = plt.subplots(2,2)\n", 133 | "plt.rcParams[\"figure.figsize\"] = [12,12]\n", 134 | "plt.setp(axarr, xticks=np.arange(0,20, step=1))\n", 135 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Regressao(rand, quantidade, dados, respostas)\n", 136 | "axarr[0,0].plot(res_treino)\n", 137 | "axarr[0,0].plot(res_teste)\n", 138 | "axarr[0,0].grid(True)\n", 139 | "axarr[0,0].set_title(\"Rand 1\")\n", 140 | "axarr[0,0].legend(legendas)\n", 141 | "\n", 142 | "# Rand 5\n", 143 | "rand = 5\n", 144 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Regressao(rand, quantidade, dados, respostas)\n", 145 | "axarr[0,1].plot(res_treino)\n", 146 | "axarr[0,1].plot(res_teste)\n", 147 | "axarr[0,1].grid(True)\n", 148 | "axarr[0,1].set_title(\"Rand 5\")\n", 149 | "axarr[0,1].legend(legendas)\n", 150 | "\n", 151 | "#Rand 20\n", 152 | "rand = 20\n", 153 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Regressao(rand, quantidade, dados, respostas)\n", 154 | "axarr[1,0].plot(res_treino)\n", 155 | "axarr[1,0].plot(res_teste)\n", 156 | "axarr[1,0].grid(True)\n", 157 | "axarr[1,0].set_title(\"Rand 20\")\n", 158 | "axarr[1,0].legend(legendas)\n", 159 | "\n", 160 | "#Rand 550\n", 161 | "rand = 550\n", 162 | "quantidade_k, res_treino, res_teste = retornaResultadosModeloKNN_Regressao(rand, quantidade, dados, respostas)\n", 163 | "axarr[1,1].plot(res_treino)\n", 164 | "axarr[1,1].plot(res_teste)\n", 165 | "axarr[1,1].grid(True)\n", 166 | "axarr[1,1].set_title(\"Rand 550\")\n", 167 | "axarr[1,1].legend(legendas)\n", 168 | "\n", 169 | "#plt.setp([a.get_xticklabels() for a in axarr[0, :]], visible=False)\n", 170 | "#plt.setp([a.get_yticklabels() for a in axarr[:, 1]], visible=False)\n", 171 | "\n", 172 | "plt.show()" 173 | ] 174 | } 175 | ], 176 | "metadata": { 177 | "kernelspec": { 178 | "display_name": "Python 3", 179 | "language": "python", 180 | "name": "python3" 181 | }, 182 | "language_info": { 183 | "codemirror_mode": { 184 | "name": "ipython", 185 | "version": 3 186 | }, 187 | "file_extension": ".py", 188 | "mimetype": "text/x-python", 189 | "name": "python", 190 | "nbconvert_exporter": "python", 191 | "pygments_lexer": "ipython3", 192 | "version": "3.6.2" 193 | } 194 | }, 195 | "nbformat": 4, 196 | "nbformat_minor": 2 197 | } 198 | -------------------------------------------------------------------------------- /Aula 19 - Diferença entre modelo linear e KNN de regressão.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "import pandas as pd\n", 12 | "import numpy as np\n", 13 | "import matplotlib.pyplot as plt" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 2, 19 | "metadata": { 20 | "collapsed": true 21 | }, 22 | "outputs": [], 23 | "source": [ 24 | "from sklearn.datasets import make_regression" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 3, 30 | "metadata": { 31 | "collapsed": true 32 | }, 33 | "outputs": [], 34 | "source": [ 35 | "alturas = np.array([1.45, 1.7, 1.60, 1.8, 1.95, 1.73, 1.50, 1.88, 1.89, 1.77, 1.55, 1.91]).reshape(-1, 1)\n", 36 | "pesos = np.array([64,71, 99, 81, 91, 74, 67, 88, 103, 73, 55,100]).reshape(-1, 1)\n", 37 | "\n", 38 | "alturas_teste = np.array([1.71, 1.80, 1.61]).reshape(-1,1)\n", 39 | "pesos_teste = np.array([74, 87, 70]).reshape(-1,1)" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 4, 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "data": { 49 | "image/png": "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\nKcPifrU8zPVq4HfAREkbJF0ALATeL2k98P70McCNwKPAw8A/A39Zq7osf2WYq7Xy6ZzSxoKZk2hr\nbUEkI4cFMyc11ci4ZlNMETFrkKdOy9g2gM/VqhYrli/EYs2q2Rf385nUVnO+EItZY3JAWM2VYa7W\nrBnVy2Gu1sQqL8QCW2jzhVjMGoIDwnLRP1fb1dXVNIcAmjU7TzGZmVkmB4SZmWVyQJiZWSYHhJmZ\nZXJAmJlZJgeEmZllckCYmVkmB4SZmWVyQJiZWSYHhJmZZXJAmJlZJgeEmZllckCYmVkmB4SZmWVy\nQJiZWSYHhJmZZXJAmJlZJgeEmZllckCYmVkmB4SZmWVyQJiZWSYHhJmZZXJAmJlZJgeEmZllckCY\nmVmm3YouwMzM3mzZ6m4WLV/Hxp4+xre2MHfGRDqntOVagwPCzKzOLFvdzfyla+jbug2A7p4+5i9d\nA5BrSHiKycyszixavu71cOjXt3Ubi5avy7UOB4SZWZ3Z2NO3Q+21UkhASLpI0gOSHpT0+bRtX0m3\nSFqf3u9TRG1mZkUb39qyQ+21kntASDoW+HPgBOA44IOSDgfmASsi4nBgRfrYzKx05s6YSMvoUdu1\ntYwexdwZE3Oto4gRxFHAnRHxSkS8Cvw78BHgw8DidJvFQGcBtZmZFa5zShsLZk6irbUFAW2tLSyY\nOSn3o5gUEfl+oHQUcD1wEtBHMlpYCXwqIlortnshIt40zSRpDjAHYOzYsVOXLFmSS9211Nvby5gx\nY4ouIxdl6WtZ+gnuayOaPn36qohoH2673AMCQNIFwOeAXuAhkqA4r5qAqNTe3h4rV66saa156Orq\noqOjo+gyclGWvpaln+C+NiJJVQVEITupI+LyiDg+Ik4FngfWA5skjQNI7zcXUZuZmSWKOorpwPT+\nHcBM4GrgBmB2uslskmkoMzMrSFFnUv9C0n7AVuBzEfGCpIXAten00xPAxwqqzczMKCggIuKUjLbn\ngNMKKMfMSqYe1jlqBF6LycxKpV7WOWoEXmrDzEqlXtY5agQOCDMrlXpZ56gROCDMrFTqZZ2jRuCA\nMLNSqZd1jhqBd1KbWan074j2UUzDc0CYWel0TmlzIFTBU0xmZpbJAWFmZpkcEGZmlskBYWZmmRwQ\nZmaWyQFhZmaZHBBmZpbJAWFmZpkcEGZmlskBYWZmmYZdakPSW4DjgPFAH/BgRGyqdWFmZlasQQNC\n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\nYII=\n", 50 | "text/plain": [ 51 | "" 52 | ] 53 | }, 54 | "metadata": {}, 55 | "output_type": "display_data" 56 | } 57 | ], 58 | "source": [ 59 | "plt.scatter(alturas, pesos)\n", 60 | "plt.grid(True)\n", 61 | "plt.title(\"Altura x Peso\")\n", 62 | "plt.ylabel(\"Peso (Kg)\")\n", 63 | "plt.xlabel(\"Altura (Metros)\")\n", 64 | "plt.show()" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 5, 70 | "metadata": { 71 | "collapsed": true 72 | }, 73 | "outputs": [], 74 | "source": [ 75 | "#Importação do modelo KNN e Linear\n", 76 | "from sklearn.neighbors import KNeighborsRegressor\n", 77 | "from sklearn.linear_model import LinearRegression" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": 6, 83 | "metadata": { 84 | "collapsed": true 85 | }, 86 | "outputs": [], 87 | "source": [ 88 | "# Criando os modelos\n", 89 | "knn_1 = KNeighborsRegressor(n_neighbors = 1).fit(alturas, pesos)\n", 90 | "knn_3 = KNeighborsRegressor(n_neighbors = 3).fit(alturas, pesos)\n", 91 | "knn_5 = KNeighborsRegressor(n_neighbors = 5).fit(alturas, pesos)\n", 92 | "linear = LinearRegression().fit(alturas, pesos)" 93 | ] 94 | }, 95 | { 96 | "cell_type": "code", 97 | "execution_count": 7, 98 | "metadata": {}, 99 | "outputs": [ 100 | { 101 | "data": { 102 | "image/png": "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\ngg==\n", 103 | "text/plain": [ 104 | "" 105 | ] 106 | }, 107 | "metadata": {}, 108 | "output_type": "display_data" 109 | } 110 | ], 111 | "source": [ 112 | "# Exibindo os gráficos\n", 113 | "# Exibindo as linhas de predição\n", 114 | "#legendas = [\"Linha de prediçao\", \"Treino\", \"Teste\"]\n", 115 | "figura, eixos = plt.subplots(2, 2, figsize=(10,10))\n", 116 | "\n", 117 | "\n", 118 | "# Código para criar a linha de predição dos dados de treino\n", 119 | "# onde é criado 500 valores igualmente espaçados entre 1.45 e 1.95\n", 120 | "linha = np.linspace(1.45, 1.95, 1000).reshape(-1, 1)\n", 121 | "\n", 122 | "#Knn 1\n", 123 | "eixo = eixos[0,0]\n", 124 | "eixo.grid(True)\n", 125 | "eixo.plot(linha, knn_1.predict(linha))\n", 126 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 127 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 128 | "eixo.set_title(\"KNN {}\\n Treino: {:.2f} - Teste: {:.2f}\".format(1, knn_1.score(alturas, pesos), knn_1.score(alturas_teste, pesos_teste)))\n", 129 | "\n", 130 | "#Knn 3\n", 131 | "eixo = eixos[0,1]\n", 132 | "eixo.grid(True)\n", 133 | "eixo.plot(linha, knn_3.predict(linha))\n", 134 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 135 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 136 | "eixo.set_title(\"KNN {}\\n Treino: {:.2f} - Teste: {:.2f}\".format(3, knn_3.score(alturas, pesos), knn_3.score(alturas_teste, pesos_teste)))\n", 137 | "\n", 138 | "#Knn 5\n", 139 | "eixo = eixos[1,0]\n", 140 | "eixo.grid(True)\n", 141 | "eixo.plot(linha, knn_5.predict(linha))\n", 142 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 143 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 144 | "eixo.set_title(\"KNN {}\\n Treino: {:.2f} - Teste: {:.2f}\".format(5, knn_5.score(alturas, pesos), knn_5.score(alturas_teste, pesos_teste)))\n", 145 | "\n", 146 | "#Linear\n", 147 | "eixo = eixos[1,1]\n", 148 | "eixo.grid(True)\n", 149 | "eixo.plot(linha, linear.predict(linha))\n", 150 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 151 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 152 | "eixo.set_title(\"Modelo Linear\\n Treino: {:.2f} - Teste: {:.2f}\".format(linear.score(alturas, pesos), linear.score(alturas_teste, pesos_teste)))\n", 153 | "\n", 154 | "#eixos[0].legend(legendas)\n", 155 | "\n", 156 | "plt.show()" 157 | ] 158 | }, 159 | { 160 | "cell_type": "code", 161 | "execution_count": 8, 162 | "metadata": {}, 163 | "outputs": [ 164 | { 165 | "name": "stdout", 166 | "output_type": "stream", 167 | "text": [ 168 | "Pesos Teste: 74, 87, 70\n", 169 | "Knn 1 - 71.0, 81.0, 99.0\n", 170 | "Knn 3 - 72.66666666666667, 76.0, 75.0\n", 171 | "Knn 5 - 79.6, 83.8, 73.2\n", 172 | "Modelo Linear - 79.36905231594729, 85.18535469107552, 72.90649412136038\n" 173 | ] 174 | } 175 | ], 176 | "source": [ 177 | "# Valores de Predição\n", 178 | "valores = pesos_teste\n", 179 | "print(\"Pesos Teste: {}, {}, {}\".format(valores[0][0], valores[1][0], valores[2][0]))\n", 180 | "valores = knn_1.predict(alturas_teste)\n", 181 | "print(\"Knn {} - {}, {}, {}\".format(1, valores[0][0], valores[1][0], valores[2][0]))\n", 182 | "valores = knn_3.predict(alturas_teste)\n", 183 | "print(\"Knn {} - {}, {}, {}\".format(3, valores[0][0], valores[1][0], valores[2][0]))\n", 184 | "valores = knn_5.predict(alturas_teste)\n", 185 | "print(\"Knn {} - {}, {}, {}\".format(5, valores[0][0], valores[1][0], valores[2][0]))\n", 186 | "valores = linear.predict(alturas_teste)\n", 187 | "print(\"Modelo Linear - {}, {}, {}\".format(valores[0][0], valores[1][0], valores[2][0]))" 188 | ] 189 | } 190 | ], 191 | "metadata": { 192 | "kernelspec": { 193 | "display_name": "Python 3", 194 | "language": "python", 195 | "name": "python3" 196 | }, 197 | "language_info": { 198 | "codemirror_mode": { 199 | "name": "ipython", 200 | "version": 3 201 | }, 202 | "file_extension": ".py", 203 | "mimetype": "text/x-python", 204 | "name": "python", 205 | "nbconvert_exporter": "python", 206 | "pygments_lexer": "ipython3", 207 | "version": "3.6.2" 208 | } 209 | }, 210 | "nbformat": 4, 211 | "nbformat_minor": 2 212 | } 213 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/Aula 19 - Diferença entre modelo linear e KNN de regressão-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "import pandas as pd\n", 12 | "import numpy as np\n", 13 | "import matplotlib.pyplot as plt" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 2, 19 | "metadata": { 20 | "collapsed": true 21 | }, 22 | "outputs": [], 23 | "source": [ 24 | "from sklearn.datasets import make_regression" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 3, 30 | "metadata": { 31 | "collapsed": true 32 | }, 33 | "outputs": [], 34 | "source": [ 35 | "alturas = np.array([1.45, 1.7, 1.60, 1.8, 1.95, 1.73, 1.50, 1.88, 1.89, 1.77, 1.55, 1.91]).reshape(-1, 1)\n", 36 | "pesos = np.array([64,71, 99, 81, 91, 74, 67, 88, 103, 73, 55,100]).reshape(-1, 1)\n", 37 | "\n", 38 | "alturas_teste = np.array([1.71, 1.80, 1.61]).reshape(-1,1)\n", 39 | "pesos_teste = np.array([74, 87, 70]).reshape(-1,1)" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 4, 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "data": { 49 | "image/png": "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\nKcPifrU8zPVq4HfAREkbJF0ALATeL2k98P70McCNwKPAw8A/A39Zq7osf2WYq7Xy6ZzSxoKZk2hr\nbUEkI4cFMyc11ci4ZlNMETFrkKdOy9g2gM/VqhYrli/EYs2q2Rf385nUVnO+EItZY3JAWM2VYa7W\nrBnVy2Gu1sQqL8QCW2jzhVjMGoIDwnLRP1fb1dXVNIcAmjU7TzGZmVkmB4SZmWVyQJiZWSYHhJmZ\nZXJAmJlZJgeEmZllckCYmVkmB4SZmWVyQJiZWSYHhJmZZXJAmJlZJgeEmZllckCYmVkmB4SZmWVy\nQJiZWSYHhJmZZXJAmJlZJgeEmZllckCYmVkmB4SZmWVyQJiZWSYHhJmZZXJAmJlZJgeEmZllckCY\nmVmm3YouwMzM3mzZ6m4WLV/Hxp4+xre2MHfGRDqntOVagwPCzKzOLFvdzfyla+jbug2A7p4+5i9d\nA5BrSHiKycyszixavu71cOjXt3Ubi5avy7UOB4SZWZ3Z2NO3Q+21UkhASLpI0gOSHpT0+bRtX0m3\nSFqf3u9TRG1mZkUb39qyQ+21kntASDoW+HPgBOA44IOSDgfmASsi4nBgRfrYzKx05s6YSMvoUdu1\ntYwexdwZE3Oto4gRxFHAnRHxSkS8Cvw78BHgw8DidJvFQGcBtZmZFa5zShsLZk6irbUFAW2tLSyY\nOSn3o5gUEfl+oHQUcD1wEtBHMlpYCXwqIlortnshIt40zSRpDjAHYOzYsVOXLFmSS9211Nvby5gx\nY4ouIxdl6WtZ+gnuayOaPn36qohoH2673AMCQNIFwOeAXuAhkqA4r5qAqNTe3h4rV66saa156Orq\noqOjo+gyclGWvpaln+C+NiJJVQVEITupI+LyiDg+Ik4FngfWA5skjQNI7zcXUZuZmSWKOorpwPT+\nHcBM4GrgBmB2uslskmkoMzMrSFFnUv9C0n7AVuBzEfGCpIXAten00xPAxwqqzczMKCggIuKUjLbn\ngNMKKMfMSqYe1jlqBF6LycxKpV7WOWoEXmrDzEqlXtY5agQOCDMrlXpZ56gROCDMrFTqZZ2jRuCA\nMLNSqZd1jhqBd1KbWan074j2UUzDc0CYWel0TmlzIFTBU0xmZpbJAWFmZpkcEGZmlskBYWZmmRwQ\nZmaWyQFhZmaZHBBmZpbJAWFmZpkcEGZmlskBYWZmmYZdakPSW4DjgPFAH/BgRGyqdWFmZlasQQNC\n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\nYII=\n", 50 | "text/plain": [ 51 | "" 52 | ] 53 | }, 54 | "metadata": {}, 55 | "output_type": "display_data" 56 | } 57 | ], 58 | "source": [ 59 | "plt.scatter(alturas, pesos)\n", 60 | "plt.grid(True)\n", 61 | "plt.title(\"Altura x Peso\")\n", 62 | "plt.ylabel(\"Peso (Kg)\")\n", 63 | "plt.xlabel(\"Altura (Metros)\")\n", 64 | "plt.show()" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 5, 70 | "metadata": { 71 | "collapsed": true 72 | }, 73 | "outputs": [], 74 | "source": [ 75 | "#Importação do modelo KNN e Linear\n", 76 | "from sklearn.neighbors import KNeighborsRegressor\n", 77 | "from sklearn.linear_model import LinearRegression" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": 6, 83 | "metadata": { 84 | "collapsed": true 85 | }, 86 | "outputs": [], 87 | "source": [ 88 | "# Criando os modelos\n", 89 | "knn_1 = KNeighborsRegressor(n_neighbors = 1).fit(alturas, pesos)\n", 90 | "knn_3 = KNeighborsRegressor(n_neighbors = 3).fit(alturas, pesos)\n", 91 | "knn_5 = KNeighborsRegressor(n_neighbors = 5).fit(alturas, pesos)\n", 92 | "linear = LinearRegression().fit(alturas, pesos)" 93 | ] 94 | }, 95 | { 96 | "cell_type": "code", 97 | "execution_count": 7, 98 | "metadata": {}, 99 | "outputs": [ 100 | { 101 | "data": { 102 | "image/png": "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\ngg==\n", 103 | "text/plain": [ 104 | "" 105 | ] 106 | }, 107 | "metadata": {}, 108 | "output_type": "display_data" 109 | } 110 | ], 111 | "source": [ 112 | "# Exibindo os gráficos\n", 113 | "# Exibindo as linhas de predição\n", 114 | "#legendas = [\"Linha de prediçao\", \"Treino\", \"Teste\"]\n", 115 | "figura, eixos = plt.subplots(2, 2, figsize=(10,10))\n", 116 | "\n", 117 | "\n", 118 | "# Código para criar a linha de predição dos dados de treino\n", 119 | "# onde é criado 500 valores igualmente espaçados entre 1.45 e 1.95\n", 120 | "linha = np.linspace(1.45, 1.95, 1000).reshape(-1, 1)\n", 121 | "\n", 122 | "#Knn 1\n", 123 | "eixo = eixos[0,0]\n", 124 | "eixo.grid(True)\n", 125 | "eixo.plot(linha, knn_1.predict(linha))\n", 126 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 127 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 128 | "eixo.set_title(\"KNN {}\\n Treino: {:.2f} - Teste: {:.2f}\".format(1, knn_1.score(alturas, pesos), knn_1.score(alturas_teste, pesos_teste)))\n", 129 | "\n", 130 | "#Knn 3\n", 131 | "eixo = eixos[0,1]\n", 132 | "eixo.grid(True)\n", 133 | "eixo.plot(linha, knn_3.predict(linha))\n", 134 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 135 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 136 | "eixo.set_title(\"KNN {}\\n Treino: {:.2f} - Teste: {:.2f}\".format(3, knn_3.score(alturas, pesos), knn_3.score(alturas_teste, pesos_teste)))\n", 137 | "\n", 138 | "#Knn 5\n", 139 | "eixo = eixos[1,0]\n", 140 | "eixo.grid(True)\n", 141 | "eixo.plot(linha, knn_5.predict(linha))\n", 142 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 143 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 144 | "eixo.set_title(\"KNN {}\\n Treino: {:.2f} - Teste: {:.2f}\".format(5, knn_5.score(alturas, pesos), knn_5.score(alturas_teste, pesos_teste)))\n", 145 | "\n", 146 | "#Linear\n", 147 | "eixo = eixos[1,1]\n", 148 | "eixo.grid(True)\n", 149 | "eixo.plot(linha, linear.predict(linha))\n", 150 | "eixo.plot(alturas, pesos, \"^\", markersize=5)\n", 151 | "eixo.plot(alturas_teste, pesos_teste, \"v\", markersize=8)\n", 152 | "eixo.set_title(\"Modelo Linear\\n Treino: {:.2f} - Teste: {:.2f}\".format(linear.score(alturas, pesos), linear.score(alturas_teste, pesos_teste)))\n", 153 | "\n", 154 | "#eixos[0].legend(legendas)\n", 155 | "\n", 156 | "plt.show()" 157 | ] 158 | }, 159 | { 160 | "cell_type": "code", 161 | "execution_count": 8, 162 | "metadata": {}, 163 | "outputs": [ 164 | { 165 | "name": "stdout", 166 | "output_type": "stream", 167 | "text": [ 168 | "Pesos Teste: 74, 87, 70\n", 169 | "Knn 1 - 71.0, 81.0, 99.0\n", 170 | "Knn 3 - 72.66666666666667, 76.0, 75.0\n", 171 | "Knn 5 - 79.6, 83.8, 73.2\n", 172 | "Modelo Linear - 79.36905231594729, 85.18535469107552, 72.90649412136038\n" 173 | ] 174 | } 175 | ], 176 | "source": [ 177 | "# Valores de Predição\n", 178 | "valores = pesos_teste\n", 179 | "print(\"Pesos Teste: {}, {}, {}\".format(valores[0][0], valores[1][0], valores[2][0]))\n", 180 | "valores = knn_1.predict(alturas_teste)\n", 181 | "print(\"Knn {} - {}, {}, {}\".format(1, valores[0][0], valores[1][0], valores[2][0]))\n", 182 | "valores = knn_3.predict(alturas_teste)\n", 183 | "print(\"Knn {} - {}, {}, {}\".format(3, valores[0][0], valores[1][0], valores[2][0]))\n", 184 | "valores = knn_5.predict(alturas_teste)\n", 185 | "print(\"Knn {} - {}, {}, {}\".format(5, valores[0][0], valores[1][0], valores[2][0]))\n", 186 | "valores = linear.predict(alturas_teste)\n", 187 | "print(\"Modelo Linear - {}, {}, {}\".format(valores[0][0], valores[1][0], valores[2][0]))" 188 | ] 189 | } 190 | ], 191 | "metadata": { 192 | "kernelspec": { 193 | "display_name": "Python 3", 194 | "language": "python", 195 | "name": "python3" 196 | }, 197 | "language_info": { 198 | "codemirror_mode": { 199 | "name": "ipython", 200 | "version": 3 201 | }, 202 | "file_extension": ".py", 203 | "mimetype": "text/x-python", 204 | "name": "python", 205 | "nbconvert_exporter": "python", 206 | "pygments_lexer": "ipython3", 207 | "version": "3.6.2" 208 | } 209 | }, 210 | "nbformat": 4, 211 | "nbformat_minor": 2 212 | } 213 | -------------------------------------------------------------------------------- /Aula 18 - Criando Modelo Linear usando scikit.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "Coeficiente: [[ 2.]]\n", 13 | "Intercepto: [ 0.]\n" 14 | ] 15 | }, 16 | { 17 | "data": { 18 | "image/png": "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\n", 19 | "text/plain": [ 20 | "" 21 | ] 22 | }, 23 | "metadata": {}, 24 | "output_type": "display_data" 25 | } 26 | ], 27 | "source": [ 28 | "%matplotlib inline\n", 29 | "\n", 30 | "from sklearn.linear_model import LinearRegression\n", 31 | "import matplotlib.pyplot as plt\n", 32 | "import numpy as np\n", 33 | "\n", 34 | "X = np.linspace(0, 6, 7).reshape(-1,1)\n", 35 | "Y = np.linspace(0, 12, 7).reshape(-1,1)\n", 36 | "\n", 37 | "lr = LinearRegression().fit(X,Y)\n", 38 | "\n", 39 | "print(\"Coeficiente: {}\".format(lr.coef_))\n", 40 | "print(\"Intercepto: {}\".format(lr.intercept_))\n", 41 | "\n", 42 | "plt.plot(X, Y)\n", 43 | "plt.grid(True)\n", 44 | "plt.show()\n", 45 | "# Y = wx + b\n", 46 | "# Y = 2x + 0" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": 15, 52 | "metadata": {}, 53 | "outputs": [ 54 | { 55 | "data": { 56 | "image/png": "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\nKgkGfCKikvj/tuWBpGUCdu8AAAAASUVORK5CYII=\n", 57 | "text/plain": [ 58 | "" 59 | ] 60 | }, 61 | "metadata": {}, 62 | "output_type": "display_data" 63 | } 64 | ], 65 | "source": [ 66 | "# Criando dados de regressão\n", 67 | "from sklearn.datasets import make_regression\n", 68 | "X, Y = make_regression(n_samples = 200, n_features = 1, noise = 10, random_state = 5)\n", 69 | "\n", 70 | "plt.scatter(X, Y)\n", 71 | "plt.show()" 72 | ] 73 | }, 74 | { 75 | "cell_type": "code", 76 | "execution_count": 16, 77 | "metadata": { 78 | "collapsed": true 79 | }, 80 | "outputs": [], 81 | "source": [ 82 | "from sklearn.model_selection import train_test_split\n", 83 | "X_train, X_test, y_train, y_test = train_test_split(X, Y, random_state = 5)" 84 | ] 85 | }, 86 | { 87 | "cell_type": "code", 88 | "execution_count": 17, 89 | "metadata": {}, 90 | "outputs": [ 91 | { 92 | "name": "stdout", 93 | "output_type": "stream", 94 | "text": [ 95 | "Coeficiente: [ 18.39901124]\n", 96 | "Intercepto: -0.1486095374141576\n" 97 | ] 98 | } 99 | ], 100 | "source": [ 101 | "# Verificando o modelo\n", 102 | "lr = LinearRegression().fit(X_train,y_train)\n", 103 | "print(\"Coeficiente: {}\".format(lr.coef_))\n", 104 | "print(\"Intercepto: {}\".format(lr.intercept_))" 105 | ] 106 | }, 107 | { 108 | "cell_type": "code", 109 | "execution_count": 18, 110 | "metadata": {}, 111 | "outputs": [ 112 | { 113 | "data": { 114 | "image/png": "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\nJkX8H0MvO8RlLahrAAAAAElFTkSuQmCC\n", 115 | "text/plain": [ 116 | "" 117 | ] 118 | }, 119 | "metadata": {}, 120 | "output_type": "display_data" 121 | } 122 | ], 123 | "source": [ 124 | "# Plotando o gráfico\n", 125 | "\n", 126 | "linha = np.linspace(-3, 3, 500).reshape(-1, 1) # Para gerar a linha da predição\n", 127 | "plt.plot(X_train, y_train, \"^\", markersize = 5)\n", 128 | "plt.plot(X_test, y_test, \"v\", markersize = 7)\n", 129 | "plt.plot(linha, lr.predict(linha))\n", 130 | "plt.grid(True)\n", 131 | "plt.title(\"Modelo Linear\\n Treino: {:.2f} - Teste: {:.2f}\".format(lr.score(X_train, y_train), lr.score(X_test, y_test)))\n", 132 | "plt.show()" 133 | ] 134 | } 135 | ], 136 | "metadata": { 137 | "kernelspec": { 138 | "display_name": "Python 3", 139 | "language": "python", 140 | "name": "python3" 141 | }, 142 | "language_info": { 143 | "codemirror_mode": { 144 | "name": "ipython", 145 | "version": 3 146 | }, 147 | "file_extension": ".py", 148 | "mimetype": "text/x-python", 149 | "name": "python", 150 | "nbconvert_exporter": "python", 151 | "pygments_lexer": "ipython3", 152 | "version": "3.6.2" 153 | } 154 | }, 155 | "nbformat": 4, 156 | "nbformat_minor": 2 157 | } 158 | --------------------------------------------------------------------------------