SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Identifica¸˜o de spam utilizando
ca
Random Forest
Fabr´ J. Barth
ıcio
Falculdade BandTec e VAGAS Tecnologia

Junho de 2013
Aprendizado de ´rvores de decis˜o
a
a

Identifica¸˜o de spam utilizando Random Forest —
ca

Aprendizado de ´rvores de decis˜o
a
a

2
Caracter´
ısticas
• Representa¸˜o de ´rvore de decis˜o:
ca
a
a
cada nodo interno testa um atributo;
cada aresta correponde a um valor de atributo;
cada nodo folha retorna uma classifica¸˜o.
ca

Identifica¸˜o de spam utilizando Random Forest —
ca

Caracter´
ısticas

3
Algoritmo ID3
• O algoritmo ID3 cria uma ´rvore de uma maneira
a
top-down come¸ando com a seguinte pergunta:
c
Qual atributo deve ser testado na raiz da ´rvore?
a
• Para responder esta quest˜o, cada atributo do
a
conjunto de treinamento ´ avaliado usando um teste
e
estat´
ıstico para determinar qu˜o bem o atributo
a
(sozinho) classifica os exemplos de treinamento.

Identifica¸˜o de spam utilizando Random Forest —
ca

Algoritmo ID3

4
Entrada: Conjunto de Exemplos E.
´
Sa´
ıda: Arvore de Decis˜o (Hip´tese h).
a
o
1 Se todos os exemplos tem o mesmo resultado para a fun¸˜o
ca
sendo aprendida, retorna um nodo folha com este valor;
2 Cria um nodo de decis˜o N e escolhe o melhor atributo A
a
para este nodo;
3 Para cada valor V poss´ para A:
ıvel
3.1 cria uma aresta em N para o valor V ;
3.2 cria um subconjunto EV de exemplos onde A = V ;
3.3 liga a aresta com o nodo que retorna da aplica¸˜o do
ca
algoritmo considerando os exemplos EV .
4 Os passos 1, 2 e 3 s˜o aplicados recursivamente para cada
a
novo subconjunto de exemplos de treinamento.

Identifica¸˜o de spam utilizando Random Forest —
ca

5
Exemplo de classifica¸˜o de Spam usando
ca
J48
O objetivo deste exerc´ ´ demonstrar a cria¸˜o de um
ıcio e
ca
modelo preditivo no formato de ´rvore de decis˜o para
a
a
identificar spam. Para tanto, ser´ utilizado o dataset
a
disponibilizado em
http://archive.ics.uci.edu/ml/datasets/Spambase.
http://rpubs.com/fbarth/classificacaoSpamJ48

Identifica¸˜o de spam utilizando Random Forest —
ca

Exemplo de classifica¸˜o de Spam usando J48
ca

6
Aprendizado de florestas de ´rvores de
a
decis˜o
a

Identifica¸˜o de spam utilizando Random Forest —
ca

Aprendizado de florestas de ´rvores de decis˜o
a
a

7
Exemplo de classifica¸˜o de Spam usando
ca
RandomForest
http://rpubs.com/fbarth/classificacaoSpamRandomForest

Identifica¸˜o de spam utilizando Random Forest —
ca

Exemplo de classifica¸˜o de Spam usando RandomForest
ca

8
Material de consulta
• Tom Mitchell. Machine Learning, 1997. (Cap´
ıtulo 3)
• Russel e Norvig. Inteligˆncia Artificial, 2a. edi¸˜o,
e
ca
cap´
ıtulo 18.
• Weka no R: http://cran.rproject.org/web/packages/RWeka/RWeka.pdf.

Identifica¸˜o de spam utilizando Random Forest —
ca

Material de consulta

9
• Yanchang Zhao. R and Data Mining: Examples and
Case Studies. (Cap´
ıtulo 4): http://cran.rproject.org/doc/contrib/Zhao R and data mining.pdf
• Exemplo de uso de algoritmos indutores de ´rvore de
a
decis˜o. http://rpubs.com/fbarth/arvoreDecisao.
a
Acesso em 14 de junho de 2013.

Identifica¸˜o de spam utilizando Random Forest —
ca

Material de consulta

10
• Package ’randomForest’. http://cran.rproject.org/web/packages/randomForest/randomForest.pdf.
Acessado em 14 de junho de 2013.
• Breiman, Leo (2001). ”Random Forests”. Machine
Learning 45 (1): 5-32.
• H. Costa, F. Benevenuto, L. Merschmann. Detecting
Tip Spam in Location-based Social Networks. In
Proceedings of the ACM Symposium on Applied
Computing (SAC’13).
http://homepages.dcc.ufmg.br/ fabricio/download/sac2013.pdf

