Como preparar os dados em R regressão para análise preditiva
Você tem que obter os dados em um formulário que o algoritmo pode usar para construir um modelo de análise preditiva. Para fazer isso, você tem que levar algum tempo para entender os dados e conhecer a estrutura dos dados. Tipo na função para encontrar a estrutura dos dados. O comando e sua saída parecido com este:
> Str (automóveis) 'data.frame': 398 obs. de 9: $ variáveis V1: Nm 15 18 16 18 17 15 14 14 14 15 ... $ V2: int 8 8 8 8 8 8 8 8 8 8 $ ... V3: 350 318 Nm 304 307 302 429 454 440 455 390 ... $ V4: chr "130,0" "165,0" "150,0" "150,0" ... $ V5: num 3504 3693 3436 3433 3449 ... $ V6: num 12 11,5 11 12 10,5 10 9 8,5 10 8,5 ... $ V7: int 70 70 70 70 70 70 70 70 70 70 ... $ V8: int 1 1 1 1 1 1 1 1 1 1 ... $ V9: Fator w / 305 níveis "Brougham embaixador amc" , ..:
37 232 15 50 162 142 55 224 242 2 ...
De olhar para a estrutura, você pode dizer que há alguma preparação de dados e limpeza para fazer. Aqui está uma lista das tarefas necessárias:
Renomear os nomes das colunas.
Isto não é estritamente necessário, mas para os fins deste exemplo, é melhor usar nomes de coluna você pode entender e lembrar.
Alterar o tipo de dados de V4 (cavalo-vapor) Para uma numérico tipo de dados.
Neste exemplo, cavalo-vapor é um valor numérico contínuo e não um personagem tipo de dados.
Lidar com valores em falta.
Aqui cavalo-vapor tem seis valores em falta.
Alterar os atributos que têm valores discretos para fatores.
Aqui cilindros, ano modelo, e origem têm valores discretos.
Descartar o V9 (nome do carro) Atributo.
Aqui nome do carro não agrega valor ao modelo que você está criando. Se o origem atributo não foram dadas, você pode ter derivado da origem do nome do carro atributo.
Para mudar o nome do tipo colunas no código a seguir:
> COLNAMES (automóveis) lt; -
c ( "mpg", "cilindros", "deslocamento", "potência", "peso", "aceleração", "modelYear", "origem",
"CarName")
Em seguida, altere o tipo de dados cavalo-vapor para numérico com o seguinte código:
> Autos $ cavalos de potência lt; - as.numeric (autos $ cavalos de potência)
O programa vai reclamar, porque nem todos os valores em cavalos eram representações de seqüência de números. Houve alguns valores em falta que foram representados como a # 147 -? # 148- personagem. Isso é bom para agora, porque R converte cada instância ? para dentro N / D.
Uma forma comum de lidar com os valores em falta de variáveis contínuas é substituir cada valor em falta com a média de toda a coluna. A seguinte linha de código faz o seguinte:
> Autos $ cavalos de potência [is.na (autos $ cavalos de potência)] lt; - média (autos $ cavalos de potência, na.rm = TRUE)
É importante ter na.rm-VERDADEIRO no significar função. Ele diz que a função não usar colunas com valores nulos em seu cálculo. Sem ele, a função retornará.
Em seguida, alterar os atributos com valores discretos para factores. Três atributos foram identificados como discreta. Os seguintes três linhas de código alterar os atributos.
> Autos $ origem lt; - fatores (autos $ origem)> autos $ modelYear cilindros fatores (autos $ modelYear)> autos $ -; lt lt; - fatores (autos cilindros $)
Finalmente, remover o atributo do quadro de dados com esta linha de código:
> Autos $ carName lt; - NULL
Neste ponto, você terminar de preparar os dados para o processo de modelagem. O que se segue é uma visão da estrutura após o processo de preparação de dados:
> Str (automóveis) 'data.frame': 398 obs. de 8 variáveis: $ mpg: num 18 15 18 16 17 15 14 14 14 15 ... $ cilindros: Fator w / 5 níveis "3", "4", "5", "6", ..:
5 5 5 5 5 5 5 5 5 5 ... $ deslocamento: num 307 350 318 304 302 429 454 440 455 390 ... $ cavalos de potência: num 130 165 150 150 140 198 220 215 225 190 ... $ weight: Num 3504 3693 3436 3433 3449. . . $ Aceleração: num 12 11,5 11 12 10,5 10 9 8,5 10 8,5 ... $ modelYear: Fator w / 13 níveis "70", "71", "72", ..:
1 1 1 1 1 1 1 1 1 1 $ ... origem: Fator w / 3 níveis de "1", "2", "3":
1 1 1 1 1 1 1 1 1 1 ...