Vídeo: Machine Learning (Aula 7) - Modelos de Predição 2024
Outra tarefa em análises preditivas é classificar novos dados ao prever a qual classe pertence um item alvo, dado um conjunto de variáveis independentes. Você pode, por exemplo, classificar um cliente por tipo - digamos, como um cliente de alto valor, um cliente regular ou um cliente pronto para mudar para um concorrente - usando uma árvore de decisão.
Para ver algumas informações úteis sobre o modelo R Classification, digite o seguinte código:
A coluna Classe informa que você criou uma árvore de decisão. Para ver como as divisões estão sendo determinadas, você pode simplesmente digitar o nome da variável na qual você atribuiu o modelo, neste modelo de caso, como este: >> modelo Árvore de inferência condicional com 6 nós de terminal Resposta: entradas de tipo seedType: área, perímetro, compacidade, comprimento, largura, assimetria, comprimento2 Número de observações: 147 1) área <= 16. 2; critério = 1, estatística = 123. 423 2) área <= 13. 37; critério = 1, estatística = 63. 549 3) comprimento2 4. 914 5) * pesos = 45 2) área> 13. 37 6) comprimento2 5. 396 8) * pesos = 8 1) área> 16. 2 9) comprimento2 5. 877 11) * weights = 40
Ainda melhor, você pode visualizar o modelo criando um gráfico da árvore de decisão com este código:> plot (model)
Esta é uma representação gráfica de uma árvore de decisão. Você pode ver que a forma geral imita a de uma árvore real. É feito de
nós(círculos e retângulos) e links ou bordas (as linhas de conexão). O primeiro nó (começando na parte superior) é chamado de nó de raiz
e os nós na parte inferior da árvore (retângulos) são chamados nós terminais . Existem cinco nós de decisão e seis nós terminais.
Comece no nó raiz, que é o nó 1 (o número é mostrado no pequeno quadrado na parte superior do círculo). Decida com base no atributo: A observação # 2 é menor ou igual a (denotada por <=) 16.2? a resposta é sim, então, avance ao longo do caminho para o nó 2.
No nó 2, o modelo pergunta: a área é 13. 37? A resposta é sim, então, avance ao longo do caminho para o nó 6. Neste nó, o modelo pergunta: O comprimento2 <= 5. 396? é, e você se move para o nó terminal 7 e o veredicto é que a observação # 2 é de tipo semente 1. E é, de fato, tipo de semente 1.
-
O modelo faz esse processo para todas as outras observações para prever seus aulas.
-
Para descobrir se você treinou um bom modelo, confira os dados de treinamento. Você pode visualizar os resultados em uma tabela com o seguinte código: >> tabela (prever (modelo), trainSet $ seedType) 1 2 3 1 45 4 3 2 3 47 0 3 1 0 44
Os resultados mostram que o erro (ou taxa de classificação errada) é 11 de 147, ou 7. 48 por cento.
-
Com os resultados calculados, o próximo passo é ler a tabela.
As previsões corretas são as que mostram os números de coluna e linha como o mesmo. Esses resultados aparecem como uma linha diagonal da parte superior esquerda para a parte inferior direita; por exemplo, [1, 1], [2, 2], [3, 3] são o número de previsões corretas para essa classe.
Assim, para semente tipo 1, o modelo previu corretamente 45 vezes, enquanto classificamos incorretamente a semente 7 vezes (4 vezes como semente tipo 2 e 3 vezes como tipo 3). Para o tipo de semente 2, o modelo previu corretamente 47 vezes, enquanto a classificação incorreta 3 vezes. Para a semente de tipo 3, o modelo previu corretamente 44 vezes, enquanto a classificação errada apenas uma vez.
-
Isso mostra que este é um bom modelo. Então, você o avalia com os dados do teste. Aqui está o código que usa os dados do teste para prever e armazená-lo em uma variável (testPrediction) para uso posterior: >> testPrediction <- prever (modelo, newdata = testSet)
Para avaliar como o modelo foi executado com o testar dados, visualizá-lo em uma tabela e calcular o erro, para o qual o código se parece com isto: >> table (testPrediction, testSet $ seedType) testPrediction 1 2 3 1 23 2 1 2 1 19 0 3 1 0 17