Identifica¸˜o de spam utilizando Random Forest —
ca

Material de consulta

11

Mais conteúdo relacionado

Destaque

スタディツアー事業化計画~新しい福利厚生の形~
スタディツアー事業化計画~新しい福利厚生の形~
スタディツアー事業化計画~新しい福利厚生の形~
スタディツアー事業化計画~新しい福利厚生の形~ stucon
 
履歴書イスティ
履歴書イスティ履歴書イスティ
履歴書イスティistiwin
 
How to Conduct a Brand Audit 080715
How to Conduct a Brand Audit   080715How to Conduct a Brand Audit   080715
How to Conduct a Brand Audit 080715Judy Hopelain
 
International Volunteerism
International VolunteerismInternational Volunteerism
International VolunteerismAmanda Starbuck
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Andrii Gakhov
 
Copyright..or copy wrong!?
Copyright..or copy wrong!?Copyright..or copy wrong!?
Copyright..or copy wrong!?clewis86
 
HAPPYWEEK 188 - 2016.10.03.
HAPPYWEEK 188 - 2016.10.03.HAPPYWEEK 188 - 2016.10.03.
HAPPYWEEK 188 - 2016.10.03.Jiří Černák
 
페이스북 매거진
페이스북 매거진페이스북 매거진
페이스북 매거진상호 이
 
商务专业化培训
商务专业化培训商务专业化培训
商务专业化培训Pittulie
 
Google Analytics ユニークユーザーの期間別集計の差違
Google Analytics ユニークユーザーの期間別集計の差違Google Analytics ユニークユーザーの期間別集計の差違
Google Analytics ユニークユーザーの期間別集計の差違Masashi Imahashi
 

Destaque (14)

スタディツアー事業化計画~新しい福利厚生の形~
スタディツアー事業化計画~新しい福利厚生の形~
スタディツアー事業化計画~新しい福利厚生の形~
スタディツアー事業化計画~新しい福利厚生の形~
 
Colaboración recíproca
Colaboración recíprocaColaboración recíproca
Colaboración recíproca
 
履歴書イスティ
履歴書イスティ履歴書イスティ
履歴書イスティ
 
受験費用一覧
受験費用一覧受験費用一覧
受験費用一覧
 
How to Conduct a Brand Audit 080715
How to Conduct a Brand Audit   080715How to Conduct a Brand Audit   080715
How to Conduct a Brand Audit 080715
 
Shhgar overview
Shhgar overviewShhgar overview
Shhgar overview
 
International Volunteerism
International VolunteerismInternational Volunteerism
International Volunteerism
 
CP Resume 2016
CP Resume 2016CP Resume 2016
CP Resume 2016
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014
 
Copyright..or copy wrong!?
Copyright..or copy wrong!?Copyright..or copy wrong!?
Copyright..or copy wrong!?
 
HAPPYWEEK 188 - 2016.10.03.
HAPPYWEEK 188 - 2016.10.03.HAPPYWEEK 188 - 2016.10.03.
HAPPYWEEK 188 - 2016.10.03.
 
페이스북 매거진
페이스북 매거진페이스북 매거진
페이스북 매거진
 
商务专业化培训
商务专业化培训商务专业化培训
商务专业化培训
 
Google Analytics ユニークユーザーの期間別集計の差違
Google Analytics ユニークユーザーの期間別集計の差違Google Analytics ユニークユーザーの期間別集計の差違
Google Analytics ユニークユーザーの期間別集計の差違
 

Mais de Fabrício Barth

Mineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big DataMineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big DataFabrício Barth
 
Redução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataRedução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataFabrício Barth
 
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataHierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataFabrício Barth
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataFabrício Barth
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataFabrício Barth
 
Algoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoAlgoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoFabrício Barth
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity RecognitionFabrício Barth
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
 
Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comFabrício Barth
 
Web Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosWeb Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosFabrício Barth
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterFabrício Barth
 
Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Fabrício Barth
 
Web Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaWeb Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaFabrício Barth
 
Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Fabrício Barth
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataFabrício Barth
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataFabrício Barth
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informaçõesFabrício Barth
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web MiningFabrício Barth
 

Mais de Fabrício Barth (20)

Mineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big DataMineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big Data
 
Redução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataRedução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big Data
 
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataHierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
 
Algoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoAlgoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionado
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.com
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
Web Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosWeb Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivos
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...
 
Web Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaWeb Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquina
 
Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
 
Projeto Simple Maps
Projeto Simple MapsProjeto Simple Maps
Projeto Simple Maps
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
 

