pcodigo2web/workspace/avaliador/RLmultipla.R

85 lines
1.9 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="");
enderecomodelo=paste(diretorio,"/modelorlm-",cluster,".txt",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
v=names(matriztreino)
v
soma=v[2]
n=length(v)
for(i in 3:n)
{
soma= paste(soma,"+", v[i])
}
frm <- formula(paste("nota~",soma))
modelo<-lm(frm)
result=summary(modelo)
result
# 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)
# Obter vetores com as notas preditas das amostras de treino
vetnotaspreditas= predict(modelosimplificado,newdata=matrizteste)
# Resultados gerados
resultadospreditos=paste(diretorio,"/notasteste-", cluster, ".csv",sep="")
write.csv(vetnotaspreditas, file = resultadospreditos)