br.usp.ime.mac5855.knn
Class EscalonadorMultiplicativo<E>

java.lang.Object
  extended by br.usp.ime.mac5855.knn.EscalonadorMultiplicativo<E>
Type Parameters:
E - O tipo de objeto do qual os atributos são avaliados.
All Implemented Interfaces:
Escalonador<E>

public abstract class EscalonadorMultiplicativo<E>
extends java.lang.Object
implements Escalonador<E>

Esta classe representa uma implementação parcial de escalonador, que escalona os atributos multiplicando-o cada um por um peso pré-determinado. Apenas o método Escalonador.valores(E) deve ser implementado nas subclasses.

Author:
Victor Williams Stafusa da Silva

Constructor Summary
EscalonadorMultiplicativo(double[] pesos)
          Cria uma instância informando os pesos dados para cada atributo.
 
Method Summary
protected  double[] getPesos()
          Obtém os pesos de cada atributo.
 double peso(int numDimensao, double valorOriginal)
          Escalona um determinado atributo, multiplicando-o pelo peso correspondente.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface br.usp.ime.mac5855.knn.Escalonador
valores
 

Constructor Detail

EscalonadorMultiplicativo

public EscalonadorMultiplicativo(double[] pesos)
Cria uma instância informando os pesos dados para cada atributo.

Parameters:
pesos - Array representando os pesos de cada atributo. Se este array for modificado posteriormente os pesos serão alterados.
Throws:
java.lang.IllegalArgumentException - Se o array de pesos for null ou tiver tamanho zero.
Method Detail

getPesos

protected double[] getPesos()
Obtém os pesos de cada atributo. Estes pesos podem ser alterados ao alterar-se os valores do array retornado. Corresponde ao exato mesmo array que é informado no construtor.

Returns:
Os pesos de cada atributo.

peso

public double peso(int numDimensao,
                   double valorOriginal)
Escalona um determinado atributo, multiplicando-o pelo peso correspondente.

Specified by:
peso in interface Escalonador<E>
Parameters:
numDimensao - O índice da dimensão correspondente a um atributo, de acordo com o array retornado pelo método Escalonador.valores(E).
valorOriginal - O valor a ser escalonado.
Returns:
O valor do atributo escalonado, correpondente ao produto do parâmetro valorOriginal pelo peso correspondente.