85 lines
1.9 KiB
R
Executable File
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)
|
|
|
|
|
|
|
|
|
|
|