79 lines
2.2 KiB
R
Executable File
79 lines
2.2 KiB
R
Executable File
# Este codigo realiza a predicao de notas por avaliação sintatica
|
|
# Autora: Márcia Gonçalves de Oliveira
|
|
# Ano 2013
|
|
|
|
# Entrada dos dados de treino e de teste
|
|
# Treino é a base referencia de predicao
|
|
# Teste são as amostras que serão pontuadas a partir da referencia de treino aprendida.
|
|
|
|
# Recebe argumento de entrada: diretorio onde estao matrizes de treino e teste
|
|
args <- commandArgs(TRUE)
|
|
diretorio=args[1]
|
|
cluster= args[2]
|
|
|
|
# Carrega matrizes de treino e teste
|
|
|
|
enderecotreino=paste(diretorio,"/treinopontuado-", cluster,".csv",sep="");
|
|
enderecoteste=paste(diretorio,"/testenaopontuado-",cluster,".csv",sep="");
|
|
|
|
matriztreino <- read.table(enderecotreino, header=T, sep=";")
|
|
matrizteste <- read.table(enderecoteste, header=T, sep=";")
|
|
|
|
library(MASS)
|
|
|
|
|
|
|
|
attach(matriztreino)
|
|
|
|
# Cria o modelo regressor a partir do treino e das variáveis de avaliação selecionadas
|
|
|
|
modelo=lm(nota~compila+funciona+cfor+cdo+cwhile+cauto+cbreak+ccontinue+cif+celse+cswitch+ccase+cdefault+cstruct+ctypedef+cinclude+cmain+cscanf+cimprimir+comentario+cgets+cputs+cgetchar+creturn+endereco+opigual+opmenorigual+opmaiorigual+opdiferente+opatrib+opnot+opmaior+opmenor+opand+opor+opinc+opdec+opmais+opmenos+opmult+opdiv+opresto+tconst+tchar+tdouble+tfloat+tint+tlong+tshort+tunsignal+tsigned+tvoid+tenum+cextern+cgoto+cregister+csizeof+cstatic+cunion+cvolatile)
|
|
|
|
|
|
|
|
# Selecionar as características que realmente contribuem com o modelo
|
|
|
|
modelosimplificado= step(modelo, trace = 0)
|
|
|
|
result=summary(modelosimplificado)
|
|
|
|
result
|
|
|
|
analiseanova=anova(modelosimplificado)
|
|
analiseanova
|
|
|
|
detach(matriztreino)
|
|
|
|
vetnotasreais = matrizteste[,1]
|
|
|
|
# Obter vetores com as notas preditas das amostras de treino
|
|
|
|
vetnotaspreditas= predict(modelosimplificado,newdata=matrizteste)
|
|
|
|
# Gerar gráfico
|
|
|
|
grafico = paste(diretorio,"/imagemgrafico.jpg",sep="")
|
|
jpeg(grafico)
|
|
|
|
plot(vetnotasreais~vetnotaspreditas)
|
|
|
|
dev.off()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Resultados gerados
|
|
|
|
|
|
resultadospreditos=paste(diretorio,"/notastestepreditas.csv",sep="")
|
|
|
|
|
|
write.csv(vetnotaspreditas, file = resultadospreditos)
|
|
|
|
|
|
|
|
|
|
|