public class GAFE
extends java.lang.Object
Constructor and Description |
---|
GAFE()
Constructor.
|
GAFE(Selection selection,
int elitism,
Crossover crossover,
double crossoverRate,
double mutationRate)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
BitString[] |
apply(int size,
int generation,
int length,
FitnessMeasure<BitString> fitness)
Genetic algorithm based feature selection for classification.
|
static FitnessMeasure<BitString> |
fitness(double[][] x,
double[] y,
double[][] testx,
double[] testy,
RegressionMeasure measure,
java.util.function.BiFunction<double[][],double[],Regression<double[]>> trainer)
Returns a regression fitness measure.
|
static FitnessMeasure<BitString> |
fitness(double[][] x,
int[] y,
double[][] testx,
int[] testy,
ClassificationMeasure measure,
java.util.function.BiFunction<double[][],int[],Classifier<double[]>> trainer)
Returns a classification fitness measure.
|
static FitnessMeasure<BitString> |
fitness(java.lang.String y,
smile.data.DataFrame train,
smile.data.DataFrame test,
ClassificationMeasure measure,
java.util.function.BiFunction<smile.data.formula.Formula,smile.data.DataFrame,DataFrameClassifier> trainer)
Returns a classification fitness measure.
|
static FitnessMeasure<BitString> |
fitness(java.lang.String y,
smile.data.DataFrame train,
smile.data.DataFrame test,
RegressionMeasure measure,
java.util.function.BiFunction<smile.data.formula.Formula,smile.data.DataFrame,DataFrameRegression> trainer)
Returns a regression fitness measure.
|
public BitString[] apply(int size, int generation, int length, FitnessMeasure<BitString> fitness)
size
- the population size of Genetic Algorithm.generation
- the maximum number of iterations.length
- the length of bit string, i.e. the number of features.public static FitnessMeasure<BitString> fitness(double[][] x, int[] y, double[][] testx, int[] testy, ClassificationMeasure measure, java.util.function.BiFunction<double[][],int[],Classifier<double[]>> trainer)
x
- training samples.y
- training labels.testx
- testing samples.testy
- testing labels.measure
- classification measure.trainer
- the lambda to train a model.public static FitnessMeasure<BitString> fitness(double[][] x, double[] y, double[][] testx, double[] testy, RegressionMeasure measure, java.util.function.BiFunction<double[][],double[],Regression<double[]>> trainer)
x
- training samples.y
- training response.testx
- testing samples.testy
- testing response.measure
- classification measure.trainer
- the lambda to train a model.public static FitnessMeasure<BitString> fitness(java.lang.String y, smile.data.DataFrame train, smile.data.DataFrame test, ClassificationMeasure measure, java.util.function.BiFunction<smile.data.formula.Formula,smile.data.DataFrame,DataFrameClassifier> trainer)
y
- the column name of class labels.train
- training data.test
- testing data.measure
- classification measure.trainer
- the lambda to train a model.public static FitnessMeasure<BitString> fitness(java.lang.String y, smile.data.DataFrame train, smile.data.DataFrame test, RegressionMeasure measure, java.util.function.BiFunction<smile.data.formula.Formula,smile.data.DataFrame,DataFrameRegression> trainer)
y
- the column name of response variable.train
- training data.test
- testing data.measure
- classification measure.trainer
- the lambda to train a model.