br.usp.ime.mac5855.knn.validacaocruzada
Class ValidacaoCruzada<E>
java.lang.Object
br.usp.ime.mac5855.knn.validacaocruzada.ValidacaoCruzada<E>
- Type Parameters:
E
- O tipo de objeto a ser avaliado no algoritmo Knn.
public class ValidacaoCruzada<E>
- extends java.lang.Object
Esta classe implementa a validação cruzada para o algoritmo Knn. Para
utilizá-la, basta criar uma instância informando as estratégias adequada para
dividir os dados nos conjuntos de teste e de treinamento e para computar o
erro acumulado. Após criada a instância, basta usar o método
validar(Map, int, KnnStrategy).
- Author:
- Victor Williams Stafusa da Silva
- See Also:
KnnPonderado
,
KnnStrategy
,
Particionador
,
AvaliadorErro
Method Summary |
double |
validar(java.util.Map<E,java.lang.Double> populacao,
int tentativas,
KnnStrategy<E> knnStrategy)
Faz a validação cruzada do algoritmo Knn. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ValidacaoCruzada
public ValidacaoCruzada(Particionador<E> particionador,
AvaliadorErro avaliador)
- Construtor único.
- Parameters:
particionador
- A estatégia a ser usada para particionar os dados
nos conjuntos de treinamento e de teste.avaliador
- A estatégia a ser usada para contabilizar os erros.
validar
public double validar(java.util.Map<E,java.lang.Double> populacao,
int tentativas,
KnnStrategy<E> knnStrategy)
- Faz a validação cruzada do algoritmo Knn.
- Parameters:
populacao
- Os dados a serem usados para popular o algoritmo Knn, a
serem particionados de forma diferente a cada tentativa.tentativas
- O número de iterações a serem feitas. A cada iteração,
os dados são particionados de uma forma diferente por meio do método
Particionador.particionar(Set) do
Particionador informado no construtor.knnStrategy
- A estratégia a ser usada pela classe
KnnPonderado.
- Returns:
- Os erros acumulados.
- Throws:
java.lang.IllegalArgumentException
- Se a população ou a estratégia informada
for null
ou se o número de tentativas for zero ou negativo.