Upload
internet
View
130
Download
7
Embed Size (px)
Citation preview
Data Mining com a Ferramenta Weka
Diogo Fernando Veiga
Pedro de Stege Cecconello
Data Mining com o Weka
Software Weka
• Software para data mining/machine learning escrito em Java (distribuído sob GNU Public License)
• Utilizado em pesquisa e educação• Principais características:
• Extenso conjunto de rotinas para pré-processamento, esquemas de aprendizagem, além de métodos de avaliação
• GUIs (inclusive para visualização dos dados)• Ambiente para comparação de algortimos de
aprendizagem.
Data Mining com o Weka
Versões Weka
• WEKA 3.0: “book version” compatível com a descrição do livro
• WEKA 3.4: Última versão (utilizada na apresentação)
• Esquema de versões Linux
Data Mining com o Weka
Weka trabalha com flat files@relation heart-disease-simplified
@attribute age numeric@attribute sex { female, male}@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}@attribute cholesterol numeric@attribute exercise_induced_angina { no, yes}@attribute class { present, not_present}
@data63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present...
Data Mining com o Weka
Weka trabalha com flat files@relation heart-disease-simplified
@attribute age numeric@attribute sex { female, male}@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}@attribute cholesterol numeric@attribute exercise_induced_angina { no, yes}@attribute class { present, not_present}
@data63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present...
Atributo numérico
Atributo nominal
Data Mining com o Weka
Weka: vários ambientes
Data Mining com o Weka
Explorer: Pre-processing
• Importação dos dados em vários formatos: ARFF, CSV, C4.5, binary
• Dados também podem ser lidos de uma URL ou de um banco de dados (utilizando o pacote JDBC)
• Rotinas de pré-processamento no Weka são chamados de filtros
• Weka tem filtros para:• Discretização, normalização, amostragem, seleção de
atributos, transformação e combinação de atributos, entre outros.
Data Mining com o Weka
Filtros: Redução dos dados• Metodos supervisados
weka.filters.supervised.instance.*• Resample : Faz uma amostragem estratificada com o
dataset fornecido. O dataset deve ter um atributo nominal informando a classe. Bias para distribuição das classes na amostra seja uniforme.
• StratifiedRemoveFolds: Cria um fold estratificado para o cross-validation.
• SpreadSubsample: Produz uma amostra aleatória dos dados. Este filtro permite definir o máximo spread entre a classe mais rara e a classe mais comum. Por exemplo, 5:1
Data Mining com o Weka
Filtros: Redução dos dados• Metodos não-supervisados
weka.filters.unsupervised.instance.*• Resample: amostragem aleatória (não estratificada) do
dataset
• Randomize - embaralha conjunto de dados
• RemoveFolds – Define um fold para o crossvalidation
• RemovePercentage – Remove uma proporção do dataset
• RemoveRange - Remove um determinado intervalo de instâncias do dataset.
Data Mining com o Weka
Filtros: Redução dos Atributos• Metodos não-supervisados
weka.filters.unsupervised.attribute.*• Normalize: valores no intervalo [0,1], exceto o atributo
de classe• NumericTransform - Aplica uma função matemática
qualquer aos valores do atributo (classe Java)• ReplaceMissingValues – Preenche com a média (atrib.
numerico ) ou a moda (atrib.nominal)• Standardize – transformação dos valores para uma• RemoveUseless - Remove atribs. nominais que variam
muito (threshold definido pelo usuário, ex.: 95%) e atributos constantes (nme/nml)
)1,0(N
Data Mining com o Weka
Filtros: Redução dos Atributos• Metodos supervisados
weka.filters.supervised.attribute.*• AttributeSelection : Permite a combinacao de varios
metodos de avaliacao e busca de atributos.• Avaliação: ganho de info., PCA e vários outros
• Busca: best first, greedy, genetic search, exhaustive search, rank search
• Discretize: Discretiza um intervalo de atributos numericos utilizando a tecnica MDL (Fayyad & Irani's) ou MDL (Kononenko)
• NominalToBinary: Converte todos os atributos nominais para atributos binários numéricos
Data Mining com o Weka
Explorer: Attribute Selection• Usado para investigar quais atributos
(subconjuntos deles) são mais preditivos
• AttributeSelection em 2 etapas:• Um método de busca
• Um método de avaliação
• Flexibilidade: (quase) qualquer combinação de busca/avaliação
Data Mining com o Weka
Weka:Clustering• Metódos para variáveis numéricas e nominais:
• EM
• k-Means
• CobWeb
• Exemplo
Data Mining com o Weka
Weka: Classificadores• Modelos para a previsão de classes (nominal ou
númerica):
• Weka implementa:
• Árvore de decisão, listas, classificadores baseado em instâncias, multi-layer perceptrons, regressão, redes bayesianas, ...
• “Meta”-classificadores:
• Bagging, boosting, stacking, error-correcting output code, locally weighted learning, ...
Data Mining com o Weka
Weka: Associações• Identificar dependências estatísticas entre grupos
de atributos
• 3 algorítimos para aprender associações:
• Apriori;
• PredictiveApriori;
• Tertius;
• Trabalha somente com dados nominais;
• Computa regras que dêem um suporte mínimo e ultrapasse um nível de confiança.
Data Mining com o Weka
Weka: Visualização• Ajuda a identificar a dificuldade na aprendizagem
do problema
• Visualização 2D
• Difere as classes por cor
Data Mining com o Weka
Weka: Experimentos em conjunto• Experimenter: permite a comparação de diferentes estratégias de aprendizagem.
• Para problemas de classificação e regressão• Resultados escritos em um arquivo ou base de
dados• Opções de avaliação: cross-validation, curva de
aprendizagem, hold-out• Pode ser executado com diferentes configurações
de parâmetros• Teste de significância acoplado
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka
Data Mining com o Weka