FRONEC¶
- class frlearn.classifiers.FRONEC(Q_type: int = 2, R_d_type: int = 1, k: int = <function at_most.<locals>._f>, owa_weights: Callable[[int], np.array] | None = LinearWeights(), dissimilarity: str or float or Callable[[np.array], float] or Callable[[np.array, np.array], float] = 'boscovich', nn_search: NeighbourSearchMethod = <frlearn.neighbours.neighbour_search_methods.KDTree object>, preprocessors=(<frlearn.statistics.feature_preprocessors.RangeNormaliser object>,))[source]¶
Implementation of the Fuzzy ROugh NEighbourhood Consensus (FRONEC) multilabel classifier.
- Parameters
- Q_typeint {1, 2, 3, }, default=2
Quality measure to use for identifying most relevant instances. Q^1 uses lower approximation, Q^2 uses upper approximation, Q^3 is the mean of Q^1 and Q^2.
- R_d_typeint {1, 2, }, default=1
Label similarity relation to use. R_d^1 is simple Hamming similarity. R_d^2 is similar, but takes the prior label probabilities into account.
- kint, default = at_most(20)
Number of neighbours to consider for neighbourhood consensus.
- owa_weights: (int -> np.array) = LinearWeights()
OWA weights to use for calculation of soft maximum and/or minimum.
- dissimilarity: str or float or (np.array -> float) or ((np.array, np.array) -> float) = ‘boscovich’
The dissimilarity measure to use. The similarity between two instances is calculated as 1 minus their dissimilarity.
A vector size measure np.array -> float induces a dissimilarity measure through application to y - x. A float is interpreted as Minkowski size with the corresponding value for p. For convenience, a number of popular measures can be referred to by name.
When a float or string is passed, the corresponding dissimilarity measure is automatically scaled to ensure that the dissimilarity of [1, 1, …, 1] with [0, 0, …, 0] is 1.
For instance, the default Boscovich norm (also known as cityblock, Manhattan or taxicab norm) normally assigns a dissimilarity that is the sum of the per-attribute differences. In this case, the scaling step divides by the number of dimensions, and we obtain a dissimilarity that is the mean of the per-attribute differences.
This can be prevented by explicitly passing a dissimilarity measure without scaling.
- nn_search: NeighbourSearchMethod = KDTree()
Nearest neighbour search algorithm to use.
- preprocessorsiterable = (RangeNormaliser(), )
Preprocessors to apply. The default range normaliser ensures that all features have range 1.
References