public class Cromosoma
extends java.lang.Object
implements java.lang.Comparable
Constructor and Description |
---|
Cromosoma(int K,
Cromosoma a,
Cromosoma b,
double pCross,
int size)
Builder.
|
Cromosoma(int K,
int size,
Cromosoma a)
Builder.
|
Cromosoma(int K,
int size,
double[][] dMatrix,
double[][] datos,
double[][] real,
int[][] nominal,
boolean[][] nulo,
boolean distanceEu)
Builder.
|
Modifier and Type | Method and Description |
---|---|
void |
borrar()
Marks a chromosome for deletion
|
int |
compareTo(java.lang.Object o1)
Compare to Method
|
int |
differenceAtOne(Cromosoma a)
Test if two chromosome differ in only one gene
|
boolean |
estaEvaluado()
Tests if the chromosome is already evaluated
|
boolean |
esValido()
Tests if the chromosome is valid
|
void |
evaluacionCompleta(int nClases,
int K,
int[] clases)
Performs a full evaluation of a chromosome
|
double |
evaluacionParcial(int nClases,
int K,
int[] clases,
int ref,
double[][] dMatrix,
double umbral,
double[][] datos,
double[][] real,
int[][] nominal,
boolean[][] nulo,
boolean distanceEu)
Performs ta partial evaluation
|
int |
genesActivos()
Count the number of genes set to 1
|
double |
getFitness()
Get the fitness of a chromosome
|
double |
getFitnessAc()
Get the accuracy fitness of a chromosome
|
boolean |
getGen(int indice)
Get the value of a gene
|
int |
getVecino(int indicei,
int indicej)
Get the j-neighbour of a given instance
|
void |
mutation(int K,
double pMut,
double[][] dMatrix,
double[][] datos,
double[][] real,
int[][] nominal,
boolean[][] nulo,
boolean distanceEu)
Mutation operator
|
int |
obtenerCercano(int[] vecinos,
int J,
double[][] dMatrix,
int index,
double[][] datos,
double[][] real,
int[][] nominal,
boolean[][] nulo,
boolean distanceEu)
Obtain the nearest neighbour given a mask (cromosome)
|
double |
optimizacionLocal(int nClases,
int K,
int[] clases,
double[][] dMatrix,
double umbral,
double[][] datos,
double[][] real,
int[][] nominal,
boolean[][] nulo,
boolean distanceEu)
Performs the local search procedure of SSMA
|
void |
setGen(int pos,
boolean valor)
Set the value of a gene
|
java.lang.String |
toString()
To String Method
|
public Cromosoma(int K, int size, double[][] dMatrix, double[][] datos, double[][] real, int[][] nominal, boolean[][] nulo, boolean distanceEu)
K
- Number of neighbors of the KNN algorithmsize
- Size of the chromosomedMatrix
- Distance matrixdatos
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulo
- Reference to the training set (null values)distanceEu
- True= Euclidean distance; False= HVDMpublic Cromosoma(int K, int size, Cromosoma a)
K
- Number of neighbors of the KNN algorithmsize
- Size of the chromosomea
- Chromosome to copypublic void mutation(int K, double pMut, double[][] dMatrix, double[][] datos, double[][] real, int[][] nominal, boolean[][] nulo, boolean distanceEu)
K
- Number of neighbors of the KNN algorithmpMut
- Mutation probabilitydMatrix
- Distance matrixdatos
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulo
- Reference to the training set (null values)distanceEu
- True= Euclidean distance; False= HVDMpublic int obtenerCercano(int[] vecinos, int J, double[][] dMatrix, int index, double[][] datos, double[][] real, int[][] nominal, boolean[][] nulo, boolean distanceEu)
vecinos
- Array of neighborsJ
- instance to searchdMatrix
- Distance matrixindex
- Index of the chromosome of referencedatos
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulo
- Reference to the training set (null values)distanceEu
- True= Euclidean distance; False= HVDMpublic boolean getGen(int indice)
indice
- Index of the genepublic int getVecino(int indicei, int indicej)
indicei
- Instance to searchindicej
- Order of the neighborpublic double getFitness()
public double getFitnessAc()
public void evaluacionCompleta(int nClases, int K, int[] clases)
nClases
- Number of clasesK
- Number of neighbors of the KNN algorithmclases
- Output attribute of the instancespublic boolean esValido()
public void borrar()
public void setGen(int pos, boolean valor)
pos
- Index of the genevalor
- Value to setpublic boolean estaEvaluado()
public int genesActivos()
public double optimizacionLocal(int nClases, int K, int[] clases, double[][] dMatrix, double umbral, double[][] datos, double[][] real, int[][] nominal, boolean[][] nulo, boolean distanceEu)
nClases
- Number of clasesK
- Number of neighbors of the KNN algorithmclases
- Output attribute of the instancesdMatrix
- Distance matrixumbral
- Current thresholddatos
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulo
- Reference to the training set (null values)distanceEu
- True= Euclidean distance; False= HVDMpublic double evaluacionParcial(int nClases, int K, int[] clases, int ref, double[][] dMatrix, double umbral, double[][] datos, double[][] real, int[][] nominal, boolean[][] nulo, boolean distanceEu)
nClases
- Number of clasesK
- Number of neighbors of the KNN algorithmclases
- Output attribute of the instancesref
- Instance adjusteddMatrix
- Distance matrixumbral
- Current thresholddatos
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulo
- Reference to the training set (null values)distanceEu
- True= Euclidean distance; False= HVDMpublic int compareTo(java.lang.Object o1)
compareTo
in interface java.lang.Comparable
o1
- Chromosome to comparepublic int differenceAtOne(Cromosoma a)
a
- Chromosome to comparepublic java.lang.String toString()
toString
in class java.lang.Object