Estou trabalhando com dados de sequência, que são longas listas de chamadas win-api de malware. Estou tentando converter o problema de identificar 'comportamento de malware' em um dos padrões sequenciais. Trato cada chamada da API como um único item Itemset. O número de diferentes itens possíveis (chamadas da API) é bastante grande.
Agora, quando aplico o algoritmo SPADE (veja também, Zaki, SPADE: um algoritmo eficiente para minerar seqüências frequentes , Machine Learning, 42, 31-60, 2001), encontro problemas de memória. Existe uma maneira alternativa melhor de encontrar padrões seqüenciais entre grandes seqüências de alto vocabulário?
Respostas:
Você pode mapear os dados em um espaço de recurso em que a sequência é importante, juntamente com as duas estatísticas calculadas sobre janelas deslizantes e estatísticas cumulativas e usá-las em uma árvore de decisão.
Uma árvore de decisão pode lidar com sequências e dados não sequenciais. Isso pode reduzir substancialmente a complexidade dos dados.
fonte
Você pode tentar outro algoritmo de mineração de padrão sequencial.
Por exemplo, a biblioteca de mineração de dados Java SPMF de código aberto oferece SPADE, mas também PrefixSpan, SPAM, CM-SPAM, CM-SPADE, GSP, etc. (a propósito, eu sou o fundador do projeto). Que eu saiba, o CM-SPADE geralmente é mais rápido que o SPADE. Em termos de memória, talvez o SPAM use menos memória. Você pode tentar.
fonte