def __init__(self, data, input_dimensionality, output_dimensionality, kernel_type='rbf',
degree=2, sigma=0, kernel_scaling=1, c=1, scaler=None):
"""
Creates a Kernel SEF object
:param data: the data to be used by the kernel
:param input_dimensionality: dimensionality of the input space
:param output_dimensionality: dimensionality of the target space
:param learning_rate: learning rate to be used for the optimization
:param kernel_type: supported kernel: 'rbf', 'poly', and 'linear'
:param degree: degree of the polynomial kernel
:param sigma: the sigma value for the RBF kernel
:param kernel_scaling: scaling parameter for the kernel
:param c: constant kernel param for linear and poly kernels
:param regularizer_weight: weight of the regularizer
:param scaler: the s