Web Data Mining com R: identificação de spam utilizando Random Forest

  • 1. Identifica¸˜o de spam utilizando ca Random Forest Fabr´ J. Barth ıcio Falculdade BandTec e VAGAS Tecnologia Junho de 2013
  • 2. Aprendizado de ´rvores de decis˜o a a Identifica¸˜o de spam utilizando Random Forest — ca Aprendizado de ´rvores de decis˜o a a 2
  • 3. Caracter´ ısticas • Representa¸˜o de ´rvore de decis˜o: ca a a cada nodo interno testa um atributo; cada aresta correponde a um valor de atributo; cada nodo folha retorna uma classifica¸˜o. ca Identifica¸˜o de spam utilizando Random Forest — ca Caracter´ ısticas 3
  • 4. Algoritmo ID3 • O algoritmo ID3 cria uma ´rvore de uma maneira a top-down come¸ando com a seguinte pergunta: c Qual atributo deve ser testado na raiz da ´rvore? a • Para responder esta quest˜o, cada atributo do a conjunto de treinamento ´ avaliado usando um teste e estat´ ıstico para determinar qu˜o bem o atributo a (sozinho) classifica os exemplos de treinamento. Identifica¸˜o de spam utilizando Random Forest — ca Algoritmo ID3 4
  • 5. Entrada: Conjunto de Exemplos E. ´ Sa´ ıda: Arvore de Decis˜o (Hip´tese h). a o 1 Se todos os exemplos tem o mesmo resultado para a fun¸˜o ca sendo aprendida, retorna um nodo folha com este valor; 2 Cria um nodo de decis˜o N e escolhe o melhor atributo A a para este nodo; 3 Para cada valor V poss´ para A: ıvel 3.1 cria uma aresta em N para o valor V ; 3.2 cria um subconjunto EV de exemplos onde A = V ; 3.3 liga a aresta com o nodo que retorna da aplica¸˜o do ca algoritmo considerando os exemplos EV . 4 Os passos 1, 2 e 3 s˜o aplicados recursivamente para cada a novo subconjunto de exemplos de treinamento. Identifica¸˜o de spam utilizando Random Forest — ca 5
  • 6. Exemplo de classifica¸˜o de Spam usando ca J48 O objetivo deste exerc´ ´ demonstrar a cria¸˜o de um ıcio e ca modelo preditivo no formato de ´rvore de decis˜o para a a identificar spam. Para tanto, ser´ utilizado o dataset a disponibilizado em http://archive.ics.uci.edu/ml/datasets/Spambase. http://rpubs.com/fbarth/classificacaoSpamJ48 Identifica¸˜o de spam utilizando Random Forest — ca Exemplo de classifica¸˜o de Spam usando J48 ca 6
  • 7. Aprendizado de florestas de ´rvores de a decis˜o a Identifica¸˜o de spam utilizando Random Forest — ca Aprendizado de florestas de ´rvores de decis˜o a a 7
  • 8. Exemplo de classifica¸˜o de Spam usando ca RandomForest http://rpubs.com/fbarth/classificacaoSpamRandomForest Identifica¸˜o de spam utilizando Random Forest — ca Exemplo de classifica¸˜o de Spam usando RandomForest ca 8
  • 9. Material de consulta • Tom Mitchell. Machine Learning, 1997. (Cap´ ıtulo 3) • Russel e Norvig. Inteligˆncia Artificial, 2a. edi¸˜o, e ca cap´ ıtulo 18. • Weka no R: http://cran.rproject.org/web/packages/RWeka/RWeka.pdf. Identifica¸˜o de spam utilizando Random Forest — ca Material de consulta 9
  • 10. • Yanchang Zhao. R and Data Mining: Examples and Case Studies. (Cap´ ıtulo 4): http://cran.rproject.org/doc/contrib/Zhao R and data mining.pdf • Exemplo de uso de algoritmos indutores de ´rvore de a decis˜o. http://rpubs.com/fbarth/arvoreDecisao. a Acesso em 14 de junho de 2013. Identifica¸˜o de spam utilizando Random Forest — ca Material de consulta 10
  • 11. • Package ’randomForest’. http://cran.rproject.org/web/packages/randomForest/randomForest.pdf. Acessado em 14 de junho de 2013. • Breiman, Leo (2001). ”Random Forests”. Machine Learning 45 (1): 5-32. • H. Costa, F. Benevenuto, L. Merschmann. Detecting Tip Spam in Location-based Social Networks. In Proceedings of the ACM Symposium on Applied Computing (SAC’13). http://homepages.dcc.ufmg.br/ fabricio/download/sac2013.pdf Identifica¸˜o de spam utilizando Random Forest — ca Material de consulta 11