diff --git a/Trabalho Final/Trabalho.ipynb b/Trabalho Final/Trabalho.ipynb
index c76f3bcf85052d530263d8748db40f6a774c72b9..63d64dc93514304e266e354189e05151c0c55c62 100644
--- a/Trabalho Final/Trabalho.ipynb	
+++ b/Trabalho Final/Trabalho.ipynb	
@@ -1,12 +1,36 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Introdução\n",
+    "\n",
+    "## O dataset\n",
+    "\n",
+    "O Dataset escolhido contêm informações sobre ataques DDoS Syn-Flood, UDP-Flood e conexões benignas, meu objetivo foi criar formas de detectar e diferenciar um ataque DDoS de conexões normais.\n",
+    "\n",
+    "O Dataset foi modificado para manter algumas colunas apenas, o original pode ser baixado [aqui](https://www.unb.ca/cic/datasets/ddos-2019.html)\n",
+    "\n",
+    "As colunas mais importantes foram as de portas de saída no computador do cliente e portas de entrada nos servidores, bem como a distribuição do tamanho dos pacotes.\n",
+    "\n",
+    "## Dificuldades\n",
+    "\n",
+    "Inicialmente eu estava sem ideia do que fazer, até achar esse dataset. Inicialmente iria utilizar um dos CSVs que vem nele, contendo apenas Syn-Flood, porém ele era muito grande, estava crashando o Weka com a heap do java tendo 12GB de ram disponível, acabei descartando ele e utilizando este que tem UDP=Flood junto.\n",
+    "Inicialmente ele continha também amostras de rede de UDP-Lag, porém acabei descartando, visto que as informações que escolhi não eram suficientes para identificar essas amostras. Como tinha pouco tempo e nenhuma experiência, me limitei a estes dados.\n",
+    "\n",
+    "## Disclaimer\n",
+    "\n",
+    "É a primeira vez que estou mexendo com Data Science, todo o meu conhecimento sobre redes neurais e classificação foram obtidos nessa disciplina, como foi algo muito corrido e puxado, os resultados não são tão bons ao meu ver."
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {
     "scrolled": true
    },
    "source": [
-    "# Carregamento dos dados\n",
+    "## Carregamento dos dados\n",
     "\n",
     "A primeira coisa a se fazer é carregar os pacotes e dados utilizados"
    ]
@@ -99,12 +123,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
+    "Podemos ver que o dataset tem uma divisão não muito justa com conexões benignas, sendo composto majoritariamente por Syn Flood.\n",
+    "Mesmo assim, os dados utilizados são muito destoantes, principalmente no que se refere a tamanhos de pacotes, portanto a detecção é bem fácil, mesmo com essa diferença de quantidades.\n",
+    "\n",
     "Agora começa o treinamento do KNN"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -363,6 +390,29 @@
     "ax.grid(alpha=.4)\n",
     "plt.show()"
    ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Conclusão\n",
+    "\n",
+    "Acredito que os resultados tenham sido estes pelo dataset set um pouco \"óbvio\" no que se refere às portas, tamanhos de pacotes, entre outros.\n",
+    "As curvas ROC chegam a ser engraçadas, pela detecção quase perfeita, são praticamente uma constante.\n",
+    "\n",
+    "## KNN\n",
+    "\n",
+    "O KNN teve ótimos resultados independentemente da quantidade de vizinhos escolhidos, em execuções com 2, 3, 5 ou 10 vizinhos, os resultados foram muito semelhantes, próximos a 100% de precisão.\n",
+    "\n",
+    "## Árvore de decisão\n",
+    "\n",
+    "A árvore de decisão executou de maneira estranha algumas vezes, em algumas situações obteve apenas 1% de precisão na detecção de conexões benignas, nessa em específico teve um ótimo resultado.\n",
+    "\n",
+    "## MLPClassifier\n",
+    "\n",
+    "O MLP foi o algoritmo de redes neurais que eu escolhi utilizar, apesar de não conhecer muito ele, obteve ótimos resultados.\n",
+    "Como eu não conheço ele muito bem, acabei não brincando com as suas variáveis."
+   ]
   }
  ],
  "metadata": {