Envio de um veículo, basta ir a uma loja e comprar o primeiro que você vê? Não, não é assim? Você, na maioria das vezes, praticamente não aconselha nenhum indivíduo ao seu redor, tira a sua conclusão, acrescenta a sua exploração e depois vai para uma conclusão definitiva. Deveríamos tomar uma situação menos difícil: em qualquer ponto que você vá para um filme, você se aproxima dos seus companheiros para fazer pesquisas sobre o filme (exceto se, fora da base, ele estrelar um de seus personagens preferidos na tela)?
Você já perguntou em algum momento por que motivo obtemos algumas informações sobre seus sentimentos ou auditorias antes de ir para um filme ou antes de comprar um veículo ou pode ser, antes de organizar uma ocasião? Isso se deve ao fato de que o levantamento de um indivíduo pode ser unilateral de acordo com sua inclinação; seja como for, quando perguntamos a diferentes indivíduos, estamos tentando expulsar a predisposição que um indivíduo solitário pode dar. Um indivíduo pode ter uma aversão muito sólida por um determinado objetivo por causa de seu envolvimento com essa área; de qualquer forma, dez outros indivíduos podem ter uma inclinação muito sólida para um objetivo semelhante, já que tiveram um encontro magnífico lá. A partir disto, podemos induzir que o único indivíduo foi progressivamente semelhante a um caso excelente e a sua experiência pode ser um caso de caso.
Outro modelo que eu tenho certeza que todos nós experimentamos é durante as reuniões em qualquer organização ou escola. Frequentemente precisamos vivenciar várias rodadas de reuniões. Apesar das perguntas feitas em várias rodadas de reuniões serem comparativas, se não as mesmas – as organizações ainda colocam tudo em jogo. A explicação é que eles precisam de ter as opiniões de vários pioneiros do alistamento. Na hipótese remota de que muitos pioneiros estejam se concentrando em um up-and-comer, nesse ponto a probabilidade de ela acabar sendo um contrato decente é alta.
No mundo da análise e da ciência dos dados, isto é chamado de ‘ensembling’. Ensembling é um “tipo de técnica de aprendizagem supervisionada onde vários modelos são treinados num conjunto de dados de formação e os seus resultados individuais são combinados por alguma regra para derivar o resultado final”.
Que tal quebrarmos a definição acima e darmos uma vista de olhos, pouco a pouco.
No momento em que afirmamos que vários modelos são preparados num conjunto de dados, o mesmo modelo com vários hiperparâmetros ou vários modelos podem ser preparados no conjunto de dados de preparação. A preparação das percepções pode variar um pouco durante a inspecção; seja como for, de um modo geral, a população continua como antes.
“As saídas são combinadas por alguma regra” – pode haver várias regras pelas quais as saídas são combinadas. As mais reconhecidas são as normais (até ao rendimento numérico) ou o voto (até ao rendimento de corte claro). Quando modelos diferentes nos dão a saída numérica, podemos simplesmente pegar a média de todas as saídas e usar a média como resultado. Se surgir uma saída de corte claro, podemos utilizar o voto – a saída que ocorre em maior número de vezes é a última saída. Existem outras estratégias complexas para determinar adicionalmente o rendimento, mas que estão fora da extensão deste artigo.
Random Forest é um desses incríveis cálculos de IA que funciona fazendo várias árvores de escolha e depois consolidando o rendimento criado por cada uma das árvores de decisão. A árvore de escolha é um modelo de arranjo que funciona a partir da idéia de ganho de dados em cada centro. Para cada um dos focos de informação, a árvore de decisão tentará caracterizar os focos de informação em cada um dos centros e verificar o ganho de dados em cada centro. Ela será ordenada naquele ponto no hub onde o aumento de dados é maior. Ela seguirá este procedimento até que cada um dos hubs esteja esgotado ou até que não haja ganho de dados adicionais. Árvores de decisão são modelos excepcionalmente básicos e simples; no entanto, elas têm baixo poder de presciência. Verdade seja dita, eles são chamados de estudantes fracos.
O Backwoods arbitrário dá um tiro nos alunos fracos equivalentes. Ele junta o rendimento de várias árvores de escolha e depois, finalmente, inventa o seu próprio rendimento. O Arbitrary Woods lida com uma diretriz semelhante à Decision Tress; em qualquer caso, ele não escolhe cada um dos focos e fatores de informação em cada uma das árvores. Ela testa de forma aleatória os focos e fatores de informação em cada uma das árvores que produz e, em seguida, junta a produção para o final. Ele expulsa a predisposição que um modelo de árvore de escolha pode apresentar na estrutura. Da mesma forma, melhora o poder presciente por completo. Veremos isto na seguinte área quando tomarmos um exemplo de colecção informativa e pensarmos na precisão da Árvore de Decisão e da Mata Arbitrária.
Atualmente, devemos fazer uma pequena análise contextual e tentar executar vários modelos de Backwoods Irregulares com vários hiperparâmetros, e analisar um dos modelos de Woodland Arbitrário com modelo de Árvore de Decisão. (Tenho a certeza que concordarão comigo nisto – mesmo sem actualizar o modelo, podemos dizer instintivamente que o Backwoods Irregular nos dará resultados preferíveis em relação à Árvore de Escolha). O conjunto de dados é retirado do site da UCI e pode ser encontrado nesta conexão. A informação contém 7 fatores – seis lógicos (Valor de Compra, Suporte, NumDoors, NumPersons, BootSpace, Bem-estar) e uma variável de reação (Condição). Os fatores são claros como cristal e aludem às qualidades dos veículos e a variável de reação é “Vehicle Worthiness” (Valor do Veículo). Cada um dos fatores está fora da natureza e tem 3-4 níveis de figura cada um.
Vamos iniciar a implementação do código R e prever a aceitabilidade do carro com base em variáveis explicativas.
1 2 3 4 | # Fonte de dados: https://archive.ics.uci.edu/ml/machine-learning-databases/car/ install.packages(“randomForest”) biblioteca(randomForest) | |
1 2 3 4 5 6 7 8 | # Carregar o conjunto de dados e explorar data1 <- read.csv(file.choose(), header = TRUE) cabeça(dados1) str(data1) resumo(dados1) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | > cabeça(dados1) ComprandoPreço Manutenção NumPessoas NumPessoas BootSpace Condição de Segurança 1 alto vhigh vhigh 2 2 pequeno baixo unacc 2 vhigh vhigh 2 2 pequenos med med unacc 3 vhigh vhigh 2 2 pequena alta não-c 4 vhigh vhigh 2 2 med low unacc 5 vhigh vhigh 2 2 med med unacc 6 vhigh vhigh 2 2 med high unacc > str(data1) data.frame’: 1728 obs. de 7 variáveis: $ Preço de Compra: Fator c/ 4 níveis “alto”, “baixo”, “med”,…: 4 4 4 4 4 4 4 4 4 4 … $ Manutenção: Fator c/ 4 níveis “alto”, “baixo”, “med”,…: 4 4 4 4 4 4 4 4 4 4 … $ NumDoors : Fator c/ 4 níveis “2”, “3”, “4”, “5 mais”: 1 1 1 1 1 1 1 1 1 1 … NumPersons : Fator c/ 3 níveis “2”, “4”, “mais”: 1 1 1 1 1 1 1 1 1 2 … $ BootSpace : Fator c/ 3 níveis “grande”, “med”, “pequeno”: 3 3 3 2 2 2 1 1 1 3 … $ Segurança : Fator c/ 3 níveis “alto”, “baixo”, “med”: 2 3 1 2 3 1 2 3 1 2 … $ Condição : Fator c/ 4 níveis “acc”, “bom”, “unacc”,…: 3 3 3 3 3 3 3 3 3 3 … > resumo(dados1) ComprandoPreço Manutenção NumPessoas NumPessoas BootSpace Condição de Segurança alto :432 alto :432 2 :432 2 :576 grande :576 alto:576 acc : 384 baixo :432 baixo :432 3 :432 4 :576 med :576 baixo :576 bom :69 med :432 med :432 4 :432 more:576 small:576 med :576 unacc:1210 vhigh:432 vhigh:432 5 mais:432 vgood: 65 |
Agora, vamos dividir o conjunto de dados em comboio e validação na proporção de 70:30. Também podemos criar um conjunto de dados de teste, mas por enquanto vamos apenas manter o conjunto de treinamento e validação.
1 2 3 4 5 6 7 8 | # Dividir em conjuntos de Trem e Validação # Conjunto de treino : Conjunto de validação = 70 : 30 (aleatório) set.seed(100) trem <- amostra(nrow(data1), 0.7*nrow(data1), substituir = FALSO) TrainSet <- dados1[comboio,] ValidSet <- data1[-train,] resumo(TrainSet) resumo(ValidSet) |
1 2 3 4 5 6 7 8 9 10 11 12 | > resumo(TrainSet) ComprandoPreço Manutenção NumPessoas NumPessoas BootSpace Condição de Segurança alta :313 alta :287 2 :305 2 :406 grande :416 alta:396 acc :264 baixo :292 baixo :317 3 :300 4 :399 med :383 baixo :412 bom : 52 med :305 med :303 4 :295 mais:404 pequeno:410 med :401 unacc:856 vhigh:299 vhigh:302 5 mais:309 vgood: 37 > resumo(ValidSet) ComprandoPreço Manutenção NumPessoas NumPessoas BootSpace Condição de Segurança alta :119 alta :145 2 :127 2 :170 grande :160 alta:180 acc :120 baixo :140 baixo :115 3 :132 4 :177 med :193 baixo :164 bom : 17 med :127 med :129 4 :137 mais:172 pequeno:166 med :175 unacc:354 vhigh:133 vhigh:130 5 mais:123 |