Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. private double[] calcularu(Instance instancia) throws Exception {
  2.  
  3. // Busqueda de vecinos para poder tener la distancia de la instancia a
  4. // cada prototipo
  5. LinearNNSearch S = new LinearNNSearch(prototipos);
  6. S.setSkipIdentical(true);
  7. Instances knn = S.kNearestNeighbours(instancia, prototipos.numInstances());
  8. double distancias[] = S.getDistances();
  9.  
  10. // Calcula la suma de las distancias del punto a todos los prototipos
  11. double suma_den = 0.0;
  12. for (int i = 0; i < distancias.length; i++) {
  13. // RELLENAR: Actualizar suma_den utilizando distancias[i]
  14. suma_den += 1.0/Math.pow(distancias[i],2.0/(m-1));
  15. }
  16.  
  17. // Crea y da valor al vector de pertenencias
  18. double u[] = new double[prototipos.numInstances()];
  19. for (int i = 0; i < knn.numInstances(); i++) {
  20. // Al estar ordenados de acuerdo a la distancia, los class value
  21. // estan desordenados
  22. int classValue = (int) knn.instance(i).classValue();
  23.  
  24. // RELLENAR: Calcular el numerador
  25. double suma_num = 1/Math.pow(distancias[i], 2/(m-1));
  26.  
  27. // RELLENAR: Actualizar u[classValue]
  28. u[classValue] = suma_num / suma_den;
  29.  
  30. }
  31.  
  32. return (u);
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement