public class GAFE
extends java.lang.Object
Constructor and Description |
---|
GAFE()
Constructor.
|
GAFE(smile.gap.Selection selection,
int elitism,
smile.gap.Crossover crossover,
double crossoverRate,
double mutationRate)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
smile.gap.BitString[] |
apply(int size,
int generation,
int length,
smile.gap.Fitness<smile.gap.BitString> fitness)
Genetic algorithm based feature selection for classification.
|
static smile.gap.Fitness<smile.gap.BitString> |
fitness(double[][] x,
double[] y,
double[][] testx,
double[] testy,
RegressionMetric metric,
java.util.function.BiFunction<double[][],double[],Regression<double[]>> trainer)
Returns a regression fitness function.
|
static smile.gap.Fitness<smile.gap.BitString> |
fitness(double[][] x,
int[] y,
double[][] testx,
int[] testy,
ClassificationMetric metric,
java.util.function.BiFunction<double[][],int[],Classifier<double[]>> trainer)
Returns a classification fitness measure.
|
static smile.gap.Fitness<smile.gap.BitString> |
fitness(java.lang.String y,
smile.data.DataFrame train,
smile.data.DataFrame test,
ClassificationMetric metric,
java.util.function.BiFunction<smile.data.formula.Formula,smile.data.DataFrame,DataFrameClassifier> trainer)
Returns a classification fitness function.
|
static smile.gap.Fitness<smile.gap.BitString> |
fitness(java.lang.String y,
smile.data.DataFrame train,
smile.data.DataFrame test,
RegressionMetric metric,
java.util.function.BiFunction<smile.data.formula.Formula,smile.data.DataFrame,DataFrameRegression> trainer)
Returns a regression fitness function.
|
public GAFE()
public GAFE(smile.gap.Selection selection, int elitism, smile.gap.Crossover crossover, double crossoverRate, double mutationRate)
selection
- the selection strategy.crossover
- the strategy of crossover operation.crossoverRate
- the crossover rate.mutationRate
- the mutation rate.public smile.gap.BitString[] apply(int size, int generation, int length, smile.gap.Fitness<smile.gap.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 smile.gap.Fitness<smile.gap.BitString> fitness(double[][] x, int[] y, double[][] testx, int[] testy, ClassificationMetric metric, java.util.function.BiFunction<double[][],int[],Classifier<double[]>> trainer)
x
- training samples.y
- training labels.testx
- testing samples.testy
- testing labels.metric
- classification metric.trainer
- the lambda to train a model.public static smile.gap.Fitness<smile.gap.BitString> fitness(double[][] x, double[] y, double[][] testx, double[] testy, RegressionMetric metric, java.util.function.BiFunction<double[][],double[],Regression<double[]>> trainer)
x
- training samples.y
- training response.testx
- testing samples.testy
- testing response.metric
- classification metric.trainer
- the lambda to train a model.public static smile.gap.Fitness<smile.gap.BitString> fitness(java.lang.String y, smile.data.DataFrame train, smile.data.DataFrame test, ClassificationMetric metric, 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.metric
- classification metric.trainer
- the lambda to train a model.public static smile.gap.Fitness<smile.gap.BitString> fitness(java.lang.String y, smile.data.DataFrame train, smile.data.DataFrame test, RegressionMetric metric, 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.metric
- classification metric.trainer
- the lambda to train a model.