## Uses of Interface
org.apache.ignite.ml.math.functions.IgniteFunction

- Packages that use IgniteFunction
  Package | Description
  --- | ---
  org.apache.ignite.ml | Root ML package.
  org.apache.ignite.ml.composition | Contains classes for ensemble of models implementation.
  org.apache.ignite.ml.composition.boosting | Contains Gradient Boosting regression and classification abstract classes allowing regressor type selecting in child classes.
  org.apache.ignite.ml.composition.boosting.convergence | Package contains implementation of convergence checking algorithms for gradient boosting.
  org.apache.ignite.ml.composition.boosting.convergence.mean | Contains implementation of convergence checking computer by mean of absolute value of errors in dataset.
  org.apache.ignite.ml.composition.boosting.convergence.median | Contains implementation of convergence checking computer by median of medians of errors in dataset.
  org.apache.ignite.ml.composition.boosting.convergence.simple | Contains implementation of Stub for convergence checking.
  org.apache.ignite.ml.composition.combinators.sequential | Contains sequential combinators of trainers and models.
  org.apache.ignite.ml.composition.predictionsaggregator | Contains classes for several predictions aggregation strategies working with predictions vector from models ensemble.
  org.apache.ignite.ml.composition.stacking | Contains classes used for training with stacking technique.
  org.apache.ignite.ml.dataset | Base package for machine learning dataset classes.
  org.apache.ignite.ml.dataset.impl.cache.util | Contains util classes used in cache based implementation of dataset.
  org.apache.ignite.ml.environment | Package contains environment utils for ML algorithms.
  org.apache.ignite.ml.environment.logging | Package contains several logging strategy realisations.
  org.apache.ignite.ml.environment.parallelism | Package contains realisations of parallelism strategies for multi-thread algorithms.
  org.apache.ignite.ml.math.functions | Contains serializable functions for distributed code algebra.
  org.apache.ignite.ml.math.primitives.matrix | Contains matrix related classes.
  org.apache.ignite.ml.math.primitives.vector | Contains vector related classes.
  org.apache.ignite.ml.nn | Contains neural networks and related classes.
  org.apache.ignite.ml.optimization | Contains implementations of optimization algorithms and related classes.
  org.apache.ignite.ml.optimization.updatecalculators | Contains update calculators.
  org.apache.ignite.ml.preprocessing | Base package for machine learning preprocessing classes.
  org.apache.ignite.ml.preprocessing.developer | Contains Developer API preprocessors.
  org.apache.ignite.ml.trainers | Contains model trainers.
  org.apache.ignite.ml.tree.randomforest.data | Package contains helper data structures for random forest implementation.
  org.apache.ignite.ml.util.generators | Contains utility classes for data streams generation.
  org.apache.ignite.ml.util.generators.primitives.scalar | Contains generators of pseudo-random scalars in according to specific distribution.
  org.apache.ignite.ml.util.generators.primitives.vector | Contains generators of pseudo-random vectors in according to specific distribution.
  org.apache.ignite.ml.util.generators.standard | Contains classes for predefined data stream generators.

