Como realizar experimentos de N-Fold Cross Validation

De LCAD
Ir para: navegação, pesquisa

O objetivo deste procedimento é listar os passos necessários para a realização de experimentos de n-fold cross-validation utilizando o cluster. Não é objetivo ensinar a utilizar o SCAE.

O procedimento foi elaborado partindo do princípio que o autor dos experimentos disponha de conhecimentos técnicos do SCAE. Caso tenha alguma dúvida de como funciona o SCAE consulte o Manual do SCAE.

As seções a seguir apresentam os passos necessários para realizar experimentos de validação e teste para o n-fold cross-validation.

Configurando o SCAE

1- Configurando o DB_CORE

Entre no diretório DB_CORE/SPELLER/scaeaspell-0.60.5/ e digite:

./configure --prefix=/usr --sysconfdir=/etc --enable-shared
make

2- Adicione no .bashrc o caminho das bibliotecas do Aspell:

#SCAE SPELLER
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/n-fold_cross-validation_experiments/DB_CORE/SPELLER/scaeaspell-0.60.5/.libs
export LD_LIBRARY_PATH

3- Atualize as variáveis de ambiente:

source .bashrc

4- Atualize as estruturas de diretório para experimentos do n-fold cross-validation:

./update_dirs.bat

Esse passo atualiza as mudanças no svn e gera a biblioteca localizada diretório shared.

Criando tabelas dos folds no DB_CORE

O objetivo deste passo é gerar as TTVs de cada fold e a de validação. Os limites de validação utilizados são baseados nos limites de treino do último fold de teste. Todos os passos a seguir devem ser executados no diretório DB_CORE/:

  1. Compilar o DB_CORE
  2. Editar o arquivo parameters.cfg de acordo com o experimento de n-fold cross-validation que deseja executar;
  3. Executar o arquivo generate_build_file_of_folds.bat. Esse executável gera os arquivos de build para cada fold de teste e o de validação;
  4. Executar o arquivo build_folds_table.bat. Esse arquivo constrói as TTVs de cada fold de teste e o de validação.

Gerando os arquivos de treino e teste dos folds

O objetivo deste passo é criar os arquivos de treino e teste dos folds de teste e de validação. Todos os passos a seguir devem ser executados no diretório USER_INTERFACE/:

  1. Compilar o USER_INTERFACE;
  2. Editar o arquivo parameters.cfg de acordo com o experimento de n-fold cross-validation que deseja executar;
  3. Executar o arquivo generate_train_and_test_fold_files.bat. Esse executável gera os aquivos de treino e teste para os folds de teste e de validação que serão utilizados pelos CORES especificados em parameters.cfg.

Experimentos de Validação e Teste

Teste


Gerando os arquivos de treino e teste dos folds


Todos os passos a seguir devem ser executados no diretório USER_INTERFACE/:

  1. Editar o arquivo parameters.cfg de acordo com o experimento de n-fold cross-validation que deseja executar;
  2. Executar o arquivo generate_train_and_test_fold_files.bat. Esse executável gera os aquivos de treino e teste que serão utilizados pelos CORES especificados em parameters.cfg.

Submitendo os experimentos de fold no cluster


Todos os passos a seguir devem ser executados no diretório do test/CORE DESEJADO:

  1. Editar o arquivo parameters.cfg de acordo com o experimento de n-fold cross-validation que deseja executar;
  2. Executar o arquivo cp_conf_dir.bat. Esse executável replica o diretório padrão de acordo com a nome da base e os parâmetros do CORE;
  3. Executar o arquivo run_folds.bat. Esse executável submete cada o experimento de n-fold cross-validation no cluster.
  4. Após os experimentos finalizarem, execute o arquivo get_results.bat para coletar os resultados. Esse executável gera um arquivo .csv, onde cada linha representa o fold e as colunas as métricas utilizadas no SCAE. As métricas com prefixo or são referentes ao ranking ordinal e as com mcr são referentes ao ranking modificado.

Caso deseje deletar os diretórios criados pelo experimento, execute o arquivo rm_dir.bat.

Validação


O experimento de validação é realizado em apenas com um fold para "tunar" os categorizadores de com acordo com os seus respectivos parâmetros. Para realizar os experimentos com n-fold cross-validation no SCAE, siga os passos descritos a seguir. Lembre-se de gerar as TTVs de validação.

Submitendo os experimentos de fold no cluster


Todos os passos a seguir devem ser executados no diretório do validation/CORE DESEJADO:

  1. Editar o arquivo parameters.cfg de acordo com o experimento de n-fold cross-validation que deseja executar;
  2. Executar o arquivo cp_conf_dir.bat. Esse executável replica o diretório padrão de acordo com a nome da base e os parâmetros do CORE;
  3. Executar o arquivo run_folds.bat. Esse executável submete cada o experimento de n-fold cross-validation no cluster.
  4. Após os experimentos finalizarem, execute o arquivo get_results.bat para coletar os resultados. Esse executável gera um arquivo .csv, onde cada linha representa o fold e as colunas as métricas utilizadas no SCAE. As métricas com prefixo or são referentes ao ranking ordinal e as com mcr são referentes ao ranking modificado.

Caso deseje deletar os diretórios criados pelo experimento, execute o arquivo rm_dir.bat.