|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectec.Problem
ec.gp.GPProblem
ec.gp.database.DatabaseProblem
public abstract class DatabaseProblem
Esta classe representa os problemas de otimização que são resolvidos a partir da utilização de uma base de dados. Em geral, tais bases possuem uma variável target e uma ou mais variáveis explicativas, e o objetivo do problema é chegar no valor da variável target a partir de funções aplicadas ao conjunto das variáveis explicativas. Esta classe também possui os métodos necessários para a leitura da base de treinamento e base de testes. Por esse motivo, contém os seguintes campos:
Field Summary | |
---|---|
DatabaseEnumeration |
enumElements
Atributo que será utilizado para armazenar o objeto para manipulação da base histórica |
double |
fatorRegularizacao
Valor do fator de regularização, que será utilizado no cálculo do fator de penalização |
HistoryDatabase |
historyDatabase
Atributo que será utilizado para armazenar o objeto para carga da base histórica |
int |
i
Este atributo deverá ser utilizado no método evaluate, onde cada indivíduo será avaliado de acordo com a base de treinamento. |
DatabaseProblemData |
input
Objeto que será utilizado para transitar as informação da base de dados por entre os nós das árvores |
static String |
P_HISTORY_DATA_CLASS
Constante com o nome do parâmetro através do qual é obtido o objeto de carga da base de dados histórica |
static String |
P_REGULARIZATION
Constante com o nome do parâmetro através do qual é obtido o fator de regularização |
static String |
P_TEST
Constante com o nome do parâmetro através do qual é obtido o tamanho da base de testes |
static String |
P_TRAINING
Constante com o nome do parâmetro através do qual é obtido o tamanho da base de treinamento |
int |
testSetSize
Tamanho (total de linhas) da base de testes |
int |
trainingSetSize
Tamanho (total de linhas) da base de treinamento |
Fields inherited from class ec.gp.GPProblem |
---|
data, P_DATA, P_GPPROBLEM, P_STACK, stack |
Fields inherited from class ec.Problem |
---|
P_PROBLEM |
Constructor Summary | |
---|---|
DatabaseProblem()
|
Method Summary | |
---|---|
double |
ARV(EvolutionState state,
Individual ind,
int subpopulation,
int threadnum)
Método para o cálculo do ARV (Average-Relative Variance), que consiste em uma razão entre o erro quadrático médio da solução (calculado entre esta e a variável target) e o erro quadrático médio da própria média, calculado como se esta fosse a melhor solução para o problema. |
Object |
clone()
Retorna o conjunto de dados total (inclui base de testes e base de treinamento) |
double[][] |
compareIndividual(EvolutionState state,
Individual ind)
Este método tem por objetivo comparar uma determinada solução (representada pelo indivíduo enviado no parâmetro ind) com o valor da variável target. |
void |
evaluate(EvolutionState state,
Individual ind,
int subpopulation,
int threadnum)
Método a avaliação do indivíduo. |
int |
getLagMax(GPNode node)
|
abstract double |
getMDLIndividualFunction(DatabaseProblemData yAjustado)
Método para o cálculo da função MDL (minimum-description length). |
abstract double |
getRegularizationFactor(GPNode node)
Método para o cálculo do fator de penalização, que também deverá ser implementado na subclasse |
abstract double |
getTargetVariable()
Método para o retorno da variável-objeto do processo. |
double[] |
getVariables(int lag)
Retorna o conjunto de variáveis do banco de dados, para a linha atualmente percorrida ou para as linhas anteriores |
void |
prepareToEvaluate(EvolutionState state,
int threadnum)
Prepara o objeto para a leitura da base de treinamento |
void |
prepareToTest(EvolutionState state,
int threadnum)
Prepara o objeto para a leitura da base de testes |
void |
setup(EvolutionState state,
Parameter base)
Método para a configuração do objeto |
DatabaseEnumeration |
testElements()
Retorna o conjunto de dados total (inclui base de testes e base de treinamento) |
DatabaseEnumeration |
trainingElements()
Retorna o conjunto de dados de treinamento |
Methods inherited from class ec.gp.GPProblem |
---|
defaultBase, describe |
Methods inherited from class ec.Problem |
---|
canEvaluate, closeContacts, finishEvaluating, initializeContacts, reinitializeContacts |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface ec.simple.SimpleProblemForm |
---|
describe |
Field Detail |
---|
public static final String P_TRAINING
public static final String P_TEST
public static final String P_HISTORY_DATA_CLASS
public static final String P_REGULARIZATION
public int trainingSetSize
public int testSetSize
public double fatorRegularizacao
public DatabaseProblemData input
public HistoryDatabase historyDatabase
public DatabaseEnumeration enumElements
public int i
Constructor Detail |
---|
public DatabaseProblem()
Method Detail |
---|
public DatabaseEnumeration trainingElements()
public DatabaseEnumeration testElements()
public Object clone()
clone
in interface Prototype
clone
in class GPProblem
public void setup(EvolutionState state, Parameter base)
setup
in interface Prototype
setup
in interface Setup
setup
in class GPProblem
state
- Objeto EvolutionState que guarda as informações sobre a evolução do processobase
- Base de parametrização auxiliar. Se esse parâmetro for enviado com valor "database" por exemplo, qualquer parâmetro desta classe
poderá ser obtida no arquivo de parâmetros através da keyword "database.public int getLagMax(GPNode node)
public abstract double getMDLIndividualFunction(DatabaseProblemData yAjustado)
yAjustado
- valor da variável target
getRegularizationFactor
public abstract double getRegularizationFactor(GPNode node)
node
- este parâmetro deverá conter o nó raiz do indivíduo em avaliação
public abstract double getTargetVariable()
public double ARV(EvolutionState state, Individual ind, int subpopulation, int threadnum)
public void evaluate(EvolutionState state, Individual ind, int subpopulation, int threadnum)
evaluate
in interface SimpleProblemForm
state
- objeto Evolution state que resume o estado do processoind
- Indivíduo a avaliarsubpopulation
- subpopulação a qual pertence o indivíduo a ser avaliadothreadnum
- número da thread de processamento. Em caso de monoprocessamento, será enviado o valor zero e o parâmetro não terá utilidadepublic double[] getVariables(int lag)
lag
- Número de defasagens. Para lag=0, será retornado o conjunto de variáveis para a linha atulmente percorrida. Se lag=1, será retornado
o conjunto de variáveis para a linha anterior
return Retorna um array de variáveis double, onde cada posição contém o valor de um dos campos da base. A primeira posição conterá o valor
da variável target, a posição seguinte contém o primeiro campo, a posterior o segundo, e assim por diante.public void prepareToEvaluate(EvolutionState state, int threadnum)
prepareToEvaluate
in class Problem
state
- objeto Evolution state que resume o estado do processothreadnum
- número da thread de processamento. Em caso de monoprocessamento, será enviado o valor zero e o parâmetro não terá utilidadepublic void prepareToTest(EvolutionState state, int threadnum)
state
- objeto Evolution state que resume o estado do processothreadnum
- número da thread de processamento. Em caso de monoprocessamento, será enviado o valor zero e o parâmetro não terá utilidadepublic double[][] compareIndividual(EvolutionState state, Individual ind)
state
- objeto Evolution state que resume o estado do processoind
- indivíduo que representa a solução que será comparada com a variável target
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |