FRsūtil̲s
A fuzzy-rough reasoning utilities library
Loading...
Searching...
No Matches
approximations.py
Go to the documentation of this file.
1
# frutil/approximations.py
2
"""
3
Module containing base classes for fuzzy-rough approximations.
4
"""
5
from
abc
import
ABC, abstractmethod
6
import
numpy
as
np
7
8
class
FuzzyRoughModel
(ABC):
9
"""Abstract base class for fuzzy-rough models."""
10
def
__init__
(self, similarity_matrix: np.ndarray, labels: np.ndarray):
11
if
not
((0.0 <= similarity_matrix).all()
and
(similarity_matrix <= 1.0).all()):
12
raise
ValueError(
"All similarity values must be in the range [0.0, 1.0]."
)
13
self.
similarity_matrix
= similarity_matrix
14
self.
labels
= labels
15
16
@abstractmethod
17
def
lower_approximation
(self):
18
pass
19
20
@abstractmethod
21
def
upper_approximation
(self):
22
pass
23
24
def
boundary_region
(self):
25
return
self.upper_approximation() - self.lower_approximation()
26
27
def
positive_region
(self):
28
return
self.
lower_approximation
()
frsutils.core.approximations.FuzzyRoughModel
Definition
approximations.py:8
frsutils.core.approximations.FuzzyRoughModel.boundary_region
boundary_region(self)
Definition
approximations.py:24
frsutils.core.approximations.FuzzyRoughModel.labels
labels
Definition
approximations.py:14
frsutils.core.approximations.FuzzyRoughModel.positive_region
positive_region(self)
Definition
approximations.py:27
frsutils.core.approximations.FuzzyRoughModel.__init__
__init__(self, np.ndarray similarity_matrix, np.ndarray labels)
Definition
approximations.py:10
frsutils.core.approximations.FuzzyRoughModel.lower_approximation
lower_approximation(self)
Definition
approximations.py:17
frsutils.core.approximations.FuzzyRoughModel.similarity_matrix
similarity_matrix
Definition
approximations.py:13
frsutils.core.approximations.FuzzyRoughModel.upper_approximation
upper_approximation(self)
Definition
approximations.py:21
core
approximations.py
Generated by
1.13.2