ITMO_FS.filters.multivariate.MultivariateFilter

class ITMO_FS.filters.multivariate.MultivariateFilter(measure, n_features, beta=None, gamma=None)

Provides basic functionality for multivariate filters.

Parameters:
  • measure (string or callable) – A metric name defined in GLOB_MEASURE or a callable with signature measure(selected_features, free_features, dataset, labels) which should return a list of metric values for each feature in the dataset.
  • n_features (int) – Number of features to select.
  • beta (float, optional) – Initialize only in case you run MIFS or generalizedCriteria metrics.
  • gamma (float, optional) – Initialize only in case you run generalizedCriteria metric.

Examples

>>> from ITMO_FS.filters.multivariate import MultivariateFilter
>>> from sklearn.preprocessing import KBinsDiscretizer
>>> import numpy as np
>>> est = KBinsDiscretizer(n_bins=10, encode='ordinal')
>>> X = np.array([[1, 2, 3, 3, 1],[2, 2, 3, 3, 2], [1, 3, 3, 1, 3],[3, 1, 3, 1, 4],[4, 4, 3, 1, 5]], dtype = np.integer)
>>> y = np.array([1, 2, 3, 4, 5], dtype=np.integer)
>>> est.fit(X)
KBinsDiscretizer(encode='ordinal', n_bins=10)
>>> data = est.transform(X)
>>> model = MultivariateFilter('MIM', 3)
>>> model.fit(X, y)
>>> model.selected_features
array([4, 0, 1])
__init__(measure, n_features, beta=None, gamma=None)

Initialize self. See help(type(self)) for accurate signature.

fit(X, y, feature_names=None)

Fits the filter.

Parameters:
  • X (array-like, shape (n_samples, n_features)) – The training input samples.
  • y (array-like, shape (n_samples, )) – The target values.
  • feature_names (list of strings, optional) – In case you want to define feature names
Returns:

Return type:

None

fit_transform(X, y=None, feature_names=None, **fit_params)

Fits the filter and transforms given dataset X.

Parameters:
  • X (array-like, shape (n_features, n_samples)) – The training input samples.
  • y (array-like, shape (n_samples, ), optional) – The target values.
  • feature_names (list of strings, optional) – In case you want to define feature names
  • **fit_params – dictonary of measure parameter if needed.
Returns:

Return type:

X dataset sliced with features selected by the filter

transform(X)

Transform given data by slicing it with selected features.

Parameters:X (array-like, shape (n_samples, n_features)) – The training input samples.
Returns:
Return type:Transformed 2D numpy array