Como explicar os resultados de um modelo de R Classification Predictive Analytics
Outra tarefa em análise preditiva é classificar novos dados, prevendo que classe um item de destino dos dados pertence, dado um conjunto de variáveis independentes. Você pode, por exemplo, classificar um cliente por tipo - por exemplo, como um cliente de alto valor, um cliente regular, ou um cliente que está pronto para mudar para um concorrente - usando uma árvore de decisão.
Para ver algumas informações úteis sobre o modelo R Classificação, digite o seguinte código:
> Resumo (modelo) Comprimento Classe Modo1 BinaryTreeS4
o Classe coluna diz que você tenha criado uma árvore de decisão. Para ver como as divisões estão sendo determinado, você pode simplesmente digitar o nome da variável na qual você atribuiu o modelo, neste caso modelo, como isso:
> Árvore de inferência modelConditional com 6 terminais nodesResponse: seedTypeInputs: área, perímetro, compacidade, comprimento, largura, assimetria, length2Number de observações: 1471) da área lt; = 16.2- critério = 1, estatística = 123,4232) Área lt; = 13.37- critério = 1, estatística = 63,5493) length2 lt; = 4.914- critério = 1, estatística = 22,2514) * pesos = 113) length2> 4,9145) * pesos = 452) Área> 13,376) length2 lt; = 5.396- critério = 1, estatística = 16,317) * pesos = 336) length2> 5,3968) * pesos = 81) Área> 16.29) length2 lt; = 5.877- critério = 0,979, estatística = 8.76410) * pesos = 109) length2> 5,87711) * pesos = 40
Mesmo melhor, você pode visualizar o modelo, criando um gráfico da árvore de decisão com este código:> plot (modelo)
Esta é uma representação gráfica de uma árvore de decisão. Você pode ver que as imita globais de forma que de uma árvore real. Ele é feito de nós (os círculos e retângulos) e ligações ou arestas (as linhas de conexão).
O primeiro nó (começando no topo) é chamado de nó raiz e os nós na parte inferior da árvore (rectângulos) são chamados nós terminais. Existem cinco nós de decisão e seis nós terminais.
Em cada nó, o modelo toma uma decisão com base nos critérios do círculo e os links, e escolhe um caminho a percorrer. Quando o modelo alcança um nó terminal, um veredicto ou uma decisão final seja alcançado. Neste caso particular, dois atributos, a eo, são usadas para decidir se um determinado tipo de semente está na classe 1, 2 ou 3.
Por exemplo, pegue a observação nº 2 do conjunto de dados. Tem uma de 4,956 e uma de 14,88. Você pode usar a árvore que você acabou de construir para decidir qual tipo de semente em particular esta observação pertence. Aqui está a sequência de passos:
Comece no nó de raiz, que é o nó 1 (o número é exibido no pequeno quadrado na parte superior do círculo). Decidir com base no atributo de: É a observação de # 2 menor do que ou igual a (denotado por lt; =) 16,2? A resposta é sim, então mover-se ao longo do caminho para o nó 2.
No nó 2, o modelo de pergunta: É a área lt; = 13,37? A resposta é não, então tente o próximo link que pergunta: É a área> 13.37? A resposta é sim, então mover-se ao longo do caminho para o nó 6. Neste nó do modelo pergunta: É a length2 lt; = 5,396? É, e você se move para o nó de terminal 7 eo veredicto é que a observação nº 2 é do tipo de semente 1. E é, de fato, semente tipo 1.
O modelo faz esse processo para todas as outras observações para prever suas aulas.
Para descobrir se você treinou um bom modelo, verificá-lo contra os dados de treinamento. Você pode ver os resultados em uma tabela com o seguinte código:
> Tabela (predizer (modelo), composição $ seedType) 1 2 31 45 4 32 3 47 03 1 0 44
Os resultados mostram que o erro (ou taxa de erros de classificação) 11 é de 147, ou 7,48 por cento.
Com os resultados calculados, o próximo passo é a ler a tabela.
As previsões corretas são aquelas que mostram os números de colunas e linhas como o mesmo. Esses resultados mostram-se como uma linha diagonal do canto superior esquerdo para canto inferior direito; por exemplo, [1,1], [2,2], [3,3] são o número de previsões corretas para essa classe.
Assim, por tipo de semente 1, o modelo previu corretamente que 45 vezes, enquanto misclassifying a semente 7 vezes (4 vezes como o tipo de semente 2, e 3 vezes mais do tipo 3). Para o tipo de semente 2, o modelo previu corretamente que 47 vezes, enquanto misclassifying 3 vezes. Para o tipo de semente 3, o modelo previu corretamente que 44 vezes, enquanto misclassifying apenas uma vez.
Isto mostra que este é um bom modelo. Então, agora você avaliá-lo com os dados de teste. Aqui está o código que utiliza os dados de teste para prever e armazená-lo em uma variável (testPrediction) Para uso posterior:
> testPrediction lt; - prever (modelo, newdata = testSet)
Para avaliar como o modelo realizado com os dados de teste, vê-lo em uma tabela e calcular o erro, para o qual o código se parece com isso:
> Tabela (testPrediction, testSet $ seedType) testPrediction 1 2 31 23 2 12 1 19 03 1 0 17
Os resultados mostram que o erro é de 5 a 64, ou 7,81 por cento. Isto é consistente com os dados de treino.