- - ### Uses of IgniteFunction in org.apache.ignite.ml

    Methods in org.apache.ignite.ml with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <V1> IgniteModel<V1,V>` | IgniteModel.`andBefore(IgniteFunction<V1,T> before)` Get a composition model of the form `x -> mdl(before(x))`.
    `default <V1> IgniteModel<T,V1>` | IgniteModel.`andThen(IgniteFunction<V,V1> after)` Get a composition model of the form `x -> after(mdl(x))`.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition

    Methods in org.apache.ignite.ml.composition with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <L> DatasetMapping<L,L>` | DatasetMapping.`mappingFeatures(IgniteFunction<Vector,Vector> mapper)` Dataset mapping which maps features, leaving labels unaffected.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.boosting

    Fields in org.apache.ignite.ml.composition.boosting declared as IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `protected IgniteFunction<Double,Double>` | GDBLearningStrategy.`externalLbToInternalMapping` External label to internal mapping.

    Methods in org.apache.ignite.ml.composition.boosting with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `GDBLearningStrategy` | GDBLearningStrategy.`withExternalLabelToInternal(IgniteFunction<Double,Double> externalLbToInternal)` Sets external to internal label representation mapping.

    Constructors in org.apache.ignite.ml.composition.boosting with parameters of type IgniteFunction
    Constructor and Description
    `GDBModel(List<? extends IgniteModel<Vector,Double>> models, WeightedPredictionsAggregator predictionsAggregator, IgniteFunction<Double,Double> internalToExternalLblMapping)` Creates an instance of GDBModel.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.boosting.convergence

    Methods in org.apache.ignite.ml.composition.boosting.convergence with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `abstract <K,V> ConvergenceChecker<K,V>` | ConvergenceCheckerFactory.`create(long sampleSize, IgniteFunction<Double,Double> externalLbToInternalMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> vectorizer)` Create an instance of ConvergenceChecker.

    Constructors in org.apache.ignite.ml.composition.boosting.convergence with parameters of type IgniteFunction
    Constructor and Description
    `ConvergenceChecker(long sampleSize, IgniteFunction<Double,Double> externalLbToInternalMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> preprocessor, double precision)` Constructs an instance of ConvergenceChecker.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.boosting.convergence.mean

    Methods in org.apache.ignite.ml.composition.boosting.convergence.mean with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `<K,V> ConvergenceChecker<K,V>` | MeanAbsValueConvergenceCheckerFactory.`create(long sampleSize, IgniteFunction<Double,Double> externalLbToInternalMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> preprocessor)` Create an instance of ConvergenceChecker.

    Constructors in org.apache.ignite.ml.composition.boosting.convergence.mean with parameters of type IgniteFunction
    Constructor and Description
    `MeanAbsValueConvergenceChecker(long sampleSize, IgniteFunction<Double,Double> externalLbToInternalMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> preprocessor, double precision)` Creates an instance of MeanAbsValueConvergenceChecker.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.boosting.convergence.median

    Methods in org.apache.ignite.ml.composition.boosting.convergence.median with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `<K,V> ConvergenceChecker<K,V>` | MedianOfMedianConvergenceCheckerFactory.`create(long sampleSize, IgniteFunction<Double,Double> externalLbToInternalMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> preprocessor)` Create an instance of ConvergenceChecker.

    Constructors in org.apache.ignite.ml.composition.boosting.convergence.median with parameters of type IgniteFunction
    Constructor and Description
    `MedianOfMedianConvergenceChecker(long sampleSize, IgniteFunction<Double,Double> lblMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> preprocessor, double precision)` Creates an instance of MedianOfMedianConvergenceChecker.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.boosting.convergence.simple

    Methods in org.apache.ignite.ml.composition.boosting.convergence.simple with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `<K,V> ConvergenceChecker<K,V>` | ConvergenceCheckerStubFactory.`create(long sampleSize, IgniteFunction<Double,Double> externalLbToInternalMapping, Loss loss, DatasetBuilder<K,V> datasetBuilder, Preprocessor<K,V> preprocessor)` Create an instance of ConvergenceChecker.

    Constructors in org.apache.ignite.ml.composition.boosting.convergence.simple with parameters of type IgniteFunction
    Constructor and Description
    `ConvergenceCheckerStub(long sampleSize, IgniteFunction externalLbToInternalMapping, Loss loss, DatasetBuilder datasetBuilder, Preprocessor<K,V> preprocessor, double precision)` Creates an instance of ConvergenceCheckerStub.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.combinators.sequential

    Fields in org.apache.ignite.ml.composition.combinators.sequential with type parameters of type IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `protected IgniteBiFunction<Integer,? super IgniteModel<I,O1>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>>` | TrainersSequentialComposition.`datasetMapping` Dataset mapping.

    Methods in org.apache.ignite.ml.composition.combinators.sequential with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <I,O,L> TrainersSequentialComposition<I,O,O,L>` | TrainersSequentialComposition.`ofSame(DatasetTrainer<? extends IgniteModel<I,O>,L> tr, IgniteBiFunction<Integer,? super IgniteModel<I,O>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMapping, IgniteBiPredicate<Integer,IgniteModel<I,O>> shouldStop, IgniteFunction<O,I> out2In)` Construct sequential composition of same trainers.
    `static <I,O> ModelsSequentialComposition<I,O,O>` | ModelsSequentialComposition.`ofSame(List<? extends IgniteModel<I,O>> lst, IgniteFunction<O,I> output2Input)` Get sequential composition of submodels with same type.

    Method parameters in org.apache.ignite.ml.composition.combinators.sequential with type arguments of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <I,O,L> TrainersSequentialComposition<I,O,O,L>` | TrainersSequentialComposition.`ofSame(DatasetTrainer<? extends IgniteModel<I,O>,L> tr, IgniteBiFunction<Integer,? super IgniteModel<I,O>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMapping, IgniteBiPredicate<Integer,IgniteModel<I,O>> shouldStop, IgniteFunction<O,I> out2In)` Construct sequential composition of same trainers.

    Constructors in org.apache.ignite.ml.composition.combinators.sequential with parameters of type IgniteFunction
    Constructor and Description
    `TrainersSequentialComposition(DatasetTrainer<? extends IgniteModel<I,O1>,L> tr1, DatasetTrainer<? extends IgniteModel<O1,O2>,L> tr2, IgniteFunction<? super IgniteModel<I,O1>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMapping)` Construct sequential composition of given two trainers.

    Constructor parameters in org.apache.ignite.ml.composition.combinators.sequential with type arguments of type IgniteFunction
    Constructor and Description
    `TrainersSequentialComposition(DatasetTrainer<? extends IgniteModel<I,O1>,L> tr1, DatasetTrainer<? extends IgniteModel<O1,O2>,L> tr2, IgniteBiFunction<Integer,? super IgniteModel<I,O1>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMapping)` Create sequential composition of two trainers.
    `TrainersSequentialComposition(DatasetTrainer<? extends IgniteModel<I,O1>,L> tr1, DatasetTrainer<? extends IgniteModel<O1,O2>,L> tr2, IgniteFunction<? super IgniteModel<I,O1>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMapping)` Construct sequential composition of given two trainers.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.predictionsaggregator

    Subinterfaces of IgniteFunction in org.apache.ignite.ml.composition.predictionsaggregator
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PredictionsAggregator` Predictions aggregator interface.

    Classes in org.apache.ignite.ml.composition.predictionsaggregator that implement IgniteFunction
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MeanValuePredictionsAggregator` Predictions aggregator returning the mean value of predictions.
    `class` | `OnMajorityPredictionsAggregator` Predictions aggregator returning the most frequently prediction.
    `class` | `WeightedPredictionsAggregator` Predictions aggregator returning weighted plus of predictions.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.composition.stacking

    Methods in org.apache.ignite.ml.composition.stacking with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `<L1> SimpleStackedDatasetTrainer<I,O,AM,L1>` | SimpleStackedDatasetTrainer.`withConvertedLabels(IgniteFunction<L1,L> new2Old)` Creates `DatasetTrainer` with same training logic, but able to accept labels of given new type of labels.
    `<L1> StackedVectorDatasetTrainer<O,AM,L1>` | StackedVectorDatasetTrainer.`withConvertedLabels(IgniteFunction<L1,L> new2Old)` Creates `DatasetTrainer` with same training logic, but able to accept labels of given new type of labels.
    `SimpleStackedDatasetTrainer<I,O,AM,L>` | SimpleStackedDatasetTrainer.`withOriginalFeaturesKept(IgniteFunction<I,I> submodelInput2AggregatingInputConverter)` Keep original features during training and propagate submodels input to aggregator during inference using given function.
    `StackedDatasetTrainer<IS,IA,O,AM,L>` | StackedDatasetTrainer.`withOriginalFeaturesKept(IgniteFunction<IS,IA> submodelInput2AggregatingInputConverter)` Keep original features during training and propagate submodels input to aggregator during inference using given function.
    `StackedVectorDatasetTrainer<O,AM,L>` | StackedVectorDatasetTrainer.`withOriginalFeaturesKept(IgniteFunction<Vector,Vector> submodelInput2AggregatingInputConverter)` Keep original features during training and propagate submodels input to aggregator during inference using given function.
    `StackedDatasetTrainer<IS,IA,O,AM,L>` | StackedDatasetTrainer.`withSubmodelOutput2VectorConverter(IgniteFunction<IA,Vector> submodelOutput2VectorConverter)` Set function used for conversion of submodel output to `Vector`.
    `StackedVectorDatasetTrainer<O,AM,L>` | StackedVectorDatasetTrainer.`withSubmodelOutput2VectorConverter(IgniteFunction<Vector,Vector> submodelOutput2VectorConverter)` Set function used for conversion of submodel output to `Vector`.
    `StackedDatasetTrainer<IS,IA,O,AM,L>` | StackedDatasetTrainer.`withVector2SubmodelInputConverter(IgniteFunction<Vector,IS> vector2SubmodelInputConverter)` Set function used for conversion of `Vector` to submodel input.
    `StackedVectorDatasetTrainer<O,AM,L>` | StackedVectorDatasetTrainer.`withVector2SubmodelInputConverter(IgniteFunction<Vector,Vector> vector2SubmodelInputConverter)` Set function used for conversion of `Vector` to submodel input.

    Constructors in org.apache.ignite.ml.composition.stacking with parameters of type IgniteFunction
    Constructor and Description
    `SimpleStackedDatasetTrainer(DatasetTrainer<AM,L> aggregatingTrainer, IgniteBinaryOperator<I> aggregatingInputMerger, IgniteFunction<I,I> submodelInput2AggregatingInputConverter, IgniteFunction<Vector,I> vector2SubmodelInputConverter, IgniteFunction<I,Vector> submodelOutput2VectorConverter)` Construct instance of this class.
    `SimpleStackedDatasetTrainer(DatasetTrainer<AM,L> aggregatingTrainer, IgniteBinaryOperator<I> aggregatingInputMerger, IgniteFunction<I,I> submodelInput2AggregatingInputConverter, IgniteFunction<Vector,I> vector2SubmodelInputConverter, IgniteFunction<I,Vector> submodelOutput2VectorConverter)` Construct instance of this class.
    `SimpleStackedDatasetTrainer(DatasetTrainer<AM,L> aggregatingTrainer, IgniteBinaryOperator<I> aggregatingInputMerger, IgniteFunction<I,I> submodelInput2AggregatingInputConverter, IgniteFunction<Vector,I> vector2SubmodelInputConverter, IgniteFunction<I,Vector> submodelOutput2VectorConverter)` Construct instance of this class.
    `StackedDatasetTrainer(DatasetTrainer<AM,L> aggregatorTrainer, IgniteBinaryOperator<IA> aggregatingInputMerger, IgniteFunction<IS,IA> submodelInput2AggregatingInputConverter)` Constructs instance of this class.
    `StackedDatasetTrainer(DatasetTrainer<AM,L> aggregatorTrainer, IgniteBinaryOperator<IA> aggregatingInputMerger, IgniteFunction<IS,IA> submodelInput2AggregatingInputConverter, List<DatasetTrainer<IgniteModel<IS,IA>,L>> submodelsTrainers, IgniteFunction<Vector,IS> vector2SubmodelInputConverter, IgniteFunction<IA,Vector> submodelOutput2VectorConverter)` Create instance of this class.
    `StackedDatasetTrainer(DatasetTrainer<AM,L> aggregatorTrainer, IgniteBinaryOperator<IA> aggregatingInputMerger, IgniteFunction<IS,IA> submodelInput2AggregatingInputConverter, List<DatasetTrainer<IgniteModel<IS,IA>,L>> submodelsTrainers, IgniteFunction<Vector,IS> vector2SubmodelInputConverter, IgniteFunction<IA,Vector> submodelOutput2VectorConverter)` Create instance of this class.
    `StackedDatasetTrainer(DatasetTrainer<AM,L> aggregatorTrainer, IgniteBinaryOperator<IA> aggregatingInputMerger, IgniteFunction<IS,IA> submodelInput2AggregatingInputConverter, List<DatasetTrainer<IgniteModel<IS,IA>,L>> submodelsTrainers, IgniteFunction<Vector,IS> vector2SubmodelInputConverter, IgniteFunction<IA,Vector> submodelOutput2VectorConverter)` Create instance of this class.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.dataset

    Methods in org.apache.ignite.ml.dataset with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <C2 extends Serializable> PartitionContextBuilder<K,V,C2>` | PartitionContextBuilder.`andThen(IgniteFunction<C,C2> fun)` Makes a composed partition `context` builder that first builds a `context` and then applies the specified function on the result.
    `default <R> R` | Dataset.`compute(IgniteFunction<D,R> map, IgniteBinaryOperator<R> reduce)` Applies the specified `map` function to every partition `data` in the dataset and then reduces `map` results to final result by using the `reduce` function.
    `default <R> R` | Dataset.`compute(IgniteFunction<D,R> map, IgniteBinaryOperator<R> reduce, R identity)` Applies the specified `map` function to every partition `data` in the dataset and then reduces `map` results to final result by using the `reduce` function.
    `default <I extends Dataset<C,D>> I` | Dataset.`wrap(IgniteFunction<Dataset<C,D>,I> wrapper)` Wraps this dataset into the specified wrapper to introduce new functionality based on `compute` and `computeWithCtx` methods.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.dataset.impl.cache.util

    Methods in org.apache.ignite.ml.dataset.impl.cache.util with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <R> Collection<R>` | ComputeUtils.`affinityCallWithRetries(Ignite ignite, Collection<String> cacheNames, IgniteFunction<Integer,R> fun, int retries, DeployingContext deployingContext)` Calls the specified `fun` function on all partitions so that is't guaranteed that partitions with the same index of all specified caches will be placed on the same node and will not be moved before computation is finished.
    `static <R> Collection<R>` | ComputeUtils.`affinityCallWithRetries(Ignite ignite, Collection<String> cacheNames, IgniteFunction<Integer,R> fun, int retries, int interval, DeployingContext deployingCtx)` Calls the specified `fun` function on all partitions so that is't guaranteed that partitions with the same index of all specified caches will be placed on the same node and will not be moved before computation is finished.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.environment

    Methods in org.apache.ignite.ml.environment with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `DefaultLearningEnvironmentBuilder` | DefaultLearningEnvironmentBuilder.`withLoggingFactoryDependency(IgniteFunction<Integer,MLLogger.Factory> loggingFactory)` Specify dependency (partition -> logging factory).
    `LearningEnvironmentBuilder` | LearningEnvironmentBuilder.`withLoggingFactoryDependency(IgniteFunction<Integer,MLLogger.Factory> loggingFactory)` Specify dependency (partition -> logging factory).
    `DefaultLearningEnvironmentBuilder` | DefaultLearningEnvironmentBuilder.`withParallelismStrategyDependency(IgniteFunction<Integer,ParallelismStrategy> stgy)` Specifies dependency (partition -> Parallelism Strategy for LearningEnvironment).
    `LearningEnvironmentBuilder` | LearningEnvironmentBuilder.`withParallelismStrategyDependency(IgniteFunction<Integer,ParallelismStrategy> stgy)` Specifies dependency (partition -> Parallelism Strategy for LearningEnvironment).
    `DefaultLearningEnvironmentBuilder` | DefaultLearningEnvironmentBuilder.`withParallelismStrategyTypeDependency(IgniteFunction<Integer,ParallelismStrategy.Type> stgyType)` Specifies dependency (partition -> Parallelism Strategy Type for LearningEnvironment).
    `LearningEnvironmentBuilder` | LearningEnvironmentBuilder.`withParallelismStrategyTypeDependency(IgniteFunction<Integer,ParallelismStrategy.Type> stgyType)` Specifies dependency (partition -> Parallelism Strategy Type for LearningEnvironment).
    `LearningEnvironmentBuilder` | DefaultLearningEnvironmentBuilder.`withRandomDependency(IgniteFunction<Integer,Random> rngSupplier)` Specify dependency (partition -> random numbers generator).
    `LearningEnvironmentBuilder` | LearningEnvironmentBuilder.`withRandomDependency(IgniteFunction<Integer,Random> rngSupplier)` Specify dependency (partition -> random numbers generator).
    `LearningEnvironmentBuilder` | DefaultLearningEnvironmentBuilder.`withRNGSeedDependency(IgniteFunction<Integer,Long> seed)` Specify dependency (partition -> seed for random number generator).
    `LearningEnvironmentBuilder` | LearningEnvironmentBuilder.`withRNGSeedDependency(IgniteFunction<Integer,Long> seed)` Specify dependency (partition -> seed for random number generator).

  - ### Uses of IgniteFunction in org.apache.ignite.ml.environment.logging

    Fields in org.apache.ignite.ml.environment.logging declared as IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `static IgniteFunction<Integer,MLLogger.Factory>` | ConsoleLogger.Factory.`HIGH` High.
    `static IgniteFunction<Integer,MLLogger.Factory>` | ConsoleLogger.Factory.`LOW` Low.
    `static IgniteFunction<Integer,MLLogger.Factory>` | ConsoleLogger.Factory.`OFF` Offset.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.environment.parallelism

    Fields in org.apache.ignite.ml.environment.parallelism declared as IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `static IgniteFunction<Integer,ParallelismStrategy.Type>` | ParallelismStrategy.`NO_PARALLELISM` No parallelism.
    `static IgniteFunction<Integer,ParallelismStrategy.Type>` | ParallelismStrategy.`ON_DEFAULT_POOL` On default pool.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.math.functions

    Subinterfaces of IgniteFunction in org.apache.ignite.ml.math.functions
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `IgniteCurriedBiFunction<A,B,T>` Serializable binary function.
    `interface` | `IgniteCurriedTriFunction<A,B,C,D>` Serializable curried tri-function.
    `interface` | `IgniteDifferentiableVectorToDoubleFunction` Interface for differentiable functions from vector to double.

    Methods in org.apache.ignite.ml.math.functions that return IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <V> IgniteFunction<T,V>` | IgniteFunction.`andThen(IgniteFunction<? super R,? extends V> after)` Compose this function and given function.
    `static <T,R> IgniteFunction<T,R>` | IgniteFunction.`constant(R r)` `IgniteFunction` returning specified constant.
    `static <T> IgniteFunction<T,T>` | IgniteFunction.`identity()` Identity function.
    `static <A,B> IgniteFunction<A,IgniteSupplier<B>>` | Functions.`outputSupplier(IgniteFunction<A,B> f)` Transform function of form a -> b into a -> (() -> b).

    Methods in org.apache.ignite.ml.math.functions with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <V> IgniteBiFunction<T,U,V>` | IgniteBiFunction.`andThen(IgniteFunction<? super R,? extends V> after)`
    `default <V> IgniteFunction<T,V>` | IgniteFunction.`andThen(IgniteFunction<? super R,? extends V> after)` Compose this function and given function.
    `static <A,B extends Comparable<B>> IgniteBiTuple<Integer,A>` | Functions.`argmin(List<A> args, IgniteFunction<A,B> f)`
    `static <A,B> IgniteFunction<A,IgniteSupplier<B>>` | Functions.`outputSupplier(IgniteFunction<A,B> f)` Transform function of form a -> b into a -> (() -> b).

  - ### Uses of IgniteFunction in org.apache.ignite.ml.math.primitives.matrix

    Methods in org.apache.ignite.ml.math.primitives.matrix with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `Vector` | Matrix.`foldColumns(IgniteFunction<Vector,Double> fun)` Collects the results of applying a given function to all columns in this matrix.
    `Vector` | AbstractMatrix.`foldColumns(IgniteFunction<Vector,Double> fun)` Collects the results of applying a given function to all columns in this matrix.
    `Vector` | Matrix.`foldRows(IgniteFunction<Vector,Double> fun)` Collects the results of applying a given function to all rows in this matrix.
    `Vector` | AbstractMatrix.`foldRows(IgniteFunction<Vector,Double> fun)` Collects the results of applying a given function to all rows in this matrix.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.math.primitives.vector

    Methods in org.apache.ignite.ml.math.primitives.vector that return IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `static IgniteFunction<Vector,Vector>` | VectorUtils.`getProjector(int[] mapping)` Get projector from index mapping.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.nn

    Methods in org.apache.ignite.ml.nn that return IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `IgniteFunction<List<U>,U>` | UpdatesStrategy.`allUpdatesReducer()` Get function used to reduce updates from different trainings (for example, averaging of gradients of all parallel trainings).
    `IgniteFunction<Dataset<EmptyContext,SimpleLabeledDatasetData>,MLPArchitecture>` | MLPTrainer.`getArchSupplier()` Get the multilayer perceptron architecture supplier that defines layers and activators.
    `IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | MLPTrainer.`getLoss()` Get the loss function to be minimized during the training.
    `IgniteFunction<List<U>,U>` | UpdatesStrategy.`locStepUpdatesReducer()` Get function used to reduce updates in one training (for example, sum all sequential gradient updates to get one gradient update).

    Methods in org.apache.ignite.ml.nn with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `Vector` | MultilayerPerceptron.`differentiateByParameters(IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss, Matrix inputsBatch, Matrix truthBatch)` Compose function in the following way: feed output of this model as input to second argument to loss function.
    `MLPTrainer<P>` | MLPTrainer.`withArchSupplier(IgniteFunction<Dataset<EmptyContext,SimpleLabeledDatasetData>,MLPArchitecture> archSupplier)` Set up the multilayer perceptron architecture supplier that defines layers and activators.
    `MLPTrainer<P>` | MLPTrainer.`withLoss(IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)` Set up the loss function to be minimized during the training.

    Constructors in org.apache.ignite.ml.nn with parameters of type IgniteFunction
    Constructor and Description
    `MLPTrainer(IgniteFunction<Dataset<EmptyContext,SimpleLabeledDatasetData>,MLPArchitecture> archSupplier, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss, UpdatesStrategy<? super MultilayerPerceptron,P> updatesStgy, int maxIterations, int batchSize, int locIterations, long seed)` Constructs a new instance of multilayer perceptron trainer.
    `MLPTrainer(IgniteFunction<Dataset<EmptyContext,SimpleLabeledDatasetData>,MLPArchitecture> archSupplier, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss, UpdatesStrategy<? super MultilayerPerceptron,P> updatesStgy, int maxIterations, int batchSize, int locIterations, long seed)` Constructs a new instance of multilayer perceptron trainer.
    `MLPTrainer(MLPArchitecture arch, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss, UpdatesStrategy<? super MultilayerPerceptron,P> updatesStgy, int maxIterations, int batchSize, int locIterations, long seed)` Constructs a new instance of multilayer perceptron trainer.
    `UpdatesStrategy(ParameterUpdateCalculator<M,U> updatesCalculator, IgniteFunction<List<U>,U> locStepUpdatesReducer, IgniteFunction<List<U>,U> allUpdatesReducer)` Construct instance of this class with given parameters.
    `UpdatesStrategy(ParameterUpdateCalculator<M,U> updatesCalculator, IgniteFunction<List<U>,U> locStepUpdatesReducer, IgniteFunction<List<U>,U> allUpdatesReducer)` Construct instance of this class with given parameters.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.optimization

    Fields in org.apache.ignite.ml.optimization declared as IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `static IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | LossFunctions.`HINGE` Hinge loss function.
    `static IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | LossFunctions.`L1` L1 loss function.
    `static IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | LossFunctions.`L2` L2 loss function.
    `static IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | LossFunctions.`LOG` Log loss function.
    `static IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | LossFunctions.`MSE` Mean squared error loss function.

    Methods in org.apache.ignite.ml.optimization with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `Vector` | SmoothParametrized.`differentiateByParameters(IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss, Matrix inputsBatch, Matrix truthBatch)` Compose function in the following way: feed output of this model as input to second argument to loss function.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.optimization.updatecalculators

    Fields in org.apache.ignite.ml.optimization.updatecalculators declared as IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `static IgniteFunction<List<RPropParameterUpdate>,RPropParameterUpdate>` | RPropParameterUpdate.`AVG` Averages updates returned by different trainings.
    `static IgniteFunction<List<SimpleGDParameterUpdate>,SimpleGDParameterUpdate>` | SimpleGDParameterUpdate.`AVG` Method used to sum updates inside of one of parallel trainings.
    `protected IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | SimpleGDUpdateCalculator.`loss` Loss function.
    `protected IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction>` | RPropUpdateCalculator.`loss` Loss function.
    `static IgniteFunction<List<RPropParameterUpdate>,RPropParameterUpdate>` | RPropParameterUpdate.`SUM` Sums updates returned by different trainings.
    `static IgniteFunction<List<RPropParameterUpdate>,RPropParameterUpdate>` | RPropParameterUpdate.`SUM_LOCAL` Sums updates during one training.
    `static IgniteFunction<List<SimpleGDParameterUpdate>,SimpleGDParameterUpdate>` | SimpleGDParameterUpdate.`SUM_LOCAL` Method used to get total update of all parallel trainings.

    Methods in org.apache.ignite.ml.optimization.updatecalculators with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `NesterovParameterUpdate` | NesterovUpdateCalculator.`init(M mdl, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)` Initializes the update calculator.
    `P` | ParameterUpdateCalculator.`init(M mdl, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)` Initializes the update calculator.
    `SimpleGDParameterUpdate` | SimpleGDUpdateCalculator.`init(SmoothParametrized mdl, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)` Initializes the update calculator.
    `RPropParameterUpdate` | RPropUpdateCalculator.`init(SmoothParametrized mdl, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)` Initializes the update calculator.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.preprocessing

    Methods in org.apache.ignite.ml.preprocessing with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <L1,L2> Preprocessor<K,V>` | Preprocessor.`map(IgniteFunction<LabeledVector<L1>,LabeledVector<L2>> func)` Map vectorizer answer.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.preprocessing.developer

    Constructors in org.apache.ignite.ml.preprocessing.developer with parameters of type IgniteFunction
    Constructor and Description
    `MappedPreprocessor(Preprocessor<K,V> original, IgniteFunction<LabeledVector<L0>,LabeledVector<L1>> andThen)` Creates an instance of MappedPreprocessor.
    `PatchedPreprocessor(IgniteFunction<LabeledVector<L1>,LabeledVector<L2>> lbPatcher, Preprocessor<K,V> basePreprocessor)` Constructs a new instance of Binarization preprocessor.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.trainers

    Methods in org.apache.ignite.ml.trainers with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `AdaptableDatasetTrainer<I,O,IW,OW,M,L>` | AdaptableDatasetTrainer.`afterFeatureExtractor(IgniteFunction<Vector,Vector> after)` Specify function which will be applied after feature extractor.
    `AdaptableDatasetTrainer<I,O,IW,OW,M,L>` | AdaptableDatasetTrainer.`afterLabelExtractor(IgniteFunction<L,L> after)` Specify function which will be applied after label extractor.
    `<O1> AdaptableDatasetTrainer<I,O1,IW,OW,M,L>` | AdaptableDatasetTrainer.`afterTrainedModel(IgniteFunction<O,O1> after)` Let this trainer produce model `mdl`.
    `<I1> AdaptableDatasetModel<I1,O,IW,OW,M>` | AdaptableDatasetModel.`andBefore(IgniteFunction<I1,I> before)` Create new `AdaptableDatasetModel` which is a composition of the form `thisMdl . before`.
    `<O1,M1 extends IgniteModel<O,O1>> TrainersSequentialComposition<I,O,O1,L>` | AdaptableDatasetTrainer.`andThen(DatasetTrainer<M1,L> tr, IgniteFunction<AdaptableDatasetModel<I,O,IW,OW,M>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMappingProducer)` Create a `TrainersSequentialComposition` of this trainer and specified trainer.
    `<I1> AdaptableDatasetTrainer<I1,O,IW,OW,M,L>` | AdaptableDatasetTrainer.`beforeTrainedModel(IgniteFunction<I1,I> before)` Let this trainer produce model `mdl`.
    `<L1> DatasetTrainer<M,L1>` | DatasetTrainer.`withConvertedLabels(IgniteFunction<L1,L> new2Old)` Creates `DatasetTrainer` with same training logic, but able to accept labels of given new type of labels.

    Method parameters in org.apache.ignite.ml.trainers with type arguments of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `<O1,M1 extends IgniteModel<O,O1>> TrainersSequentialComposition<I,O,O1,L>` | AdaptableDatasetTrainer.`andThen(DatasetTrainer<M1,L> tr, IgniteFunction<AdaptableDatasetModel<I,O,IW,OW,M>,IgniteFunction<LabeledVector<L>,LabeledVector<L>>> datasetMappingProducer)` Create a `TrainersSequentialComposition` of this trainer and specified trainer.

    Constructors in org.apache.ignite.ml.trainers with parameters of type IgniteFunction
    Constructor and Description
    `AdaptableDatasetModel(IgniteFunction<I,IW> before, M mdl, IgniteFunction<OW,O> after)` Construct instance of this class.
    `AdaptableDatasetModel(IgniteFunction<I,IW> before, M mdl, IgniteFunction<OW,O> after)` Construct instance of this class.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.tree.randomforest.data

    Fields in org.apache.ignite.ml.tree.randomforest.data declared as IgniteFunction
    Modifier and Type | Field and Description
    --- | ---
    `static IgniteFunction<List<FeatureMeta>,Integer>` | FeaturesCountSelectionStrategies.`ALL`
    `static IgniteFunction<List<FeatureMeta>,Integer>` | FeaturesCountSelectionStrategies.`LOG2`
    `static IgniteFunction<List<FeatureMeta>,Integer>` | FeaturesCountSelectionStrategies.`ONE_THIRD`
    `static IgniteFunction<List<FeatureMeta>,Integer>` | FeaturesCountSelectionStrategies.`SQRT`

  - ### Uses of IgniteFunction in org.apache.ignite.ml.util.generators

    Methods in org.apache.ignite.ml.util.generators with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default Stream<LabeledVector<Double>>` | DataStreamGenerator.`labeled(IgniteFunction<Vector,Double> classifier)`
    `default DataStreamGenerator` | DataStreamGenerator.`mapVectors(IgniteFunction<Vector,Vector> f)` Apply user defined mapper to vectors stream without labels hiding.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.util.generators.primitives.scalar

    Methods in org.apache.ignite.ml.util.generators.primitives.scalar that return IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default IgniteFunction<Double,Double>` | RandomProducer.`noizify(IgniteFunction<Double,Double> f)` Adds value generated by random producer to function value.

    Methods in org.apache.ignite.ml.util.generators.primitives.scalar with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `default IgniteFunction<Double,Double>` | RandomProducer.`noizify(IgniteFunction<Double,Double> f)` Adds value generated by random producer to function value.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.util.generators.primitives.vector

    Methods in org.apache.ignite.ml.util.generators.primitives.vector with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `VectorGeneratorsFamily.Builder` | VectorGeneratorsFamily.Builder.`map(IgniteFunction<VectorGenerator,VectorGenerator> mapper)` Adds map function for all generators in family.
    `default VectorGenerator` | VectorGenerator.`map(IgniteFunction<Vector,Vector> mapper)` Maps values of vector generator using mapper.

    Constructors in org.apache.ignite.ml.util.generators.primitives.vector with parameters of type IgniteFunction
    Constructor and Description
    `ParametricVectorGenerator(RandomProducer paramGenerator, IgniteFunction<Double,Double>... perDimensionGenerators)` Create an instance of ParametricVectorGenerator.

  - ### Uses of IgniteFunction in org.apache.ignite.ml.util.generators.standard

    Methods in org.apache.ignite.ml.util.generators.standard with parameters of type IgniteFunction
    Modifier and Type | Method and Description
    --- | ---
    `static RegressionDataStream` | RegressionDataStream.`twoDimensional(IgniteFunction<Double,Double> function, double minXVal, double maxXVal)` Creates two dimensional regression data stream.
    `static RegressionDataStream` | RegressionDataStream.`twoDimensional(IgniteFunction<Double,Double> function, double minXVal, double maxXVal, long seed)` Creates two dimensional regression data stream.

    Constructors in org.apache.ignite.ml.util.generators.standard with parameters of type IgniteFunction
    Constructor and Description
    `RegressionDataStream(int vectorSize, IgniteFunction<Vector,Double> function, double minXVal, double maxXVal)` Creates an instance of RegressionDataStream.

2020 Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.9.1
Release Date | : December 9 2020