FRFS

class frlearn.feature_preprocessors.FRFS(n_features=None, owa_weights: ~typing.Callable[[int], ~numpy.array] = QuantifierWeights(q=QuadraticSigmoid(α=0.2, β=1)), t_norm=<function lukasiewicz_t_norm>)[source]

Implementation of the Fuzzy Rough Feature Selection (FRFS) preprocessor.

Greedily selects features that induce the greatest increase in the size of the positive region, until it matches the size of the positive region with all features, or until the required number of features is selected.

The positive region is defined as the union of the lower approximations of the decision classes in X. Its size is the sum of its membership values.

Parameters
n_featuresint or None, default=None

Number of features to select. If None, will continue to add features until positive region size becomes maximal.

owa_weights: (int -> np.array) = QuantifierWeights(QuadraticSigmoid(0.2, 1))

OWA weights to use for calculation of the soft minimum in the positive regions.

t_norm(ndarray, int, ) -> ndarray, default=lukasiewicz_t_norm

Function that takes an ndarray and a keyword argument axis, and returns an ndarray with the corresponding axis removed. Used to define the similarity relation R from the per-attribute similarities. Should be a t-norm, or else the size of the positive region may decrease as features are added.

References

1

Cornelis C, Verbiest N, Jensen R (2011). Ordered Weighted Average Based Fuzzy Rough Sets In: Yu J, Greco S, Lingras P, Wang G, Skowron A (eds). Rough Set and Knowledge Technology. RSKT 2010. Lecture Notes in Computer Science, vol 6401. Springer, Berlin, Heidelberg. doi: 10.1007/978-3-642-16248-0_16

class Model[source]

Examples using frlearn.feature_preprocessors.FRFS