Skip to content

Commit 91135e3

Browse files
author
Jaime Céspedes Sisniega
authored
Merge pull request #257 from IFCA/fix-doc-api-utils
Fix documentation API utils section
2 parents 8049fe8 + 14fe52e commit 91135e3

File tree

10 files changed

+111
-89
lines changed

10 files changed

+111
-89
lines changed

docs/source/api_reference/utils.md

Lines changed: 7 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,12 @@
11
# Utils
22

3-
```{eval-rst}
4-
.. automodule:: frouros.utils
5-
:no-members:
6-
:no-inherited-members:
7-
```
3+
The {mod}`frouros.utils` module contains auxiliary classes, functions or exceptions.
84

9-
```{currentmodule} frouros.utils
10-
```
5+
```{toctree}
6+
:maxdepth: 2
117
12-
## Data structures
13-
14-
```{eval-rst}
15-
.. automodule:: frouros.utils.data_structures
16-
:no-members:
17-
:no-inherited-members:
18-
```
19-
20-
```{eval-rst}
21-
.. autosummary::
22-
:toctree: auto_generated/
23-
:template: class.md
24-
25-
EmptyQueueError
26-
CircularQueue
27-
AccuracyQueue
28-
```
29-
30-
## Stats
31-
32-
```{eval-rst}
33-
.. automodule:: frouros.utils.stats
34-
:no-members:
35-
:no-inherited-members:
36-
```
37-
38-
```{eval-rst}
39-
.. autosummary::
40-
:toctree: auto_generated/
41-
:template: class.md
42-
43-
IncrementalStat
44-
Mean
45-
EWMA
46-
```
47-
48-
```{eval-rst}
49-
.. autosummary::
50-
:toctree: auto_generated/
51-
:template: function.md
52-
53-
permutation
8+
utils/checks
9+
utils/data_structures
10+
utils/kernels
11+
utils/stats
5412
```
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Checks
2+
3+
The {mod}`frouros.utils.checks` module contains auxiliary checks functions.
4+
5+
```{eval-rst}
6+
.. automodule:: frouros.utils.checks
7+
:members:
8+
:no-inherited-members:
9+
```
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Data Structures
2+
3+
The {mod}`frouros.utils.data_structures` module contains auxiliary data structures classes or exceptions.
4+
5+
```{eval-rst}
6+
.. automodule:: frouros.utils.data_structures
7+
:members:
8+
:no-inherited-members:
9+
```
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Kernels
2+
3+
The {mod}`frouros.utils.kernels` module contains auxiliary kernel functions.
4+
5+
```{eval-rst}
6+
.. automodule:: frouros.utils.kernels
7+
:members:
8+
:no-inherited-members:
9+
```
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Stats
2+
3+
The {mod}`frouros.utils.stats` module contains auxiliary stats classes or exceptions.
4+
5+
```{eval-rst}
6+
.. automodule:: frouros.utils.stats
7+
:members:
8+
:no-inherited-members:
9+
```

frouros/detectors/data_drift/batch/distance_based/mmd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
class MMD(BaseDistanceBased):
2020
"""MMD (Maximum Mean Discrepancy) [gretton2012kernel]_ detector.
2121
22-
:param kernel: kernel function, defaults to rbf_kernel
22+
:param kernel: kernel function, defaults to :func:`rbf_kernel() <frouros.utils.kernels.rbf_kernel>`
2323
:type kernel: Callable
2424
:param chunk_size: chunk size value, defaults to None
2525
:type chunk_size: Optional[int]
@@ -45,7 +45,7 @@ class MMD(BaseDistanceBased):
4545
>>> _ = detector.fit(X=X)
4646
>>> detector.compare(X=Y)[0]
4747
DistanceResult(distance=0.02146955300299802)
48-
"""
48+
""" # noqa: E501 # pylint: disable=line-too-long
4949

5050
def __init__( # noqa: D107
5151
self,

frouros/detectors/data_drift/streaming/distance_based/mmd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class MMD(BaseDistanceBased):
2020
2121
:param window_size: window size value
2222
:type window_size: int
23-
:param kernel: kernel function, defaults to rbf_kernel
23+
:param kernel: kernel function, defaults to :func:`rbf_kernel() <frouros.utils.kernels.rbf_kernel>`
2424
:type kernel: Callable
2525
:param chunk_size: chunk size value, defaults to None
2626
:type chunk_size: Optional[int]
@@ -49,7 +49,7 @@ class MMD(BaseDistanceBased):
4949
... distance, _ = detector.update(value=sample)
5050
... if distance is not None:
5151
... print(distance)
52-
"""
52+
""" # noqa: E501 # pylint: disable=line-too-long
5353

5454
def __init__( # noqa: D107
5555
self,

frouros/utils/checks.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
from frouros.callbacks.base import BaseCallback
66

77

8-
def check_callbacks(callbacks: Any, expected_cls: BaseCallback) -> None:
8+
def check_callbacks(
9+
callbacks: Any,
10+
expected_cls: BaseCallback,
11+
) -> None:
912
"""Check callbacks.
1013
1114
:param callbacks: callbacks

frouros/utils/data_structures.py

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,45 @@
11
"""Data structures module."""
22

3-
from typing import Any, Optional, List, Union
3+
from typing import Any, Optional, List, Union, Dict, Tuple
44

55
import numpy as np # type: ignore
66

77

88
class EmptyQueueError(Exception):
9-
"""Empty queue exception."""
10-
11-
def __init__(self, *args, msg="Queue is empty.", **kwargs) -> None:
12-
"""Init method.
13-
14-
:param msg: exception message
15-
:type msg: str
16-
"""
17-
super().__init__(msg, *args, **kwargs)
9+
"""Empty queue exception.
10+
11+
:param args: exception arguments
12+
:type args: Tuple[Any, ...]
13+
:param msg: exception message, defaults to "Queue is empty."
14+
:type msg: str
15+
:param kwargs: exception keyword arguments
16+
:type kwargs: Dict[str, Dict[str, Any]]
17+
"""
18+
19+
def __init__( # noqa: D107
20+
self,
21+
*args: Tuple[Any, ...],
22+
msg: str = "Queue is empty.",
23+
**kwargs: Dict[str, Dict[str, Any]],
24+
) -> None:
25+
super().__init__(
26+
msg,
27+
*args,
28+
**kwargs,
29+
)
1830

1931

2032
class CircularQueue:
21-
"""Class representing a circular queue."""
33+
"""Class representing a circular queue.
2234
23-
def __init__(self, max_len: int) -> None:
24-
"""Init method.
35+
:param max_len: maximum capacity
36+
:type max_len: int
37+
"""
2538

26-
:param max_len: maximum capacity
27-
:type max_len: int
28-
"""
39+
def __init__( # noqa: D107
40+
self,
41+
max_len: int,
42+
) -> None:
2943
self.count = 0
3044
self.first = 0
3145
self.last = -1
@@ -218,14 +232,16 @@ def __getitem__(self, idx: int) -> Any:
218232

219233

220234
class AccuracyQueue(CircularQueue):
221-
"""Class representing an accuracy queue."""
235+
"""Class representing an accuracy queue.
222236
223-
def __init__(self, max_len: int) -> None:
224-
"""Init method.
237+
:param max_len: maximum capacity
238+
:type max_len: int
239+
"""
225240

226-
:param max_len: maximum capacity
227-
:type max_len: int
228-
"""
241+
def __init__( # noqa: D107
242+
self,
243+
max_len: int,
244+
) -> None:
229245
super().__init__(max_len=max_len)
230246
self.num_true = 0
231247

frouros/utils/stats.py

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ def get(self) -> float:
3636
class Mean(IncrementalStat):
3737
"""Incremental mean class."""
3838

39-
def __init__(self) -> None:
40-
"""Init method."""
39+
def __init__( # noqa: D107
40+
self,
41+
) -> None:
4142
self.mean = 0.0
4243
self.num_values = 0
4344

@@ -111,10 +112,16 @@ def get(self) -> float:
111112

112113

113114
class CircularMean(Mean):
114-
"""Circular mean class."""
115+
"""Circular mean class.
115116
116-
def __init__(self, size: int) -> None:
117-
"""Init method."""
117+
:param size: size of the circular mean
118+
:type size: int
119+
"""
120+
121+
def __init__( # noqa: D107
122+
self,
123+
size: int,
124+
) -> None:
118125
super().__init__()
119126
self.queue = CircularQueue(max_len=size)
120127

@@ -137,14 +144,16 @@ def update(self, value: Union[int, float]) -> None:
137144

138145

139146
class EWMA(IncrementalStat):
140-
"""EWMA (Exponential Weighted Moving Average) class."""
147+
"""EWMA (Exponential Weighted Moving Average) class.
141148
142-
def __init__(self, alpha: float) -> None:
143-
"""Init method.
149+
:param alpha: alpha value
150+
:type alpha: float
151+
"""
144152

145-
:param alpha:
146-
:type alpha: float
147-
"""
153+
def __init__( # noqa: D107
154+
self,
155+
alpha: float,
156+
) -> None:
148157
self.alpha = alpha
149158
self.one_minus_alpha = 1.0 - self.alpha
150159
self.mean = 0
@@ -228,9 +237,9 @@ def permutation( # pylint: disable=too-many-arguments,too-many-locals
228237
:type num_permutations: int
229238
:param num_jobs: number of jobs to use
230239
:type num_jobs: int
231-
:param random_state: random state value
240+
:param random_state: random state value, defaults to None
232241
:type random_state: Optional[int]
233-
:param verbose: verbose flag
242+
:param verbose: verbose flag, defaults to False
234243
:type verbose: bool
235244
:return: permuted statistics
236245
:rtype: List[float]

0 commit comments

Comments
 (0)