NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
NG110 - M´
etodos Computacionais em
Bioinform´
atica
Reconhecimento de padr˜oes
Roberto Hiroshi Higa
Embrapa Inform´atica Agropecu´aria
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Objetivos
M´odulo II: T´ecnicas de reconhecimento de padr˜oes aplicados a dados genˆomicos
Estudar m´etodos de reconhecimento de padr˜oes aplic´aveis `
a an´alise de dados genˆomicos;
Na primeira parte deste m´odulo, estudaremos ”Random Forest“;
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Agenda
1 Introdu¸c˜ao 2 Random Forest 3 Exemplos usando R 4 ReferˆenciasNG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
O que queremos dizer com ”dados genˆ
omicos”?
Caracter´ısticas:
o desenho experimental mais comum ´e o caso/controle; deseja encontrar o conjunto de genes ou de marcadores que melhor explicam as diferen¸cas entre as amostras ”caso” e ”controle”;
p >> n (n´umero de caracter´ısticas muito maior que o n´umero de amostras).
Exemplos:
Dados de express˜ao gˆenica de um conjunto de amostras; Dados de genotipagem de um conjunto de indiv´ıduos.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Requisitos para abordar esse problemas por meio
de reconhecimentos de padr˜
oes
1 Se existe diferen¸ca entre as amostas caso e controle, explicadas pela express˜ao gˆenica ou gen´otipos, ent˜ao estes podem ser utilizados para discriminar entre as duas classes de amostras (problema de classifica¸c˜ao);
2 Como tamb´em queremos identificar quem s˜ao os genes/marcadores importantes para diferenciar entre as amostras ”caso” e as amostras ”controle”, tamb´em precisaremos de m´etodos para ”sele¸c˜ao de vari´aveis”;
3 Por fim, as t´ecnicas de reconhecimento de padr˜oes utilizadas precisam ser capazes de tratar dados em que p >> n.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Sele¸c˜
ao de vari´
aveis
Em reconhecimento de padr˜oes, ”sele¸c˜ao de vari´aveis
(caracter´ısticas ou atributos)” constitui um passo em que tem foco na redu¸c˜ao da dimensionalidade dos dados, visando reduzir o erro de predi¸c˜ao. Em geral, as t´ecnicas s˜ao classificadas em:
Filtro: o m´etodo de sele¸c˜ao de vari´aveis ´e independente do m´etodo de classifica¸c˜ao;
Wrapper: um m´etodo de sele¸c˜ao de vari´aveis ´e um processo de busca que utiliza como ”subrotina” um m´etodo de classifica¸c˜ao;
Embutido: o m´etodo de sele¸c˜ao de vari´aveis est´a embutido no m´etodo de classifica¸c˜ao (ex: Random Forest e Lasso).
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Random Forest (Floresta Aleat´
oria)
Breinman, 2001
Uma floresta aleat´oria ´e um classificador formados por uma cole¸c˜ao de ´arvores de classifica¸c˜ao {h(x, φk), k = 1, · · · } onde
φk s˜ao vetores aleat´orios independentes e identicamente
distribu´ıdos e cada ´arvore contribui com um voto para a classe mais popular para a entrada x.
Elementos para constru¸c˜ao de uma floresta aleat´oria
´
arvore de classifica¸c˜ao.
cole¸c˜ao (ou ensemble) de classificadores (´arvores de classifica¸c˜ao) como classificador.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Arvores de classifica¸c˜
ao e regress˜
ao (CART)
Ideia
Particionar, recursivamente, o espa¸co de atributos (vari´avel preditora x) em regi˜oes menores. O valor da vari´avel predita, y, ser´a igual `a media das amostras (regress˜ao) ou da classe mais frequente (classifica¸c˜ao) na regi˜ao corresponde ao n´o folha a que x pertence.
Vantagens
Classifica¸c˜ao e regress˜ao n˜ao lineares.
Flexibilidade (vari´aveis preditoras quantitativas e qualitativas).
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo
Problema (Breinman et al., 1984)
Quando um paciente com ataque card´ıaco ´e admitido em um hospital, d´uzias de verifica¸c˜oes s˜ao frequentemente realizadas tais como medidas da frequencia card´ıaca e da press˜ao sangu´ınea, idade e hist´orico m´edico, entre outras.
O objetivo de curto prazo ´e predizer se eles ter˜ao sobrevida de pelo menos 30 dias, por exemplo.
O objetivo de longo prazo ´e desenvolver tratamentos para pacientes, identificar pacientes de alto risco, promover avan¸cos na teoria m´edica sobre ataque card´ıaco.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo (cont.)
Um paciente ´e previsto n˜ao ter sobrevida de pelo menos 30 dias se:
a press˜ao cist´olica m´ınima nas primeiras 24 horas ´e maior que 91;
a idade do paciente ´e suprior a 62.5;
taquicardia sinusal est´a presente.
as quest˜oes s˜ao respondidas de forma hier´arquica (representa¸c˜ao gr´afica).
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Crescimento de uma ´
arvore CART
x1 x2 R R → x1 x2 R2 R1 R R1 R2
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Crescimento de uma ´
arvore CART (cont.)
x1 x2 R2 R1 R R1 R2 → x1 x2 R1 R22 R21 R R1 R2 R21 R22
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Crescimento de uma ´
arvore CART (cont.)
x1 x2 R2 R1 R22 R21 R R1 R2 R21 R22 → x1 x2 R1 R22 R21 R R1 R2 R21 R22
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Elementos para crescimento de um ´
arvore
Para crescer uma ´arvore de classifica¸c˜ao/regress˜ao ´e necess´ario:
1 Um crit´erio para particionamento de um n´o; 2 Um crit´erio de parada;
3 Um crit´erio para atribui¸c˜ao de valores para os n´os
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Fun¸c˜
ao para mensura¸c˜
ao da impureza em um n´
o
O processo de constru¸c˜ao de uma ´arvore CART ´e tal que os n´os folhas da ´arvore sejam o mais puros poss´ıvel. Em classifica¸c˜ao isso significa que as amostras nos n´os terminais s˜ao dominados por uma classe; e em regress˜ao, que o EQM ´e minimizado. Por isso, ´e preciso utilizar uma fun¸c˜ao que avalie a pureza (ou impureza) associada a um n´o. Exemplos de fun¸c˜oes para mensurar impureza s˜ao:
i (m) = N1 m P xi∈Rm(yi − ¯y ) 2 (EQM) = PK k=1pk(1 − pk) (Gini ) = PK k=1pklog pk (Entropia) onde: pk = 1 Nm X xi∈Rm I (yi = k).
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Crit´
erio para particionamento de um n´
o
Uma vez definida a fun¸c˜ao para avalia¸c˜ao da impureza de um n´o, pode-se avaliar o efeito de um particionamento s, em termos de redu¸c˜ao da impureza associada ao n´o t pela fun¸c˜ao:
Φ(s, t) = i (t) − [pLi (tL) + pRi (tR)] ,
onde pL e pR s˜ao as propor¸c˜oes de amostras nos n´os tL e tR, a
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Escolha do melhor particionamento
O particionamento depende de uma ´unica vari´avel xi ∈ X :
Se xi ´e cont´ınua
(ordenada), o conjunto de poss´ıveis particionamentos ´
e dado pelo conjunto {xi ≤ s, s ∈ R};
Se xi ´e categ´orico, o
conjunto de poss´ıveis particionamentos ´e dado pelo conjunto de valores de xi, {1, . . . , M}.
x2
x1 Al´em disso, o processo de busca:
depende das amostras na parti¸c˜ao corrente;
termina, pois o conjunto de particionamentos a serem testados tamb´em ´e finito.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Crit´
erio de parada
V´arios crit´erios de parada s˜ao poss´ıveis, por exemplo: parar o particionamento de um n´o t quando maxs∈S∆I (s, t) < β, onde β > 0 representa um
threshold, ∆Φ(s, t) representa o descrescimo de impureza ao particionar t usando s e S representa o conjunto de poss´ıveis parti¸c˜oes do n´o t.
parar o particionamento de um n´o t quando a ´arvore atingir uma profundidade m´axima λ.
podar a ´arvore crescida: sub-´arvore T0 que minimiza
Cα(T ) =Pt∈ ˜Tφ(t) + α|T |, onde |T | representa o
tamanho da ´arvore T , ˜T o conjunto de n´os terminais em |T | e α > 0 ´e um parˆametro de regulariza¸c˜ao.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Regra para atribui¸c˜
ao de valores
Classifica¸c˜ao
class(t) = arg max
c
πc(t)
onde class(t) ´e a classe atribu´ıda ao n´o t e πc(t) = Nc/N, Nc
´e o n´umero de amostras com label c associados ao n´o t e N ´e o n´umero total de amostras associadas a t.
Regress˜ao
value(t) = 1 Nf (x )
onde value(t) ´e o valor de regress˜ao predito pelo n´o t, f (x ) ´e o valor associado `a amostra x e N ´e o n´umero de amostras associadas ao n´o t.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Algoritmo para rescimento de uma ´
arvore CART
Algorithm 1 Processo de crescimento de uma ´arvore CART
1: nos correntes ← raiz; 2: while nos correntes 6= ∅ do
3: remove no de nos correntes;
4: if crit´erio de particionamento de no ok then
5: no → noE + noD (particionamento);
6: nos correntes ← nos correntes + noE+ noD; 7: end if
8: end while
9: fa¸ca a poda da ´arvore (opcional);
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Ensembles (cole¸c˜
ao de classificadores)
Ideia
´
E poss´ıvel construir uma cole¸c˜ao de preditores (weak learners) e combin´a-los para obter um preditor (strong learner) de melhor desempenho (menor erro) que o de qualquer dos preditores constituintes.
Como implementar essa ideia?
ter uma estrat´egia para gerar uma cole¸c˜ao de preditores consistentes e descorrelacionados;
uma forma para implementar essa estrat´egia ´e incluir aleatoriedade no processo de gera¸c˜ao dos preditores.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Por que ensemble funciona?
Suponha que um preditor y = ϕL(x) tenha sido ajustado a partir de um conjunto de dados L = {(xi, yi), i = 1, · · · , N},
com L, amostrado de uma popula¸c˜ao de conjuntos de treinamento P(L) e aproxima uma fun¸c˜ao y = f (x) desconhecida. Considerando (˜x, ˜y ) amostrado da mesma distribui¸c˜ao e considerando ˜y = f (˜x) + com ∼ N (0, σ2), tem-se que EP(L)[EQM] ´e dado por:
E [EQM] = E(ϕ(˜x) − ˜y )2
= Eϕ(˜x)2− 2˜y ϕ(˜x) + ˜y2 = Eϕ(˜x)2 − 2E [˜yϕ(˜x)] + E ˜y2
(1)
Usando o fato de que E(θ − E [θ])2 = E θ2 − (E [θ])2, a
equa¸c˜ao (1) pode ser reescrita como:
E [EQM] = E(ϕ(˜x) − E [ϕ(˜x)])2 + (E [ϕ(˜x)])2
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Por que ensemble funciona? (cont.)
Agora, uma vez que E [˜y ] = E [f (˜x)] = f (˜x) para qualquer conjunto de dados de treinamento, a equa¸c˜ao (2) ´e reescrita como: E [EQM] = E(ϕ(˜x) − E [ϕ(˜x)])2 + (E [ϕ(˜x)])2 −2f (˜x)E [ϕ(˜x)] + E(˜y − f (˜x))2 + (f (˜x))2 = E(ϕ(˜x) − E [ϕ(˜x)])2 + (E [ϕ(˜x)] − f (˜x))2 +E(˜y − f (˜x))2 = variance + bias2+ 2 (3)
o primeiro componente da equa¸c˜ao representa a varia¸c˜ao de ϕ(˜x) com a escolha do conjunto de treinamento L; o segundo componente descreve o quadrado do erro m´edio de ϕ(˜x)
e o terceiro componente a varia¸c˜ao de ˜y em rela¸c˜ao a f (˜x) em fun¸c˜ao de ru´ıdo aleat´orio.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Por que ensemble funciona? (cont.)
Como a predi¸c˜ao de y utilizando ensemble ´e dada por
y = avg [ϕ(x)] e lembrando que para um n´umero de preditores suficientemente grande avg [ϕ(x)] ' E [ϕ(x)], tal que a equa¸c˜ao (3) pode ser reescrita como:
E [EQMensemble] = E(E [ϕ(x)] − E [E [ϕ(x)]])2 +(E [E [ϕ(x)]] − f (x))2+ 2 = E(E [ϕ(x)] − E [ϕ(x)])2
+(E [ϕ(x)] − f (x))2+ 2 = (E [ϕ(x)] − f (x))2+ 2
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Por que ensemble funciona? (cont.)
E combinando as equa¸c˜oes (3) e (4):
E [EQM] = E [EQMensemble] + variance. (5)
Portanto:
o erro de predi¸c˜ao esperado de ensemble cont´em apenas os componentes de bias e ru´ıdo que ´e esperado do preditor base (weak learner);
a utiliza¸c˜ao de ensemble elimina (idealmente) o componente de variˆancia do erro esperado do preditor base.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Random Forest
Random Forest constroi uma cole¸c˜ao de ´arvores de decis˜ao utilizando duas estrat´egias de aleatoriza¸c˜ao:
Bagging;
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Bagging
Seja o conjunto de treinamento L = {(xi, yi), i = 1, . . . , N} e
um preditor y = ϕ(x, L). Os vetores x tem dimens˜ao n e y pode ser tanto quantitativo quanto qualitativo.
1 a partir de L reamostre com substitui¸c˜ao B conjuntos
(bootstrap) de treinamento {L(j ), j = 1, . . . , B}.
2 treine B preditores ϕ(x, L(j )).
3 fa¸ca predi¸c˜oes usando ϕB(x) = avg (ϕ(x, L(j ))) se y ´e
quantitativo e
ϕB(x) = argmaxy(Pj =1,BI (ϕ(x, L(j )) = y )) se y ´e
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Random (subspace) Trees
Seja o conjunto de treinamento L = {(xi, yi), i = 1, . . . , N} e
um preditor y = ϕ(x, L). Os vetores x tem dimens˜ao n e y pode ser tanto quantitativo quanto qualitativo.
1 treine K ´arvores at´e um tamanho m´aximo pr´e-definido, tal
que as vari´aveis consideradas em cada opera¸c˜ao de particionamento repersentam um subespa¸co de dimens˜ao m < n do espa¸co do espa¸co original das vari´aveis
preditoras.
2 fa¸ca predi¸c˜oes usando ϕK(x) = avg (ϕ(xk, L(k))) se y ´e
quantitativo e
ϕK(x) = argmaxy(Pi =1,KI (ϕ(xk, L(i )) = y )) se y ´e
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Random Forest = Bagging + Random (subspace)
Trees
Cres¸ca (treine) ntree ´arvores da seguinte forma:
1 utilize como conjunto de dados de treinamento uma
amostra bootstrap - reamostragem de n amostras com substitui¸c˜ao, onde n ´e igual ao n´umero de amostras no conjunto de dados;
2 em cada n´o, selecione aleatoriamente mtry vari´aveis
preditoras e determine a vari´avel que resulta no melhor particionamento do n´o;
3 controle a profundidade da ´arvore pelo parˆametro nodesize
(n˜ao h´a poda).
4 predi¸c˜oes s˜ao feitas usando a m´edia das predi¸c˜oes das
´
arvores se y ´e quantitativo e por vota¸c˜ao se y ´e qualitativo.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Random Forest: estimativa de erro e importˆ
ancia
de vari´
aveis
original
OOB ( 33%) bootstrap
Erro OOB 1 Para cada ´arvore,
determine sua predi¸c˜ao para os dados OOB;
2 Ap´os crescer a floresta, determine as predi¸c˜oes para cada amostra OOB e calcule o erro OOB.
Importˆancia de vari´avel 1 Para cada ´arvore, permute as vari´aveis
preditoras nos dados OOB, uma por vez, determinando as predi¸c˜oes para cada amostra;
2 Ap´os crescer a floresta, para cada vari´avel, determine o erro OOB com os dados permutados;
3 Avalie o impacto da permuta¸c˜ao sobre o erro OOB (decr´escimo m´edio em acur´aria ou ´ındice de gini).
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Observa¸c˜
oes
RF aplica-se tanto a classifica¸c˜ao (y ´e discreto) quanto a regress˜ao (y ´e cont´ınuo);
pacote R: randomForest (existe outras implementa¸cˆoes); quando utilizar a funcionalidade de importˆancia de vari´aveis, verificar se ´e necess´ario padronizar as vari´aveis (variˆancias muito diferentes);
parˆametros recomendados: ntree=500; mtry=√p, onde p ´
e a dimens˜ao dos dados; nodesize=1 (bons valores iniciais);
processo de valida¸c˜ao cruzada pode ser utilizado para determinar os valores ´otimos (m´ınimo erro);
importˆancia de vari´avel 6= significˆancia estat´ıstica para predi¸c˜ao do trait; elas representam gen´otipos que s˜ao mais preditivos entre os considerados e, portanto, merecem uma investiga¸c˜ao mais cuidadosa.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo 1: IRIS com Random Forest
1 > l i b r a r y( r a n d o m F o r e s t ) 2 > i r i s < - r e a d.csv( " i r i s . d a t a " , h e a d e r = F A L S E ) 3 > c o l n a m e s( i r i s ) < - c( " s e p a l_len " , " s e p a l_wid " , " p e t a l_ len " , " p e t a l_wid " , " l a b e l " ) 4 > i r i s R F < - r a n d o m F o r e s t ( i r i s [ ,1:4] , i r i s [ ,5] , i m p o r t a n c e = T R U E ) 5 > i r i s R F 6 C a l l: 7 r a n d o m F o r e s t ( x = i r i s . x , y = i r i s . y , i m p o r t a n c e = T R U E ) 8 T y p e of r a n d o m f o r e s t : c l a s s i f i c a t i o n 9 N u m b e r of t r e e s : 500 10 No . of v a r i a b l e s t r i e d at e a c h s p l i t: 2 11 OOB e s t i m a t e of e r r o r r a t e : 4% 12 C o n f u s i o n m a t r i x: 13 s e t o s a v e r s i c o l o r v i r g i n i c a c l a s s. e r r o r 14 s e t o s a 50 0 0 0 . 0 0 15 v e r s i c o l o r 0 47 3 0 . 0 6 16 v i r g i n i c a 0 3 47 0 . 0 6
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo 1: IRIS com Random Forest (cont.)
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo 2: Virco dataset
Dados p´ublicos contendo informa¸c˜oes sobre resistˆencia apresentada por variantes de proteases observadas em isolados virais a oito diferentes inibidores de protease; Gen´otipos s˜ao bin´arios, onde TRUE indica ”wildtype” e FALSE indica mutante;
Trait tamb´em s˜ao bin´arios: TRUE se resistˆencia a IDV > resistˆencia a NFV.
Arquivo de dados: Virco data.csv; Descri¸c˜ao: Virco descr.txt.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo 2: Virco dataset (cont.)
1 > v i r c o < - r e a d.csv(f i l e= " V i r c o_d a t a . csv " , h e a d e r = TRUE , sep = " , " ) 2 > V i r c o G e n o < - d a t a.f r a m e( v i r c o [ ,s u b s t r(n a m e s( v i r c o ) ,1 ,1) == " P " ] ! = " - " ) 3 > T r a i t < - as.f a c t o r( v i r c o [ , " IDV . F o l d " ] > v i r c o [ , " NFV . F o l d " ]) 4 > T r a i t .c < - T r a i t [! is.na( T r a i t ) ] 5 > V i r c o G e n o .c < - V i r c o G e n o [! is.na( T r a i t ) ,] 6 > R e g R F < - r a n d o m F o r e s t ( V i r c o G e n o .c, T r a i t .c, i m p o r t a n c e = T R U E ) 7 > R e g R F 8 C a l l: 9 r a n d o m F o r e s t ( x = V i r c o G e n o .c, y = T r a i t .c, i m p o r t a n c e = T R U E ) 10 T y p e of r a n d o m f o r e s t : c l a s s i f i c a t i o n 11 N u m b e r of t r e e s : 500 12 No . of v a r i a b l e s t r i e d at e a c h s p l i t: 9 13 OOB e s t i m a t e of e r r o r r a t e : 3 1 . 9 7 % 14 C o n f u s i o n m a t r i x: 15 F A L S E T R U E c l a s s. e r r o r 16 F A L S E 461 116 0 . 2 0 1 0 3 9 9 17 T R U E 196 203 0 . 4 9 1 2 2 8 1
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exemplo 2: Virco dataset (cont.)
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Exercicio
Os arquivos ”simgen.csv” e ”simtrait.csv” cont´em dados simulados para 500 indiv´ıduos, sendo que o primeiro cont´em os gen´otipos para 400 marcadores, codificados numericamente (0 = homozigoto recessivo; 1 = heterozigoto e 2 = homozigoto dominante) e o segundo cont´em o trait para cada indiv´ıduo (C1 ou C2). Utilizar Random Forest para identificar os marcadores mais importantes para discriminar entre C1 e C2.
NG110 -M´etodos Computacio-nais em Bioinform´atica Roberto Hiroshi Higa Introdu¸c˜ao Random Forest Exemplos usando R Referˆencias
Referˆ
encias
1 Foulkes, A. S. Applied Statistical Genetics with R - For population-based association studies. Springer. 2009.
2 Breiman, L. Random Forest. Machine Learning, vol. 45. pp. 5-32. 2001.
3 Goldstein, B.A.; Hubbard, A. E.; Cutler, A.; Barcellos, L. F. an application of Random Forest to a genome-wide association dataset: Methodological considerations & new findings. BMC Genetics, 11:49, 2010.
http://www.biomedcentral.com/1471-2156/11/49.
4 R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria. 2013.