|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbr.usp.ime.mac5855.knn.KnnPonderado<E>
E
- O tipo de objeto a ser avaliado.public final class KnnPonderado<E>
Esta classe implementa o algoritmo Knn. Para utilizá-la, basta criar uma instância informando uma estratégia adequada e populá-la com uma relação de preços dos elementos. Depois de populada, basta utilizar os métodos estimarPreco(E) ou probabilidadePrecoFaixa(E, double, double) para fazer-se predições. Novos elementos podem ser adicionados ou removidos posteriormente por meio dos métodos add(E, double), addAll(Map<E, Double>) e remove(E). O preço de um item pode ser atualizado ao adicioná-lo novamente com um novo preço. Um mesmo item nunca é armazenado mais do que uma vez em uma mesma instância desta classe.
KnnStrategy
Constructor Summary | |
---|---|
KnnPonderado(KnnStrategy<E> strategy)
Cria uma instância do algoritmo Knn não populada. |
|
KnnPonderado(java.util.Map<E,java.lang.Double> elementos,
KnnStrategy<E> strategy)
Cria uma instância do algoritmo Knn já populada. |
Method Summary | |
---|---|
void |
add(E elemento,
double preco)
Adiciona um elemento a lista de preços. |
void |
addAll(java.util.Map<E,java.lang.Double> elementos)
Adiciona um elemento a lista de preços. |
double |
estimarPreco(E elemento)
Dá uma estimativa de preço para um objeto. |
double |
probabilidadePrecoFaixa(E elemento,
double precoMinimo,
double precoMaximo)
Calcula a probabilidade (entre 0.0 e 1.0) de um objeto ter um preço dentro de uma determinada faixa. |
void |
remove(E elemento)
Remove um elemento da lista de preços. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public KnnPonderado(KnnStrategy<E> strategy)
strategy
- A estratégia a ser usada para fazer-se predições,
ponderações, etc.
java.lang.IllegalArgumentException
- Se a estratégia for null
.public KnnPonderado(java.util.Map<E,java.lang.Double> elementos, KnnStrategy<E> strategy)
elementos
- Relação de preços inicial dos elementos.strategy
- A estratégia a ser usada para fazer-se predições,
ponderações, etc.
java.lang.IllegalArgumentException
- Se a estratégia for null
.Method Detail |
---|
public void add(E elemento, double preco)
elemento
- O elemento a ser adicionado.preco
- O preço do elemento.
java.lang.IllegalArgumentException
- Se o elemento a ser adicionado for
null
.public void addAll(java.util.Map<E,java.lang.Double> elementos)
elementos
- Uma relação dos elementos e dos respectivos preços a ser
adicionada.
java.lang.IllegalArgumentException
- Se a relação de elementos a ser
adicionada for null
.public void remove(E elemento)
null
, então nada acontece.
elemento
- O elemento a ser removido.public double estimarPreco(E elemento)
elemento
- O objeto a ter o preço estimado.
java.lang.IllegalArgumentException
- Se o elemento a ter o preço estimado for
null
.public double probabilidadePrecoFaixa(E elemento, double precoMinimo, double precoMaximo)
elemento
- O objeto do qual deseja-se calcular a probabilidade do
preço estar na faixa determinada.precoMinimo
- Início da faixa de preços.precoMaximo
- Fim da faixa de preços.
java.lang.IllegalArgumentException
- Se o elemento determinado for
null
ou se o início da faixa de preços for maior do que o fim.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |