ruckus.base.DirectSumRKHS class¶
- class ruckus.base.DirectSumRKHS(subspaces, axis=0, *, copy_X=True)[source]¶
Bases:
ruckus.base.RKHSGiven a sequence of RKHS’s with Hilbert spaces \(H_1\), …, \(H_n\) and feature maps \(\phi_1\), …, \(\phi_n\), their direct sum lives in the tensor product Hilbert space \(H_1\oplus \dots \oplus H_n\) and has feature map of stacked vectors \([\phi_1^T,\ \dots,\ \phi_n^T]^T\) [1]. Correspondingly, the
shape_out_of aDirectRKHSinstance is determined the the same manner as when usingnumpy.concatenate()on the specified axis, while all its subspaces share the sameshape_in_.- Parameters
subspaces (list of
RKHSobjects) – The subspaceRKHSobjects, listed in the order that their indices will appear along the first axis.axis (int) – The axis along which the data will be concatenated. Data dimension must match on all other axes.
copy_X (
bool) – Default =True. IfTrue, inputXis copied and stored by the model in theX_fit_attribute. If no further changes will be done toX, settingcopy_X=Falsesaves memory by storing a reference.
- Parameters
shape_in_ (
tuple) – The required shape of the input datapoints, aka the shape of the domain space \(X\).shape_out_ (
tuple) – The final shape of the transformed datapoints, aka the shape of the Hilbert space \(H\).X_fit_ (
numpy.ndarrayof shape (n_samples,)+self.shape_in_) – The data which was used to fit the model.
- fit(X, y=None)[source]¶
Fit the model from data in
X.- Parameters
X (
numpy.ndarrayof shape(n_samples, n_features_1,...,n_features_d)) – Training vector, wheren_samplesis the number of samples and(n_features_1,...,n_features_d)is the shape of the input data. Must be consistent with preprocessing instructions in sub.take and sub.filter for each sub in self.subspaces.- Returns
The instance itself
- Return type
- kernel(X, Y=None)[source]¶
Evaluates the kernel on
XandY(orXandX) by summing the kernels of the factors.- Parameters
X (
numpy.ndarrayof shape(n_samples, n_features_1,...,n_features_d)) – Data vector, wheren_samplesis the number of samples and(n_features_1,...,n_features_d)is the shape of the input data. These must matchself.shape_in_.Y (
numpy.ndarrayof shape(n_samples, n_features_1,...,n_features_d)) – Default =None. Data vector, wheren_samplesis the number of samples and(n_features_1,...,n_features_d)is the shape of the input data. These must matchself.shape_in_. IfNone,Xis used.
- Returns
The matrix
K[i,j] = k(X[i],Y[j])- Return type
numpy.ndarrayof shape(n_samples_1,n_samples_2)
- transform(X)[source]¶
Transform
X.- Parameters
X (
numpy.ndarrayof shape(n_samples, n_features_1,...,n_features_d)) – Data vector, wheren_samplesis the number of samples and(n_features_1,...,n_features_d)is the shape of the input data. These must matchself.shape_in_.- Returns
The transformed data
- Return type
numpy.ndarrayof shape(n_samples,)+self.shape_out_