Como criar um modelo preditivo Analytics com R Regressão

Você deseja criar um modelo de análise preditiva que você possa avaliar, utilizando os resultados conhecidos. Para fazer isso, vamos dividir nosso conjunto de dados em dois conjuntos: um para treinamento do modelo e um para testar o modelo. Uma 70/30 divisão entre treinamento e teste conjuntos de dados será suficiente. As próximas duas linhas de calcular código e armazenar os tamanhos de cada conjunto:

> trainSize lt; - round (nrow (automóveis) * 0,7)> testSize lt; - nrow (automóveis) - trainSize

Para fornecer os valores, digite o nome da variável usada para armazenar o valor e pressione Enter. Aqui está a saída:

> TrainSize [1] 279> testSize [1] 119

Este código determina os tamanhos dos conjuntos de dados que você pretende fazer com que nossos conjuntos de dados de treinamento e teste. Ainda não, na verdade, criou os conjuntos. Além disso, você não quer simplesmente para chamar as primeiras 279 observações do conjunto de treinamento e chamar os últimos 119 observações do conjunto de teste. Isso criaria um modelo ruim, porque o conjunto de dados aparece ordenada. Especificamente, o modelYear coluna é ordenada do menor para o maior.

Do exame dos dados, você pode ver que a maior parte do mais pesado, de oito cilindros, grande-deslocamento, automóveis maior cavalos de potência residem no topo do conjunto de dados. A partir dessa constatação, sem ter que executar quaisquer algoritmos sobre os dados, você já pode dizer que (em geral para este conjunto de dados) carros mais velhos em comparação com os carros mais recentes da seguinte forma:

  • são mais pesados

  • Tem oito cilindros

  • Têm maior deslocamento

  • Tem maior potência

Ok, obviamente, muitas pessoas não sabem algo sobre automóveis, assim que um palpite sobre o que as correlações são não vai ser muito improvável depois de ver os dados. Alguém com um monte de conhecimento automóvel pode já ter conhecido este sem sequer olhar para os dados.

Este é apenas um exemplo simples de um domínio (carros) que muitas pessoas podem se relacionar. Se isso fosse dados sobre o câncer, no entanto, a maioria das pessoas não entendem imediatamente o que significa que cada atributo.

Isto é onde um especialista de domínio e um modelador de dados são vitais para o processo de modelagem. Especialistas de domínio pode ter o melhor conhecimento de quais atributos pode ser a mais (ou menos) é importante - e como atributos correlacionam-se com o outro.

Eles podem sugerir ao modelador de dados que variáveis ​​para experimentar. Eles podem dar maiores pesos aos atributos mais importantes e / ou pesos menores para atributos de menor importância (ou removê-los completamente).

Então você tem que ter um conjunto de dados de treinamento e um conjunto de dados de teste que são verdadeiramente representativa de todo o conjunto. Uma maneira de fazer isso é criar o conjunto de treinamento de uma seleção aleatória de todo o conjunto de dados. Além disso, você quer fazer este teste reproduzível para que você possa aprender com o mesmo exemplo.

Assim, definir a semente para o gerador aleatório por isso vamos ter a mesma # 147-random # 148- conjunto de treinamento. O código a seguir faz essa tarefa:

> set.seed (123)> training_indices lt; - amostra (seq_len (nrow (automóveis)),
size = trainSize)> composição lt; - automóveis [training_indices,]> testSet lt; - autos [-training_indices,]

O conjunto de treino contém 279 observações, juntamente com o resultado (mpg) De cada observação. O algoritmo de regressão usa o resultado para treinar o modelo de olhar para as relações entre as variáveis ​​de previsão (nenhum dos sete atributos) ea variável resposta (mpg).

O conjunto de teste contém o resto dos dados (isto é, a porção não estão incluídos no conjunto de treino). Você deve perceber que o teste conjunto inclui também a resposta (mpg) variável.

Quando você usa o prever função (a partir do modelo) com o equipamento de teste, ela ignora a variável de resposta e utiliza apenas as variáveis ​​de previsão, desde que os nomes das colunas são os mesmos que aqueles no conjunto de treino.

Para criar um modelo de regressão linear que utiliza a mpg atributo como a variável resposta e todas as outras variáveis ​​como variáveis ​​de previsão, digite a seguinte linha de código:

> modelo lt; - lm (. fórmula = composição $ mpg ~, data = composição)

menu