pcodigo2web/workspace/avaliador/juntaresultados.php

84 lines
2.1 KiB
PHP
Executable File

<?php
// Este script junta todos os resultados de teste dos clusters.
// Entrada: argumento:diretorio arquivospredicao/nomebase/clusters, rotulos das amostras de teste de cada cluster, notas de teste preditas para cada cluster
// Saida: arquivo notasteste.csv
# Recebe argumento de entrada - nome da base
$questao = trim($argv[1]);
# Diretorio de indexacao
$diretorioindexacao = "indexados/".$questao."/clusters/";
# Diretorio de predicao
$diretoriopredicao = "arquivospredicao/".$questao."/";
# Abrir arquivo de saida - notasteste.csv
$anotasteste="arquivospredicao/".$questao."/notasteste.csv";
$ft = fopen($anotasteste,'w');
# Para cada cluster, obter os rotulos e as notas
$ponteiro1 = opendir($diretorioindexacao);
// Para cada subdiretorio do diretorio clusters
while (($nomecluster = readdir($ponteiro1)))
{
if (($nomecluster<>".") && ($nomecluster<>"..") && ($nomecluster<>"rd"))
{
$ncl=trim($nomecluster);
# Carrega rotulos
$enderecorotulos = $diretorioindexacao.$ncl."/lteste.csv";
$rotulos = file($enderecorotulos);
# Carrega notas preditas do cluster
$endereconotas = $diretoriopredicao."clusters/notasteste-".$ncl.".csv";
$notas = file($endereconotas);
# Retira linha de titulo
unset($notas[0]);
$notas=array_values($notas);
# Numero de amostras de teste do cluster
$cont = count($rotulos);
for($i=0;$i<$cont;$i++)
{
$rotulo= trim($rotulos[$i]);
$v= explode(",", $notas[$i]);
$nota = trim($v[1]);
# Grava rotulo e nota
fwrite($ft, $rotulo.";".$nota."\n");
unset($v);
}
unset($rotulos);
unset($notas);
}
}
fclose($ft);
?>