Commit 2fcc48a2 authored by bbguimaraes's avatar bbguimaraes
Browse files

Reviewed all comments.

Removed most, a few major ones were left.
parent accca23e
......@@ -63,13 +63,6 @@ O conjunto \emph{R} é conhecido como conjunto de detectores, e é ele que será
Aplicações típicas da seleção negativa são:
\iffalse
Read papers' abstracts to complement the list below:
Dasgupta, D. and Forrest, S. (1999). An anomaly detection algorithm inspired by the immune system. In Artificial Immune Systems and Their Applications, chapter 14, pages 262–277. Springer-Verlag, Inc.
\fi
\begin{enumerate}[a)]
\item Detecção de alterações em códigos de máquina de programas causadas por vírus de computador, detecção de alterações em redes de sistemas distribuídos e detecção de intrusão em redes de computadores.
\item Detecção e diagnósticos de falhas, como em máquinas automatizadas, sensores, monitoramento de usinas químicas e nucleares e desenvolvimento de hardware tolerante a falhas.
......@@ -347,10 +340,6 @@ Devido às comparações entre cada possível par de anticorpos, as redes imunol
As dificuldades na implementação de sistemas baseados na Teoria do Perigo são as mesmas encontradas na aceitação da teoria na imunologia: a natureza dos sinais de perigo não é facilmente identificável; e o sistema aparentemente deve primeiro sofrer o dano para que as medidas de proteção possam ser tomadas.
\iffalse
\subsection{Algoritmo de células dendríticas}
\fi
\section{Considerações finais}
Os algoritmos apresentados nesse capítulo foram aplicados em sistemas computacionais de diversas áreas, apresentado resultados satisfatórios, em especial em sistemas de detecção. O domínio dos problemas de detecção de fraude é promissor para esses algoritmos, como a maioria dos problemas de detecção.
......@@ -359,7 +348,6 @@ Os resultados dos algoritmos apresentados nas seções anteriores foram comparad
Para os algoritmos tradicionais, foram escolhidos aqueles que são comumente usados na área de mineração de dados. Em especial, os algoritmos genéticos, que têm características semelhantes aos imunológicos, já que ambos têm inspiração na biologia.
\iffalse atualizar tabela \fi
\begin{table}[h]
\vspace{0.5cm}
\centering
......@@ -374,7 +362,6 @@ Para os algoritmos tradicionais, foram escolhidos aqueles que são comumente usa
Máquina de vetor de suporte & Immunos \\
Algoritmos genéticos & CLONALG \\
Árvores de decisão & \\
\iffalse (j48) (http://www.slideshare.net/butest/weka-tutorial) \fi
Learning Vector Quantization & \\
\hline
\end{tabular}
......
......@@ -385,33 +385,19 @@ Uma implementação de uma rede neural multicamadas que usa o algoritmo \emph{ba
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse <learning rate>. Learning Rate for the backpropagation algorithm. (Value should be between 0 - 1, Default = 0.3). \fi
\item \textbf{L}: taxa de aprendizagem.
\iffalse <momentum>. Momentum Rate for the backpropagation algorithm. (Value should be between 0 - 1, Default = 0.2). \fi
\item \textbf{M}: taxa de \emph{momentum}.
\iffalse <number of epochs>. Number of epochs to train through. (Default = 500). \fi
\item \textbf{N}: número de \emph{epochs} (uma iteração do processo de treinamento e teste).
\iffalse <percentage size of validation set>. Percentage size of validation set to use to terminate training (if this is non zero it can pre-empt num of epochs. (Value should be between 0 - 100, Default = 0). \fi
\item \textbf{V}: tamanho do conjunto de validação do treinamento.
\iffalse <seed>. The value used to seed the random number generator(Value should be >= 0 and and a long, Default = 0). \fi
\item \textbf{S}: semente do gerador de números aleatórios.
\iffalse <threshold for number of consequetive errors>. The consequetive number of errors allowed for validation testing before the netwrok terminates. (Value should be > 0, Default = 20). \fi
\item \textbf{E}: número máximo de erros consecutivos para término da validação da rede.
\iffalse GUI will be opened. (Use this to bring up a GUI). \fi
\item \textbf{G}: abre a interface de criação da rede.
\iffalse Autocreation of the network connections will NOT be done. (This will be ignored if -G is NOT set) \fi
\item \textbf{A}: não cria as conexões da rede.
\iffalse A NominalToBinary filter will NOT automatically be used. (Set this to not use a NominalToBinary filter). \fi
\item \textbf{B}: não aplica o filtro NominalToBinary.
\iffalse <comma seperated numbers for nodes on each layer>. The hidden layers to be created for the network. (Value should be a list of comma separated Natural numbers or the letters 'a' = (attribs + classes) / 2, 'i' = attribs, 'o' = classes, 't' = attribs .+ classes) for wildcard values, Default = a). \fi
\item \textbf{H}: parâmetro para configuração das camadas escondidas da rede.
\iffalse Normalizing a numeric class will NOT be done. (Set this to not normalize the class if it's numeric). \fi
\item \textbf{C}: desabilita a aplicação de normalização no atributo de classe.
\iffalse Normalizing the attributes will NOT be done. (Set this to not normalize the attributes). \fi
\item \textbf{I}: desabilita a aplicação de normalização em todos os atributos.
\iffalse Reseting the network will NOT be allowed. (Set this to not allow the network to reset). \fi
\item \textbf{R}: desabilita a reinicialização da rede durante o treinamento.
\iffalse Learning rate decay will occur. (Set this to cause the learning rate to decay). \fi
\item \textbf{D}: habilita a diminuição gradual da taxa de aprendizagem.
\end{itemize}
\item \textbf{Parâmetros testados}:
......@@ -433,18 +419,6 @@ Algoritmo de árvores de decisão usado em aprendizagem de máquina, desenvolvid
\item \textbf{Filtros}: como o ID3 não suporta atributos numéricos, foi necessário discretizar os valores numéricos (seção \ref{sec:dev_weka_filters}).
\end{enumerate}
\iffalse
ID3 does not guarantee an optimal solution, it can get stuck in local optimums. It uses a greedy approach by selecting the best attribute to split the dataset on each iteration. One improvement that can be made on the algorithm can be to use backtracking during the search for the optimal decision tree.
ID3 can overfit to the training data, to avoid overfitting, smaller decision trees should be preferred over larger ones. This algorithm usually produces small trees, but it does not always produce the smallest possible tree.
ID3 is harder to use on continuous data. If the values of any given attribute is continuous, then there are many more places to split the data on this attribute, and searching for the best value to split by can be time consuming.
https://en.wikipedia.org/wiki/ID3_algorithm#Properties
\fi
\subsubsection{C4.5}
Uma extensão do algoritmo ID3, desenvolvido pelo mesmo autor \cite{Quinlan1993}. Entre as melhorias do algoritmo estão o tratamento mais eficiente de dados contínuos, o tratamento a dados incompletos e a poda da árvore após o treinamento. O WEKA tem uma implementação \emph{open source} desse algoritmo chamado J48.
......@@ -452,25 +426,15 @@ Uma extensão do algoritmo ID3, desenvolvido pelo mesmo autor \cite{Quinlan1993}
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse Use unpruned tree. \fi
\item \textbf{U}: usa uma árvore sem poda.
\iffalse <pruning confidence>. Set confidence threshold for pruning. (default 0.25) \fi
\item \textbf{C}: limiar de confiança para poda.
\iffalse <minimum number of instances>. Set minimum number of instances per leaf. (default 2) \fi
\item \textbf{M}: número mínimo de instâncias por folha.
\iffalse Use reduced error pruning.<number of folds>. Set number of folds for reduced error pruning. One fold is used as pruning set. (default 3) \fi
\item \textbf{R}: reduz o número de instâncias usadas na poda pós-execução.
\iffalse <number of folds> Set number of folds for reduced error pruning. One fold is used as pruning set. (default 3) \fi
\item \textbf{N}: número de partições para a poda pós-execução.
\iffalse Use binary splits only. \fi
\item \textbf{B}: realiza apenas divisões binárias em atributos numéricos, ao invés de divisões de tamanho arbitrário.
\iffalse Don't perform subtree raising. \fi
\item \textbf{S}: desativa a poda baseada em elevação de ramos da árvore.
\iffalse Do not clean up after the tree has been built. \fi
\item \textbf{L}: desativa o processo de otimização de memória.
\iffalse Laplace smoothing for predicted probabilities. \fi
\item \textbf{A}: aplica o algoritmo de suavização de Laplace às probabilidades da árvore.
\iffalse <seed>. Seed for random data shuffling (default 1). \fi
\item \textbf{Q}: semente do gerador de números aleatórios.
\end{itemize}
\item \textbf{Parâmetros testados}:
......@@ -480,14 +444,6 @@ Uma extensão do algoritmo ID3, desenvolvido pelo mesmo autor \cite{Quinlan1993}
\end{itemize}
\end{enumerate}
\iffalse
The most basic parameter is the tree pruning option. If you decide to employ tree pruning, you will need to consider the options above. Be aware that depending on how the training and test data have been defined that the performance of an unpruned tree may superficially appear better than a pruned one. As described above, this can be a result of overfitting. It is important to experiment with models by intelligently adjusting these parameters. Often, only repeated experiments and familiarity with the data will tease out the best set of options.
http://gautam.lis.illinois.edu/monkmiddleware/public/analytics/decisiontree.html
\fi
\subsection{Learning Vector Quantization (LVQ)}
Algoritmo de classificação baseado no \emph{Vector Quantization} (\emph{VQ}), um algoritmo que distribui as instâncias no espaço de estados e iterativamente aproxima as instâncias semelhantes, até que sejam formados \emph{clusters} com as instâncias classificadas \cite{Kohonen1997}.
......@@ -499,19 +455,12 @@ Algoritmo presente no pacote de algoritmos de Jason Bronwlee. Uma implementaçã
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse initialisationMode -- Model (codebook vector) initalisation mode (1==Random Training Data Proportional, 2==Random Training Data Even, 3==Random Values In Range, 4==Simple KMeans, 5==Farthest First, 6==K-Nearest Neighbour Even) \fi
\item \textbf{M}: modo de inicialização dos vetores.
\iffalse learningFunction -- Learning rate function to use while training, linear is typically better (1==Linear Decay, 2==Inverse, 3==Static) \fi
\item \textbf{L}: tipo de função para a taxa de aprendizagem.
\iffalse learningRate -- Initial learning rate value (recommend 0.3 or 0.5) \fi
\item \textbf{R}: valor inicial da taxa de aprendizagem.
\iffalse totalCodebookVectors -- Total number of codebook vectors in the model \fi
\item \textbf{C}: número total de vetores no modelo.
\iffalse totalTrainingIterations -- Total number of training iterations (recommended 30 to 50 times the number of codebook vectors). \fi
\item \textbf{I}: número total de iterações.
\iffalse useVoting -- Use dynamic voting to select the assigned class of each codebook vector, provides automatic handling of misclassified instances. \fi
\item \textbf{G}: seleção dinâmica da classe de cada instância.
\iffalse windowSize -- Window size matching codebook vectors must be within (recommend 0.2 or 0.3) \fi
\item \textbf{W}: limiar de semelhança entre as instâncias comparadas.
\end{itemize}
\item \textbf{Parâmetros testados}:
......@@ -532,9 +481,7 @@ Um classificador que cria redes bayesianas simples, onde cada atributo do conjun
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse Use kernel density estimator rather than normal distribution for numeric attributes \fi
\item \textbf{K}: usa Kernel Density Estimator ao invés de distribuição normal para atributos numéricos.
\iffalse Use supervised discretization to process numeric attributes \fi
\item \textbf{D}: usa discretização supervisionada para processar atributos numéricos.
\end{itemize}
\end{enumerate}
......@@ -546,11 +493,8 @@ Implementação do algoritmo padrão de redes bayesianas. Permite a escolha da m
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse Do not use ADTree data structure \fi
\item \textbf{D}: utiliza ADTree, aumentado a velocidade de treinamento mas consumindo mais recursos.
\iffalse Search algorithm \fi
\item \textbf{Q}: método para busca na rede.
\iffalse Estimator algorithm \fi
\item \textbf{E}: método para encontrar as tabelas de probabilidade condicional.
\end{itemize}
\item \textbf{Filtros}: \emph{weka.filter.supervised.attribute.Discretize}.
......@@ -567,19 +511,12 @@ Algoritmo iterativo para o problema da otimização de uma máquina de vetor de
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse The complexity constant C. (default 1) \fi
\item \textbf{C}: a constante de complexidade das regras de decisão.
\iffalse Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize) \fi
\item \textbf{N}: opção para normalizar, uniformizar ou usar os dados oringinais.
\iffalse The tolerance parameter. (default 1.0e-3) \fi
\item \textbf{L}: o parâmetro de tolerância.
\iffalse The epsilon for round-off error. (default 1.0e-12) \fi
\item \textbf{P}: \emph{epsilon} para erro de arredondamento.
\iffalse Fit logistic models to SVM outputs. \fi
\item \textbf{M}: aplica regressão logística aos pesos.
\iffalse The number of folds for the internal cross-validation. (default -1, use training data) \fi
\item \textbf{W}: número de partições para o \emph{cross-validation} interno.
\iffalse The Kernel to use. (default: weka.classifiers.functions.supportVector.PolyKernel) \fi
\item \textbf{K}: o \emph{kernel} que será utilizado.
\end{itemize}
\item \textbf{Parâmetros testados}:
......@@ -597,21 +534,13 @@ Algoritmo iterativo para o problema da otimização de uma máquina de vetor de
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse affinityThresholdScalar -- Affinity threshold scalar (ATS). Used with the system calculated affinity threshold to determine whether or not a candidate memory cell can replace the previous best matching memory cell. This occurs if the affinity between the candidate and the best match cell is < (AT * ATS). \fi
\item \textbf{F}: controla o limiar de afinidade para substituição de células de memória.
\iffalse clonalRate -- Clonal rate. Used to determine the number of mutated clones to create of an ARB during the ARB refinement stage. Calculated as (stimulation * clonal rate). \fi
\item \textbf{C}: taxa de clonagem.
\iffalse hypermutationRate -- Hypermutation rate. Used with the clonal rate to determine the number of clones a best matching memory cell can create to then seed the ARB pool with. This is calculated as (stimulation * clonal rate * hypermutation rate). \fi
\item \textbf{H}: taxa de hiper-mutação.
\iffalse knn -- k-Nearest Neighbour. Specifies the number of best match memory cells used during the classification stage to majority vote hte classification of unseen data instances. \fi
\item \textbf{K}: número de células de memória usadas durante a classificação de novas instâncias.
\iffalse memInitialPoolSize -- Initial memory cell pool size. Specifies the number of randomly selected training data instances used to seed the memory cell pool. This paramter must be in the range [0, num training instances]. \fi
\item \textbf{E}: número inicial de células de memória.
\iffalse numInstancesAffinityThreshold -- Total training instances to calculate affinity threshold (AT). Specifies the number of trainign data instances used to calculate the affinity threshold (AT) which is the mean affinity between data instances. A value of -1 indicates to use the entire training dataset. \fi
\item \textbf{A}: número de células usadas no cálculo do limiar de afinidade.
\iffalse stimulationValue -- Stimulation threshold. Used to determine when to stop refining the pool of ARBs for an antigen. This occurs when the mean normalised ARB stimulation value is >= the stimulation threshold. Must be in the range of [0,1]. \fi
\item \textbf{V}: limite para o refinamento das células de memória.
\iffalse totalResources -- Total allocatable resources. Specifies the maximum number of resources (B-cells) that can be allocated to ARBs in the ARB pool. Those ARBs with the weakest stimulation are removed from the pool until the total allocated resources is less than the maximum allowable resources. \fi
\item \textbf{R}: número máximo de células.
\end{itemize}
\end{enumerate}
......@@ -621,11 +550,8 @@ Algoritmo iterativo para o problema da otimização de uma máquina de vetor de
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse Total generations (G): The total number of refinement iterations each prepared B-cell population is exposed to. Low values are desired such as one or two. The default value is one. \fi
\item \textbf{G}: número de gerações.
\iffalse Minimum fitness threshold (E): Used to prune and control the antibody population size. Those antibodies with a fitness allocation this threshold are deleted from the pool. The parameter has the moderate default value of 0.5. \fi
\item \textbf{E}: limiar mínimo de afinidade.
\iffalse Seed population percentage (S): The percentage of each antigen-group that is taken as the seed for the B-cell population. Default values include 20\% (0.2) to improve speed and data reduction, and 100\% (1.0). \fi
\item \textbf{S}: porcentagem de cada grupo de antígenos usada na inicialização da população de células B.
\end{itemize}
\item \textbf{Parâmetros testados}:
......@@ -639,22 +565,11 @@ Algoritmo iterativo para o problema da otimização de uma máquina de vetor de
\begin{enumerate}[a)]
\item \textbf{Parâmetros}:
\begin{itemize}
\iffalse antibodyPoolSize -- Antibody pool size (N). The total antibodies maintained in the memory pool and remainder pool. \fi
\item \textbf{N}: tamanho do \emph{pool} de anticorpos.
\iffalse clonalFactor -- Clonal factor (beta). Used to scale the number of clones created by the selected best antibodies. \fi
\item \textbf{B}: taxa de clonagem.
\iffalse numGenerations -- Total generations. The total number of times that all antigens are exposed to the system. \fi
\item \textbf{G}: número de gerações.
\iffalse remainderPoolRatio -- Remainder pool percentage. The percentage of the total antibody pool size allocated for the remainder pool. \fi
\item \textbf{R}: número de anticorpos mantidos entre cada geração.
\iffalse selectionPoolSize -- Selection pool size (n). The total number of best antibodies selected for cloning and mutation each iteration. \fi
\item \textbf{n}: número de anticorpos selecionado para clonagem e mutação a cada geração.
\iffalse totalReplacement -- Total replacements (d). The total number of antibodies in the remainder pool that are replaced each iteration. Typically 5\%-8\% \fi
\item \textbf{d}: número de anticorpos descartado e substituído a cada geração.
\end{itemize}
\end{enumerate}
......
......@@ -32,8 +32,6 @@ Com isso em mente, é importante considerar as características únicas do domí
Phua e outros autores listam as diversas medidas de performance utilizadas em trabalhos recentes na área de detecção de fraude \cite{Phua2010}. Em relação à comparação da eficácia dos métodos, destacam-se os seguintes critérios:
\iffalse definition of efficient and effective \fi
\begin{enumerate}[a)]
\item Similaridade de uma instância com os exemplos de fraude conhecidos divida pela dissimilaridade com exemplos legais.
\item Análise da curva ROC (\emph{Receiver Operating Characteristic}, Característica de Operação do Receptor): a taxa de verdadeiros positivos para falsos positivos.
......
......@@ -98,14 +98,6 @@ Um sistema que detecte e reporte uma fraude muito tempo depois de ela ter ocorri
Os sistemas de detecção podem ser divididos em dois tipos gerais, denominados \emph{on-line} e \emph{off-line}, enquanto alguns incorporam características dos dois modelos e outros têm um processo distinto para ambos, que interagem entre si para gerar o resultado final.
\iffalse \cite{Huang2010}. \fi
\iffalse
\citet{Aral2011} apresentam um sistema de detecção de fraude em prescrições médicas que calcula um fator de risco associado a cada prescrição. Matrizes de incidências são geradas através de uma medida de distância entre valores cruzados (\emph{cross-features}) de uma base de conhecimento. Dessas matrizes são geradas matrizes de riscos, e cada instância da base de dados cujo risco for maior que um limiar é relatada como uma possível fraude. Os autores indicam que o raciocínio por trás desse modelo é de que os padrões no comportamento fraudulento são \emph{outliers} quando considerados no contexto do \emph{dataset} como um todo. Os limiares são configuráveis, permitindo ao usuário um controle sobre o número de falsos positivos gerados.
\fi
\section{Considerações finais}
A detecção de fraude é uma área que pode ser muito aprimorada através da utilização de sistemas computacionais. No entanto, a implementação de um sistema para detecção de fraude é complexa, devido às peculiaridades dessa área: os dados utilizados são sensíveis e esparsos, ocorrências de fraude são raras, comparadas ao grande volume de dados de transações legítimas nas bases de dados. Outro fator importante é que o sistema deve ser adaptável, já que os fraudadores aprimoram constantemente os seus métodos.
......
......@@ -73,10 +73,3 @@ Modelos computacionais foram criados para tentar adaptar o funcionamento do sist
\end{table}
Uma adição ainda mais recente foi a da Teoria do Perigo, proposta por Matzinger, em 1994. A principal revolução na Teoria do Perigo é a mudança na forma como as células tomam conhecimento e reagem, introduzindo a noção de perigo e tolerância. Essa mudança não é tanto na modelagem e representação dos dados, mas sim na decisão do que deve ser modelado, e o que deve gerar respostas do sistema \cite{Aickelin2005}. A adição da Teoria do Perigo a um sistema, além das vantagens proporcionadas pela modelagem como Sistema Imunológico Artificial, restringe o domínio do problema, identificando o subconjunto de atributos mais importantes à detecção, e facilita a implementação em ambientes onde a definição de perigo muda com facilidade, características importantes em sistemas de segurança da informação.
\iffalse
\section{Objetivos}
\section{Organização}
\fi
......@@ -135,8 +135,6 @@ O foco das teorias vistas até agora era na ligação entre uma parte do anticor
Quando há uma ligação, a entidade da parte do epitopo é eliminada ou reprimida, e a da parte do paratopo é proliferada. Essa rede de estímulo e supressão que existe entre os anticorpos, e que afeta a concentração de cada tipo de anticorpo, forma um tipo de memória associativa.
\iffalse complementar \fi
\section{Considerações finais}
A imunologia como ciência existe desde o século 18, e o sistema imunológico ainda é uma grande fonte de pesquisa, em particular a natureza distribuída de seus mecanismos de memória, auto-tolerância e controle descentralizado. Baseando-se no funcionamento do sistema imunológico biológico, foram criados Sistemas Imunológicos Artificiais: algoritmos, estruturas e sistemas computacionais que inspiram-se nos modelos do sistema imunológico. Esses sistemas podem ser usados por imunologistas para explanação, experimentação ou previsão de situações que seriam difíceis ou impossíveis de serem reproduzidas em testes de laboratório \cite{Garrett2005}. Essa técnica é conhecida como ``imunologia computacional''.
......
......@@ -223,7 +223,6 @@ Dentre os algoritmos imunológicos, serão utilizados:
\item \textbf{Artificial Immune Recognition System (AIRS)}: algoritmo imunológico supervisionado descrito na seção \ref{sec:prop_airs}.
\item \textbf{Clonal Selection Algorithm (CLONALG)}: um dos principais algoritmos imunológicos, o algoritmo da seleção clonal, descrito na seção \ref{sec:ais_clonalg}.
\item \textbf{Immunos-81}: algoritmo imunológico descrito na seção \ref{sec:prop_immunos}.
\iffalse adicionar os outros algoritmos do weka que serão utilizados (4.6) \fi
\end{enumerate}
\section{WEKA}
......@@ -380,70 +379,3 @@ Weighted Avg. 0.357 0.802 0.321 0.357 0.338 0.278
\vspace{0.25cm}
\centerline{Fonte: \cite{Hall2009}}
\vspace{0.5cm}
\iffalse
\section{Método de pesquisa}
As atividades da segunda etapa do Trabalho de Conclusão de Curso serão desenvolvidas conforme apresentadas na tabela \ref{tab:prop_cron} e serão descritas à seguir.
A etapa de coleta e preparação de dados envolverá a adaptação dos dados nos conjuntos ao formato de entrada esperado pelo WEKA, já que eles se encontram em estado bruto. O formato mais comum para utilização nesse programa são arquivos \emph{Attribute Relationship File Format} (ARFF, Formato de Arquivo de Atributo-Relação). Um arquivo nesse formato é apresentado na listagem \ref{lst:prop_arff}. Esse mesmo arquivo foi apresentado na figura \ref{fig:prop_weka}, mostrando a visualização pela interface do WEKA.
\vspace{0.5cm}
\begin{lstlisting}[caption=Exemplo de arquivo no formato ARFF, label=lst:prop_arff]
@relation weather
@attribute outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no
\end{lstlisting}
\vspace{0.25cm}
\centerline{Fonte: \cite{Hall2009}}
\vspace{0.5cm}
Ainda, podem ser necessários ajustes específicos nos dados para que possam servir como entrada para alguns dos algoritmos, caso estes não tenham suporte aos tipos de dados. Com os dados prontos, iniciará a fase de execução dos diferentes algoritmos sobre esses conjuntos de dados. A coleta dos resultados será feita através dos dados de saída, mostrados na listagem \ref{lst:prop_weka_out}. Com os dados prontos, iniciará a fase de execução dos diferentes algoritmos sobre esses conjuntos de dados. A coleta dos resultados será feita através dos dados de saída, mostrados na listagem \ref{lst:prop_weka_out}.
Uma característica positiva da ferramenta WEKA é a possibilidade de alterar parâmetros tanto do algoritmo em si (caso eles ofereçam essa funcionalidade) quanto da execução do teste em si. Assim, pode-se executar diversos testes, variando esses parâmetros, para ao final comparar também essas configurações. A princípio, será definida apenas uma configuração, que será usada para a execução de todos os testes. No entanto, conforme for possível, poderão ser executados testes variando essa configuração, gerando comparações mais diversificadas.
De posse dos resultados dos testes de todos os algoritmos, iniciará a etapa de análise. Os resultados dos algoritmos imunológicos serão comparados com os resultados dos algoritmos tradicionais. Essa comparação envolve diversos níveis: taxas de erros e acertos (conforme apresentado na seção \ref{sec:eval_fraud}), tempos de execução (que inclui tempo de treinamento do algoritmo e o tempo dos testes), utilização de recursos, etc. Para a visualização dos resultados, serão criados elementos visuais, como tabelas e gráficos.
Esse período também inclui a documentação do processo através da redação da monografia e a apresentação ao fim do semestre.
\vspace{0.5cm}
\begin{table}[h]
\centering
\caption{Cronograma}
\label{tab:prop_cron}
\vspace{0.5cm}
\begin{tabular}{l >{\arraybackslash}m{5cm} >{\centering\arraybackslash}m{6cm} c}
\multicolumn{2}{c}{Etapa} & Resultado & Data \\
\hline
1 & Coleta e preparação & Arquivos no formato esperado pelo WEKA & março/2013 \\
2 & Aplicação dos algoritmos & Resultados da execução (taxas de acerto, métricas, tempo de execução, listagem \ref{lst:prop_weka_out} & abril/2013 \\
3 & Comparação e análise & Ranking de resultados & maio/2013 \\
4 & Conclusão e contribuições & Análise & junho/2013 \\
5 & Redação e revisão & & março-julho/2013 \\
6 & Apresentação & & julho/2013 \\
\end{tabular}
\end{table}
\vspace{0.5cm}
\fi
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment