recnexteval 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- recnexteval/__init__.py +20 -0
- recnexteval/algorithms/__init__.py +99 -0
- recnexteval/algorithms/base.py +377 -0
- recnexteval/algorithms/baseline/__init__.py +10 -0
- recnexteval/algorithms/baseline/decay_popularity.py +110 -0
- recnexteval/algorithms/baseline/most_popular.py +72 -0
- recnexteval/algorithms/baseline/random.py +39 -0
- recnexteval/algorithms/baseline/recent_popularity.py +34 -0
- recnexteval/algorithms/itemknn/__init__.py +14 -0
- recnexteval/algorithms/itemknn/itemknn.py +119 -0
- recnexteval/algorithms/itemknn/itemknn_incremental.py +65 -0
- recnexteval/algorithms/itemknn/itemknn_incremental_movielens.py +95 -0
- recnexteval/algorithms/itemknn/itemknn_rolling.py +17 -0
- recnexteval/algorithms/itemknn/itemknn_static.py +31 -0
- recnexteval/algorithms/time_aware_item_knn/__init__.py +11 -0
- recnexteval/algorithms/time_aware_item_knn/base.py +248 -0
- recnexteval/algorithms/time_aware_item_knn/decay_functions.py +260 -0
- recnexteval/algorithms/time_aware_item_knn/ding_2005.py +52 -0
- recnexteval/algorithms/time_aware_item_knn/liu_2010.py +65 -0
- recnexteval/algorithms/time_aware_item_knn/similarity_functions.py +106 -0
- recnexteval/algorithms/time_aware_item_knn/top_k.py +61 -0
- recnexteval/algorithms/time_aware_item_knn/utils.py +47 -0
- recnexteval/algorithms/time_aware_item_knn/vaz_2013.py +50 -0
- recnexteval/algorithms/utils.py +51 -0
- recnexteval/datasets/__init__.py +109 -0
- recnexteval/datasets/base.py +316 -0
- recnexteval/datasets/config/__init__.py +113 -0
- recnexteval/datasets/config/amazon.py +188 -0
- recnexteval/datasets/config/base.py +72 -0
- recnexteval/datasets/config/lastfm.py +105 -0
- recnexteval/datasets/config/movielens.py +169 -0
- recnexteval/datasets/config/yelp.py +25 -0
- recnexteval/datasets/datasets/__init__.py +24 -0
- recnexteval/datasets/datasets/amazon.py +151 -0
- recnexteval/datasets/datasets/base.py +250 -0
- recnexteval/datasets/datasets/lastfm.py +121 -0
- recnexteval/datasets/datasets/movielens.py +93 -0
- recnexteval/datasets/datasets/test.py +46 -0
- recnexteval/datasets/datasets/yelp.py +103 -0
- recnexteval/datasets/metadata/__init__.py +58 -0
- recnexteval/datasets/metadata/amazon.py +68 -0
- recnexteval/datasets/metadata/base.py +38 -0
- recnexteval/datasets/metadata/lastfm.py +110 -0
- recnexteval/datasets/metadata/movielens.py +87 -0
- recnexteval/evaluators/__init__.py +189 -0
- recnexteval/evaluators/accumulator.py +167 -0
- recnexteval/evaluators/base.py +216 -0
- recnexteval/evaluators/builder/__init__.py +125 -0
- recnexteval/evaluators/builder/base.py +166 -0
- recnexteval/evaluators/builder/pipeline.py +111 -0
- recnexteval/evaluators/builder/stream.py +54 -0
- recnexteval/evaluators/evaluator_pipeline.py +287 -0
- recnexteval/evaluators/evaluator_stream.py +374 -0
- recnexteval/evaluators/state_management.py +310 -0
- recnexteval/evaluators/strategy.py +32 -0
- recnexteval/evaluators/util.py +124 -0
- recnexteval/matrix/__init__.py +48 -0
- recnexteval/matrix/exception.py +5 -0
- recnexteval/matrix/interaction_matrix.py +784 -0
- recnexteval/matrix/prediction_matrix.py +153 -0
- recnexteval/matrix/util.py +24 -0
- recnexteval/metrics/__init__.py +57 -0
- recnexteval/metrics/binary/__init__.py +4 -0
- recnexteval/metrics/binary/hit.py +49 -0
- recnexteval/metrics/core/__init__.py +10 -0
- recnexteval/metrics/core/base.py +126 -0
- recnexteval/metrics/core/elementwise_top_k.py +75 -0
- recnexteval/metrics/core/listwise_top_k.py +72 -0
- recnexteval/metrics/core/top_k.py +60 -0
- recnexteval/metrics/core/util.py +29 -0
- recnexteval/metrics/ranking/__init__.py +6 -0
- recnexteval/metrics/ranking/dcg.py +55 -0
- recnexteval/metrics/ranking/ndcg.py +78 -0
- recnexteval/metrics/ranking/precision.py +51 -0
- recnexteval/metrics/ranking/recall.py +42 -0
- recnexteval/models/__init__.py +4 -0
- recnexteval/models/base.py +69 -0
- recnexteval/preprocessing/__init__.py +37 -0
- recnexteval/preprocessing/filter.py +181 -0
- recnexteval/preprocessing/preprocessor.py +137 -0
- recnexteval/registries/__init__.py +67 -0
- recnexteval/registries/algorithm.py +68 -0
- recnexteval/registries/base.py +131 -0
- recnexteval/registries/dataset.py +37 -0
- recnexteval/registries/metric.py +57 -0
- recnexteval/settings/__init__.py +127 -0
- recnexteval/settings/base.py +414 -0
- recnexteval/settings/exception.py +8 -0
- recnexteval/settings/leave_n_out_setting.py +48 -0
- recnexteval/settings/processor.py +115 -0
- recnexteval/settings/schema.py +11 -0
- recnexteval/settings/single_time_point_setting.py +111 -0
- recnexteval/settings/sliding_window_setting.py +153 -0
- recnexteval/settings/splitters/__init__.py +14 -0
- recnexteval/settings/splitters/base.py +57 -0
- recnexteval/settings/splitters/n_last.py +39 -0
- recnexteval/settings/splitters/n_last_timestamp.py +76 -0
- recnexteval/settings/splitters/timestamp.py +82 -0
- recnexteval/settings/util.py +0 -0
- recnexteval/utils/__init__.py +115 -0
- recnexteval/utils/json_to_csv_converter.py +128 -0
- recnexteval/utils/logging_tools.py +159 -0
- recnexteval/utils/path.py +155 -0
- recnexteval/utils/url_certificate_installer.py +54 -0
- recnexteval/utils/util.py +166 -0
- recnexteval/utils/uuid_util.py +7 -0
- recnexteval/utils/yaml_tool.py +65 -0
- recnexteval-0.1.0.dist-info/METADATA +85 -0
- recnexteval-0.1.0.dist-info/RECORD +110 -0
- recnexteval-0.1.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
import yaml
|
|
4
|
+
|
|
5
|
+
from .path import get_logs_dir, safe_dir
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def create_config_yaml(config_filename: str) -> tuple[str, str]:
|
|
9
|
+
"""
|
|
10
|
+
Create a configuration file for the logger.
|
|
11
|
+
|
|
12
|
+
Writes a default configuration file for the logger in YAML format.
|
|
13
|
+
The configuration file specifies the format of the log messages,
|
|
14
|
+
the output stream, and the log level.
|
|
15
|
+
|
|
16
|
+
:param path: The name of the file to be created.
|
|
17
|
+
:type path: str
|
|
18
|
+
"""
|
|
19
|
+
log_dir = get_logs_dir()
|
|
20
|
+
safe_dir(log_dir)
|
|
21
|
+
log_file_path = os.path.join(log_dir, "recnexteval.log")
|
|
22
|
+
yaml_file_path = os.path.join(log_dir, config_filename)
|
|
23
|
+
|
|
24
|
+
# check if log file and yaml file already exist
|
|
25
|
+
if os.path.exists(yaml_file_path) and os.path.exists(log_file_path):
|
|
26
|
+
return (log_file_path, yaml_file_path)
|
|
27
|
+
|
|
28
|
+
default_config = {
|
|
29
|
+
"version": 1,
|
|
30
|
+
"disable_existing_loggers": False,
|
|
31
|
+
"formatters": {
|
|
32
|
+
"detailed": {"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"},
|
|
33
|
+
"simple": {"format": "%(levelname)s - %(message)s"},
|
|
34
|
+
},
|
|
35
|
+
"handlers": {
|
|
36
|
+
"console": {
|
|
37
|
+
"class": "logging.StreamHandler",
|
|
38
|
+
"level": "DEBUG",
|
|
39
|
+
"formatter": "simple",
|
|
40
|
+
"stream": "ext://sys.stdout",
|
|
41
|
+
},
|
|
42
|
+
"file": {
|
|
43
|
+
"class": "logging.FileHandler",
|
|
44
|
+
"level": "DEBUG",
|
|
45
|
+
"formatter": "detailed",
|
|
46
|
+
"filename": log_file_path,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
"loggers": {
|
|
50
|
+
"recnexteval": {
|
|
51
|
+
"level": "DEBUG",
|
|
52
|
+
"handlers": ["console", "file"],
|
|
53
|
+
"propagate": False,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
"root": {
|
|
57
|
+
"level": "WARNING",
|
|
58
|
+
"handlers": ["console"],
|
|
59
|
+
},
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
# Write the YAML content
|
|
63
|
+
with open(yaml_file_path, "w") as file:
|
|
64
|
+
yaml.dump(default_config, file, default_flow_style=False)
|
|
65
|
+
return (log_file_path, yaml_file_path)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: recnexteval
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: An Evaluation Framework for Next-Batch Recommendations.
|
|
5
|
+
Keywords: recsys,recommendation,practical evaluation,global timeline,reccomender systems,data leakage
|
|
6
|
+
Author: Ng Tze Kean
|
|
7
|
+
Author-email: Ng Tze Kean <ngtzekean@gmail.com>
|
|
8
|
+
Requires-Dist: colorama>=0.4.6
|
|
9
|
+
Requires-Dist: colorlog>=6.10.1
|
|
10
|
+
Requires-Dist: deprecation>=2.1.0
|
|
11
|
+
Requires-Dist: httpx>=0.28.1
|
|
12
|
+
Requires-Dist: numpy==2.2.6
|
|
13
|
+
Requires-Dist: pandas>=2.3.3
|
|
14
|
+
Requires-Dist: progressbar>=2.5
|
|
15
|
+
Requires-Dist: pyarrow>=22.0.0
|
|
16
|
+
Requires-Dist: pyfiglet>=1.0.4
|
|
17
|
+
Requires-Dist: scikit-learn>=1.7.2
|
|
18
|
+
Requires-Dist: scipy>=1.16.3
|
|
19
|
+
Requires-Dist: simplejson>=3.20.2
|
|
20
|
+
Requires-Dist: tqdm>=4.67.1
|
|
21
|
+
Requires-Dist: typing-extensions>=4.15.0
|
|
22
|
+
Requires-Dist: urllib3>=2.5.0
|
|
23
|
+
Maintainer: Ng Tze Kean
|
|
24
|
+
Maintainer-email: Ng Tze Kean <ngtzekean@gmail.com>
|
|
25
|
+
Requires-Python: >=3.13
|
|
26
|
+
Project-URL: Homepage, https://hiiamtzekean.github.io/recnexteval/
|
|
27
|
+
Project-URL: Repository, https://github.com/ngtzekean/recnexteval
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
|
|
30
|
+
# RecNextEval
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
[](https://pypi.org/project/recnexteval/)
|
|
35
|
+
[](https://github.com/hiiamtzekean/recnexteval/)
|
|
36
|
+
[](https://www.python.org/downloads/)
|
|
37
|
+
|
|
38
|
+
RecNextEval is an offline Reccomender Systems (RecSys) evaluation toolkit that respects a global timeline.
|
|
39
|
+
The aim is to partition the data into different windows where data is incrementally released for the programmer
|
|
40
|
+
to fit, train and submit predictions. This aims to provide a close simulation of an online setting when evaluating
|
|
41
|
+
RecSys algorithms.
|
|
42
|
+
|
|
43
|
+
## Getting Started
|
|
44
|
+
|
|
45
|
+
Clone the repository
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/hiiamtzekean/recnexteval
|
|
49
|
+
cd recnexteval
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Dependencies can be installed with `uv` for ease of management.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
uv sync
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Alternatively, you may install dependencies locally with pip and venv
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
python3 -m venv venv
|
|
62
|
+
source venv/bin/activate
|
|
63
|
+
pip install -e .
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The dependencies are listed in `pyproject.toml`.
|
|
67
|
+
|
|
68
|
+
## Contributing
|
|
69
|
+
|
|
70
|
+
- We welcome all contributors, be it reporting an [issue](https://github.com/hiiamtzekean/recnexteval/issues),
|
|
71
|
+
or raising a [pull request](https://github.com/hiiamtzekean/recnexteval/pulls) to fix an issue.
|
|
72
|
+
- When you make changes, rerun `pip install .` to test your changes.
|
|
73
|
+
|
|
74
|
+
## Documentation
|
|
75
|
+
|
|
76
|
+
The documentation can be found [here](https://hiiamtzekean.github.io/recnexteval/)
|
|
77
|
+
and [repository](https://github.com/hiiamtzekean/recnexteval) on Github.
|
|
78
|
+
|
|
79
|
+
## Citation
|
|
80
|
+
|
|
81
|
+
If you use this library in any part of your work, please cite the following papers:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
Ng, T. K. (2024). RecNextEval: a toolkit for offline evaluation of recommender systems. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/181114
|
|
85
|
+
```
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
recnexteval/__init__.py,sha256=QRo7Xnqfqul1DCK2q8Le8FWayQO8NIWhRvOXeCYUmpY,454
|
|
2
|
+
recnexteval/algorithms/__init__.py,sha256=jZK-jo5-v8znxKM11LxrRX7TLM5XHR3BIDf-EazP5RM,2826
|
|
3
|
+
recnexteval/algorithms/base.py,sha256=f5gDhYjeJNU9zYx2IyGUi5lm8y1sJ9Ko5g3f9DqSEkw,13986
|
|
4
|
+
recnexteval/algorithms/baseline/__init__.py,sha256=1L-mIcgRcjX4yUdyTyKl95DWO6oh6zBHlcC8K__vqtE,186
|
|
5
|
+
recnexteval/algorithms/baseline/decay_popularity.py,sha256=6Wl-87yKnRzVbk4-4j733lc0Qs6BcSFOZAmiz2uJ8-U,4099
|
|
6
|
+
recnexteval/algorithms/baseline/most_popular.py,sha256=E0VomehN8P4bu4NVOfkeOQqqQ2iTvA5l3b1pthJyI20,2640
|
|
7
|
+
recnexteval/algorithms/baseline/random.py,sha256=_otqjMwOCn25I8R3CHUqsbhjVZQYGvYwYdhz72lFh-4,1314
|
|
8
|
+
recnexteval/algorithms/baseline/recent_popularity.py,sha256=Dls2PE23rfDC8hqIkI7C8WzAyHidSYK307_4Jok3GsM,1010
|
|
9
|
+
recnexteval/algorithms/itemknn/__init__.py,sha256=6hqiXXgtwiO0HTXPei8HJSMKTgF9KMFCZggOmKJmr2E,381
|
|
10
|
+
recnexteval/algorithms/itemknn/itemknn.py,sha256=YhfmcD5jYSz_w41Qp18CLPMd4bk7K5ZUmvbpQ2gxR2A,4294
|
|
11
|
+
recnexteval/algorithms/itemknn/itemknn_incremental.py,sha256=gsmNcT6RFghXFfjL6PiVoyOZWFbwuP1Gj5cQHE6hc-I,2461
|
|
12
|
+
recnexteval/algorithms/itemknn/itemknn_incremental_movielens.py,sha256=ZKwTpeRVLLioEKAPCuoDzegJk6p9_eBp9gPAOYPYYBw,3862
|
|
13
|
+
recnexteval/algorithms/itemknn/itemknn_rolling.py,sha256=UDIDDZnrpTUz6edIShC0YSj0KncRHmcnn4K_MLwp_x4,416
|
|
14
|
+
recnexteval/algorithms/itemknn/itemknn_static.py,sha256=Xupk8A_U8htQtoj43IcJGOcAaoslPw6CzOxqxmDzjB0,801
|
|
15
|
+
recnexteval/algorithms/time_aware_item_knn/__init__.py,sha256=7xUQJHJ83SpZWjZ7snY6FI2Fa9v5W0U6SbW5duegl4g,552
|
|
16
|
+
recnexteval/algorithms/time_aware_item_knn/base.py,sha256=IdwVHU5H_rTUgaMSqOL-SDQlda_bky9ZYVrUGuOJbUM,9921
|
|
17
|
+
recnexteval/algorithms/time_aware_item_knn/decay_functions.py,sha256=mHhfNErg7tNYYlhO7DSohZHa182Qy6EB2tNI4Fs90_Y,8233
|
|
18
|
+
recnexteval/algorithms/time_aware_item_knn/ding_2005.py,sha256=a7FY3c6G7WWnhm7h5bQURRXqRCvKTBpE512Kmh30xfQ,2425
|
|
19
|
+
recnexteval/algorithms/time_aware_item_knn/liu_2010.py,sha256=GdDULJDqYJ7yI1THiumB3W0ETeGo5UadnFo3Zc589ZY,2731
|
|
20
|
+
recnexteval/algorithms/time_aware_item_knn/similarity_functions.py,sha256=O79znB6i9WTi-cPsfpPjmKKwj5rdgzda9W_J2L7yfXU,3822
|
|
21
|
+
recnexteval/algorithms/time_aware_item_knn/top_k.py,sha256=yFPDBj_pIDByiAy3kf5PGmp6n-49KrqFQPUzWhZY958,2110
|
|
22
|
+
recnexteval/algorithms/time_aware_item_knn/utils.py,sha256=mmdiBeJKztPN6OUQlk2lBFYkmNwEn3qElkrsfcSyXRk,1138
|
|
23
|
+
recnexteval/algorithms/time_aware_item_knn/vaz_2013.py,sha256=F5KbKbXvYgTmN0VtbbkJR9HmjjuNL9sgaDvogJlMyoM,2355
|
|
24
|
+
recnexteval/algorithms/utils.py,sha256=aN-riaDv_s7FRX4SYiXvdvr4k87vxduPEY0CrNXj7Fo,1932
|
|
25
|
+
recnexteval/datasets/__init__.py,sha256=F_zZxJQlXk4X6Rpqem-NB00y3TqdOh2MbdufKhGz7RA,3020
|
|
26
|
+
recnexteval/datasets/base.py,sha256=Q1HN-l5mdO_HwcSWIUGo7OvUsa2pPWNjzAhltWO20pM,11725
|
|
27
|
+
recnexteval/datasets/config/__init__.py,sha256=ncRGMFWK-7Ug4zoWyu91wl0-YCDKVj4H1idBhz1SEZE,3847
|
|
28
|
+
recnexteval/datasets/config/amazon.py,sha256=kgLpGzkeq2MaEVYkVTDe5pBU5Uhfz5J51Im5aaiVmAY,6534
|
|
29
|
+
recnexteval/datasets/config/base.py,sha256=RI9ZIVjFv96E_oqIni1cAFkuk_qD50NutqdYMBKFsis,2145
|
|
30
|
+
recnexteval/datasets/config/lastfm.py,sha256=ky92tMDgPZw9BOyO4a8uZcS7TVbiH979EnYULV6p9xg,3040
|
|
31
|
+
recnexteval/datasets/config/movielens.py,sha256=PtsxJi8XvtjfVoDZ_PPfuSAYajKOCi5gheB4iMp2-Wo,5040
|
|
32
|
+
recnexteval/datasets/config/yelp.py,sha256=dqQz1moQFvawqWSPrtNwkaXzEGw5KysCt_GDqyFB11A,797
|
|
33
|
+
recnexteval/datasets/datasets/__init__.py,sha256=x-niCQWm5qUNCxbkdmM9anS3RizJLd9f0Hyy-oge07E,514
|
|
34
|
+
recnexteval/datasets/datasets/amazon.py,sha256=SUHpIgoUufUGuYOs6qybUcMmHlu-kcw3VzHrkbhoGCI,4553
|
|
35
|
+
recnexteval/datasets/datasets/base.py,sha256=iXM6u_l8VugQLEf1HVjatASrOAD4ZxouWDBc8Gvd-BA,9333
|
|
36
|
+
recnexteval/datasets/datasets/lastfm.py,sha256=8X0nm0QKu3aBIMFyNbSY9qBcsHbE_LdvuAD0psR3huY,4313
|
|
37
|
+
recnexteval/datasets/datasets/movielens.py,sha256=QzneJ_JxwrSveuK1iMx9N2L2DP0wzpktM4ejh_54NNE,2918
|
|
38
|
+
recnexteval/datasets/datasets/test.py,sha256=vOL3DjkeMf6I1yEDv1nlxl2SPLg7-typwkH9L2Bhoc8,1576
|
|
39
|
+
recnexteval/datasets/datasets/yelp.py,sha256=W6J4i1gDBXBuuIICI_OgB9bAOa-9-xMWpYWO80M4z3s,3539
|
|
40
|
+
recnexteval/datasets/metadata/__init__.py,sha256=j_UgDXPATybSUkeL958hzaRZpfNuQ0GgHrTv7KysQzo,1899
|
|
41
|
+
recnexteval/datasets/metadata/amazon.py,sha256=Is2PWTzv-awVfi433EsqlRJ_yluqkp9zvrwO6UG4avo,2274
|
|
42
|
+
recnexteval/datasets/metadata/base.py,sha256=olHnYb0Lg9mTKjaEoHDCk0Iq6twN1xwisBtPCkcxneg,1154
|
|
43
|
+
recnexteval/datasets/metadata/lastfm.py,sha256=H0YxTz5-mC9RDTmq_Z2Nu_ys9nRkxtUPf_lt8GT6mNc,3402
|
|
44
|
+
recnexteval/datasets/metadata/movielens.py,sha256=w-VQgwjTSgcIyaCdQKssKuL-Q8QKnW5rD8sj_J-AZK0,2909
|
|
45
|
+
recnexteval/evaluators/__init__.py,sha256=is_7giST5MMOWixXR4pu7OHvVMjEdPkZ43Lxyihff5A,5895
|
|
46
|
+
recnexteval/evaluators/accumulator.py,sha256=hWSsSeQ8YtQgRFukh4dcE_rl02qe8rGsGEFf6_Zb9xg,6617
|
|
47
|
+
recnexteval/evaluators/base.py,sha256=9L1o2Glm2kNkJute9RGPDnZwUyweMnofTFebeSXOFg0,8979
|
|
48
|
+
recnexteval/evaluators/builder/__init__.py,sha256=MHHPoD61TIdLG9MdsQrLl3hl8Fwsulqhopa7KVTFE_k,3491
|
|
49
|
+
recnexteval/evaluators/builder/base.py,sha256=QaGu_HumkEe-2TRmYxTIQI1PdVj1xNLw3u8GjO1x5AA,5806
|
|
50
|
+
recnexteval/evaluators/builder/pipeline.py,sha256=GrqenqXGn5CAqGdiCPeaxqSFWmC8iQRol8AgL9Jr4tk,3883
|
|
51
|
+
recnexteval/evaluators/builder/stream.py,sha256=rc9EbZOfpwh4fiMXp3Z92p4nZArss1JdeVNTIU7GQ0U,1671
|
|
52
|
+
recnexteval/evaluators/evaluator_pipeline.py,sha256=P7NcIeXlrOsifILXF2-AA6PcTDCyZupEuuQ7Y7QPZpQ,11918
|
|
53
|
+
recnexteval/evaluators/evaluator_stream.py,sha256=iAO6xKN3qrb-zHanA7q1TcOUtEX7_kjIzawu1spbtIs,15616
|
|
54
|
+
recnexteval/evaluators/state_management.py,sha256=VuD6glygVhlA3uM1qCBopcqYtnDCzjMmcO4PfKBvzR0,11439
|
|
55
|
+
recnexteval/evaluators/strategy.py,sha256=QxnMDf_x9LF9oVNUgrw1YiED8faZSzCyb3p__Sn1Ebo,1207
|
|
56
|
+
recnexteval/evaluators/util.py,sha256=VnZdxdmuBbyGI706JYhL2kVdVhWvgpIE_U2FEgGO3bY,3972
|
|
57
|
+
recnexteval/matrix/__init__.py,sha256=WFQXFNlATvlLgJxd6GtTRa_pJPRjAedl-YHWckovC-4,2178
|
|
58
|
+
recnexteval/matrix/exception.py,sha256=qGkANmmUP33y0Qt9GXwiLgOSPOlUR4lZ2oQkP7s0c5E,235
|
|
59
|
+
recnexteval/matrix/interaction_matrix.py,sha256=HWmFUwkbIlZXgYbPDAo5CL-ErbI7X01YZS2RCu-1NFY,31314
|
|
60
|
+
recnexteval/matrix/prediction_matrix.py,sha256=SqR_XgWvItXDwycIsFEzFaqECiEWIEOaGxeibJ9aIZ4,6961
|
|
61
|
+
recnexteval/matrix/util.py,sha256=7Qelrr1aFm0j98-WkyzF2ZPaEtcVEzDimHcgcS1HFr8,844
|
|
62
|
+
recnexteval/metrics/__init__.py,sha256=7DvIOt1LYarUeXwH3zWsZbN-WknKLFeKUy1FHEZuAds,1532
|
|
63
|
+
recnexteval/metrics/binary/__init__.py,sha256=7Z9M0ncgzhcza_yT6PnH8oA2tHHED4jJfsV11KScYus,43
|
|
64
|
+
recnexteval/metrics/binary/hit.py,sha256=xX2rQ_QfOKGBiV5psFBHGofBRkwf0Nw0ljTWH_aS79k,1648
|
|
65
|
+
recnexteval/metrics/core/__init__.py,sha256=GrUfOV6ZhC68s2zuUtH08Rdbc7HAQkim72ZaUE7TaAA,170
|
|
66
|
+
recnexteval/metrics/core/base.py,sha256=vXoQ4xnNlH8twaY2JPh0bancCOnC4lPY41FCnRe46U0,4309
|
|
67
|
+
recnexteval/metrics/core/elementwise_top_k.py,sha256=pyjcF3rmHhia1AH5syV6x7j0lmpkazWD4jMksEyD4bs,2560
|
|
68
|
+
recnexteval/metrics/core/listwise_top_k.py,sha256=yc-553k2E0SiVL1wkQ167JLIAw7vxB14S5kayz2s4fw,2394
|
|
69
|
+
recnexteval/metrics/core/top_k.py,sha256=KjJFWwO-CyhBePXmSrHFe9DOg6Uc0m9fSt5KVeVS-tc,1841
|
|
70
|
+
recnexteval/metrics/core/util.py,sha256=xBl6pCRWJ8K_lP4iCrBv0o3NP0x_kZFXIVD-kZlohmU,852
|
|
71
|
+
recnexteval/metrics/ranking/__init__.py,sha256=hZYIL6d1vbKPwJdDYp-digtoSH4KVexLm9pRYjbQiOw,137
|
|
72
|
+
recnexteval/metrics/ranking/dcg.py,sha256=Z69yUxmh5-Rg3FT2g5d-l273oziojsVd32N4HMLKTOM,1775
|
|
73
|
+
recnexteval/metrics/ranking/ndcg.py,sha256=E-fkzpFRyUjf_CEkj-iRY1ekLVa2ieJwnh2a5Hajwkk,2592
|
|
74
|
+
recnexteval/metrics/ranking/precision.py,sha256=xRkXhL-2bZDCTR833s60qjFo3EYVGJM0etCF9rrk0Vs,1728
|
|
75
|
+
recnexteval/metrics/ranking/recall.py,sha256=fjaN1QRWY0GyeUV9S14mnFBhj4PDQ_MJwZcQj0bgblY,1307
|
|
76
|
+
recnexteval/models/__init__.py,sha256=QBe1epPRZoznMS02wVUQ71P7eQ4_E9IsbhNu-pp2GrU,80
|
|
77
|
+
recnexteval/models/base.py,sha256=yUCApLqMfrhohIr-TgGvDkfJAUMnr8kLSaQxSR__t9w,1688
|
|
78
|
+
recnexteval/preprocessing/__init__.py,sha256=RaiCM2mkuOae55dVGMJuI-JBJL1FWCO5EbdJg__MPr0,1176
|
|
79
|
+
recnexteval/preprocessing/filter.py,sha256=EME-cvde8AhAchqObySHv2LHRVxK4wf146EMc4Tn6w0,4845
|
|
80
|
+
recnexteval/preprocessing/preprocessor.py,sha256=PFZy51dOnpBIeTEsZ7cWh8W49frknebmvxT3RASpZok,5012
|
|
81
|
+
recnexteval/registries/__init__.py,sha256=PrFnje4-qEBIFecVmKLB1mBI3GBbGfdlseXBfAy4cE8,1805
|
|
82
|
+
recnexteval/registries/algorithm.py,sha256=OuPEnS4mP_90Nr8Da9AjoYKTuByrPnd5565Gzb0-MVI,1962
|
|
83
|
+
recnexteval/registries/base.py,sha256=GM4SvxwcHxfJNwLm-CN2NZV5ZNoWZGYLNReHVzYicGA,3951
|
|
84
|
+
recnexteval/registries/dataset.py,sha256=c-TXAkwX_VH5Z10ZNdfSmU7yU-QA1j_HpCxBUCp3rro,969
|
|
85
|
+
recnexteval/registries/metric.py,sha256=jf6Dzu6CdawFkIJZDNtYj_is7eI0U5WlfctLgMBPJpk,1442
|
|
86
|
+
recnexteval/settings/__init__.py,sha256=CCssGfvK2KOFhofUPXwHK5iHlrqX_NmAeGfhsL3q-2Y,4548
|
|
87
|
+
recnexteval/settings/base.py,sha256=JXD0KVsSWcFz2Hhh2hvVB2XdgCrA8Q_H_T8riCN4ON4,15844
|
|
88
|
+
recnexteval/settings/exception.py,sha256=JAMR87gdAtmsOxcfHgPi80nppC90Ip_49rExyaEYcSE,295
|
|
89
|
+
recnexteval/settings/leave_n_out_setting.py,sha256=pIfJI2trLB18g-eXECCk-qsjLtQjgLIVSFn22_m7ME0,1425
|
|
90
|
+
recnexteval/settings/processor.py,sha256=BUjKaAPF4lpdYvR5B4PIPpmRQ-18yegEpGxkG2Pvmn0,4991
|
|
91
|
+
recnexteval/settings/schema.py,sha256=a-fNMgBsoc8ePECHsHaB_SFn8fhxS7xMRXJbVdiPQvI,295
|
|
92
|
+
recnexteval/settings/single_time_point_setting.py,sha256=-RmWXYnmLX4nEyaGwDTPPrewcjZstrIZMjgWWRXKXf0,4271
|
|
93
|
+
recnexteval/settings/sliding_window_setting.py,sha256=KaWQSq_6FuwPuOzJMNI5pzjJM7h8_rHzfUfVAsavznA,6762
|
|
94
|
+
recnexteval/settings/splitters/__init__.py,sha256=aPH1yR2n9RjKm6MbBBvBE3fc42JXqjBIXmiTRWqBRwg,309
|
|
95
|
+
recnexteval/settings/splitters/base.py,sha256=WFXVh1Kv58HindPIKSTnuL3qgD95pi75r4I7vjhJfF4,1638
|
|
96
|
+
recnexteval/settings/splitters/n_last.py,sha256=YOxL8_rhCLMWG1EBm9Bu9eLARE4VSIid1o86LXleX4E,1435
|
|
97
|
+
recnexteval/settings/splitters/n_last_timestamp.py,sha256=tP_GiVEPd80Rpv7migiHgFF7RHUeigfLHOyrkCzobA8,2961
|
|
98
|
+
recnexteval/settings/splitters/timestamp.py,sha256=29s3-vl_0mmhDqNUv2clblnUIBvc5hK2hc2YEvNmSc0,2842
|
|
99
|
+
recnexteval/settings/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
+
recnexteval/utils/__init__.py,sha256=6jHBaGkQc0NbBWXfE-FETN-mJtnysWCztoaJxp5w9bk,2930
|
|
101
|
+
recnexteval/utils/json_to_csv_converter.py,sha256=6vo0tbZDDhtvk6YCVMFRtLeUhiSkGdSjtW6zoDhTfvo,3665
|
|
102
|
+
recnexteval/utils/logging_tools.py,sha256=jDVwyWPJWZ4Ztmbx-k1G6dF2AmcqbBzdgzWWDZgKKxw,4438
|
|
103
|
+
recnexteval/utils/path.py,sha256=v2e5PNaohnwQtRq8oU-RI5IVhquxAG2G3e2cvr0xPjE,4260
|
|
104
|
+
recnexteval/utils/url_certificate_installer.py,sha256=wSK7hgcZRitUqHfXjgeeBdHWz6__tc78i8i4lMwckSY,1506
|
|
105
|
+
recnexteval/utils/util.py,sha256=B76Z-SSNeqwUWJavkl2xsTkFhfsicmCCnF6OZMzTyg0,4836
|
|
106
|
+
recnexteval/utils/uuid_util.py,sha256=WA7PfCdULyUnCDs0FXpi2S7pSwTTLn0SQpkAqUAcKTE,262
|
|
107
|
+
recnexteval/utils/yaml_tool.py,sha256=VgN-T0OVRfp5Ie3XCDyuIcg2VLQBM-JIks-mgPfDbUQ,2006
|
|
108
|
+
recnexteval-0.1.0.dist-info/WHEEL,sha256=XV0cjMrO7zXhVAIyyc8aFf1VjZ33Fen4IiJk5zFlC3g,80
|
|
109
|
+
recnexteval-0.1.0.dist-info/METADATA,sha256=slhKsG8ewdOPB0pw6ErCyyBySUaU2LCoXvoX9V5MkzY,3097
|
|
110
|
+
recnexteval-0.1.0.dist-info/RECORD,,
|