public class KNN
extends java.lang.Object
Constructor and Description |
---|
KNN() |
Modifier and Type | Method and Description |
---|---|
protected static double |
distance(double[] instance1,
double[] instance2)
Calculates the Euclidean distance between two instances
|
static double |
distancia(double[] ej1,
double[] ej2)
Calculates the Euclidean distance between two instances
|
static double |
distancia(double[] ej1,
double[] ej1Real,
int[] ej1Nom,
boolean[] ej1Nul,
double[] ej2,
double[] ej2Real,
int[] ej2Nom,
boolean[] ej2Nul,
boolean Euc)
Calculates the HVDM distance between two instances
|
static double |
distancia2(double[] ej1,
double[] ej2)
Calculates the unsquared Euclidean distance between two instances
|
static double |
distancia2(double[] ej1,
double[] ej1Real,
int[] ej1Nom,
boolean[] ej1Nul,
double[] ej2,
double[] ej2Real,
int[] ej2Nom,
boolean[] ej2Nul,
boolean Euc)
Calculates the unsquared HVDM distance between two instances
|
static int |
evaluacionKNN(int nvec,
double[][] conj,
double[][] real,
int[][] nominal,
boolean[][] nulos,
int[] clases,
double[] ejemplo,
double[] ejReal,
int[] ejNominal,
boolean[] ejNulos,
int nClases,
boolean distance)
Executes KNN
|
static int |
evaluacionKNN(int nvec,
double[][] conj,
int[] clases,
double[] ejemplo,
int nClases)
Executes KNN
|
static int |
evaluacionKNN2(int nvec,
double[][] conj,
double[][] real,
int[][] nominal,
boolean[][] nulos,
int[] clases,
double[] ejemplo,
double[] ejReal,
int[] ejNominal,
boolean[] ejNulos,
int nClases,
boolean distance)
Executes KNN
|
static int |
evaluacionKNN2(int nvec,
double[][] conj,
double[][] real,
int[][] nominal,
boolean[][] nulos,
int[] clases,
double[] ejemplo,
double[] ejReal,
int[] ejNominal,
boolean[] ejNulos,
int nClases,
boolean distance,
int[] vecinos)
Executes KNN
|
static int |
evaluacionKNN2(int nvec,
double[][] conj,
double[][] real,
int[][] nominal,
boolean[][] nulos,
int[] clases,
double[] ejemplo,
double[] ejReal,
int[] ejNominal,
boolean[] ejNulos,
int nClases,
boolean distance,
Referencia nVotos)
Executes KNN
|
static int |
evaluacionKNN2(int nvec,
double[][] conj,
int[] clases,
double[] ejemplo,
int nClases)
Executes KNN
|
static int |
evaluacionKNN2(int nvec,
double[][] conj,
int[] clases,
double[] ejemplo,
int nClases,
int[] vecinos)
Executes KNN
|
static int |
evaluacionKNN2(int nvec,
double[][] conj,
int[] clases,
double[] ejemplo,
int nClases,
Referencia nVotos)
Executes KNN
|
static int[] |
evaluacionKNN3(int nvec,
double[][] conj,
double[][] real,
int[][] nominal,
boolean[][] nulos,
int[] clases,
double[] ejemplo,
double[] ejReal,
int[] ejNominal,
boolean[] ejNulos,
int nClases,
boolean distance)
Executes KNN
|
static int[] |
evaluacionKNN3(int nvec,
double[][] conj,
int[] clases,
double[] ejemplo,
int nClases)
Executes KNN
|
static int |
evaluate(double[] example,
double[][] trainData,
int nClasses,
int[] trainOutput,
int k)
Evaluates a instance to predict its class.
|
static void |
writeOutput(java.lang.String filename,
int[][] realClass,
int[][] prediction,
Attribute[] inputs,
Attribute output,
java.lang.String relation)
Prints output files.
|
public static void writeOutput(java.lang.String filename, int[][] realClass, int[][] prediction, Attribute[] inputs, Attribute output, java.lang.String relation)
filename
- Name of output filerealClass
- Real output of instancesprediction
- Predicted output for instancesinputs
- input attributes.output
- output attribute.relation
- Relation String.protected static double distance(double[] instance1, double[] instance2)
instance1
- First instanceinstance2
- Second instancepublic static int evaluate(double[] example, double[][] trainData, int nClasses, int[] trainOutput, int k)
example
- Instance evaluatedtrainData
- Training dataset.nClasses
- number of classes.trainOutput
- classes of the examples in the training dataset.k
- number of nearest neighbours considered.public static int evaluacionKNN(int nvec, double[][] conj, int[] clases, double[] ejemplo, int nClases)
nvec
- Number of neighborsconj
- Reference to the training setclases
- Output attribute of each instanceejemplo
- New instance to classifiynClases
- Number of classes of the problempublic static int evaluacionKNN2(int nvec, double[][] conj, int[] clases, double[] ejemplo, int nClases)
nvec
- Number of neighborsconj
- Reference to the training setclases
- Output attribute of each instanceejemplo
- New instance to classifiynClases
- Number of classes of the problempublic static int[] evaluacionKNN3(int nvec, double[][] conj, int[] clases, double[] ejemplo, int nClases)
nvec
- Number of neighborsconj
- Reference to the training setclases
- Output attribute of each instanceejemplo
- New instance to classifiynClases
- Number of classes of the problempublic static int evaluacionKNN2(int nvec, double[][] conj, int[] clases, double[] ejemplo, int nClases, Referencia nVotos)
nvec
- Number of neighborsconj
- Reference to the training setclases
- Output attribute of each instanceejemplo
- New instance to classifiynClases
- Number of classes of the problemnVotos
- Maximun number of votes achievedpublic static int evaluacionKNN2(int nvec, double[][] conj, int[] clases, double[] ejemplo, int nClases, int[] vecinos)
nvec
- Number of neighborsconj
- Reference to the training setclases
- Output attribute of each instanceejemplo
- New instance to classifiynClases
- Number of classes of the problemvecinos
- Neighbors of the new instancepublic static double distancia(double[] ej1, double[] ej2)
ej1
- First instanceej2
- Second instancepublic static double distancia2(double[] ej1, double[] ej2)
ej1
- First instanceej2
- Second instancepublic static int evaluacionKNN(int nvec, double[][] conj, double[][] real, int[][] nominal, boolean[][] nulos, int[] clases, double[] ejemplo, double[] ejReal, int[] ejNominal, boolean[] ejNulos, int nClases, boolean distance)
nvec
- Number of neighborsconj
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulos
- Reference to the training set (null values)clases
- Output attribute of each instanceejemplo
- New instance to classifiyejReal
- New instance to classifiy (real valued)ejNominal
- New instance to classifiy (nominal valued)ejNulos
- New instance to classifiy (null values)nClases
- Number of classes of the problemdistance
- True= Euclidean distance; False= HVDMpublic static int evaluacionKNN2(int nvec, double[][] conj, double[][] real, int[][] nominal, boolean[][] nulos, int[] clases, double[] ejemplo, double[] ejReal, int[] ejNominal, boolean[] ejNulos, int nClases, boolean distance)
nvec
- Number of neighborsconj
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulos
- Reference to the training set (null values)clases
- Output attribute of each instanceejemplo
- New instance to classifiyejReal
- New instance to classifiy (real valued)ejNominal
- New instance to classifiy (nominal valued)ejNulos
- New instance to classifiy (null values)nClases
- Number of classes of the problemdistance
- True= Euclidean distance; False= HVDMpublic static int evaluacionKNN2(int nvec, double[][] conj, double[][] real, int[][] nominal, boolean[][] nulos, int[] clases, double[] ejemplo, double[] ejReal, int[] ejNominal, boolean[] ejNulos, int nClases, boolean distance, Referencia nVotos)
nvec
- Number of neighborsconj
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulos
- Reference to the training set (null values)clases
- Output attribute of each instanceejemplo
- New instance to classifiyejReal
- New instance to classifiy (real valued)ejNominal
- New instance to classifiy (nominal valued)ejNulos
- New instance to classifiy (null values)nClases
- Number of classes of the problemdistance
- True= Euclidean distance; False= HVDMnVotos
- Maximun number of votes achievedpublic static int[] evaluacionKNN3(int nvec, double[][] conj, double[][] real, int[][] nominal, boolean[][] nulos, int[] clases, double[] ejemplo, double[] ejReal, int[] ejNominal, boolean[] ejNulos, int nClases, boolean distance)
nvec
- Number of neighborsconj
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulos
- Reference to the training set (null values)clases
- Output attribute of each instanceejemplo
- New instance to classifiyejReal
- New instance to classifiy (real valued)ejNominal
- New instance to classifiy (nominal valued)ejNulos
- New instance to classifiy (null values)nClases
- Number of classes of the problemdistance
- True= Euclidean distance; False= HVDMpublic static int evaluacionKNN2(int nvec, double[][] conj, double[][] real, int[][] nominal, boolean[][] nulos, int[] clases, double[] ejemplo, double[] ejReal, int[] ejNominal, boolean[] ejNulos, int nClases, boolean distance, int[] vecinos)
nvec
- Number of neighborsconj
- Reference to the training setreal
- Reference to the training set (real valued)nominal
- Reference to the training set (nominal valued)nulos
- Reference to the training set (null values)clases
- Output attribute of each instanceejemplo
- New instance to classifiyejReal
- New instance to classifiy (real valued)ejNominal
- New instance to classifiy (nominal valued)ejNulos
- New instance to classifiy (null values)nClases
- Number of classes of the problemdistance
- True= Euclidean distance; False= HVDMvecinos
- Neighbors of the new instancepublic static double distancia(double[] ej1, double[] ej1Real, int[] ej1Nom, boolean[] ej1Nul, double[] ej2, double[] ej2Real, int[] ej2Nom, boolean[] ej2Nul, boolean Euc)
ej1
- First instanceej1Real
- First instance (Real valued)ej1Nom
- First instance (Nominal valued)ej1Nul
- First instance (Null values)ej2
- Second instanceej2Real
- First instance (Real valued)ej2Nom
- First instance (Nominal valued)ej2Nul
- First instance (Null values)Euc
- Use euclidean distance instead of HVDMpublic static double distancia2(double[] ej1, double[] ej1Real, int[] ej1Nom, boolean[] ej1Nul, double[] ej2, double[] ej2Real, int[] ej2Nom, boolean[] ej2Nul, boolean Euc)
ej1
- First instanceej1Real
- First instance (Real valued)ej1Nom
- First instance (Nominal valued)ej1Nul
- First instance (Null values)ej2
- Second instanceej2Real
- First instance (Real valued)ej2Nom
- First instance (Nominal valued)ej2Nul
- First instance (Null values)Euc
- Use euclidean distance instead of HVDM