forked from st-tech/zr-obp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
base.py
29 lines (21 loc) · 848 Bytes
/
base.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Copyright (c) Yuta Saito, Yusuke Narita, and ZOZO Technologies, Inc. All rights reserved.
# Licensed under the Apache 2.0 License.
"""Abstract Base Class for Logged Bandit Feedback."""
from abc import ABCMeta
from abc import abstractmethod
class BaseBanditDataset(metaclass=ABCMeta):
"""Base Class for Synthetic Bandit Dataset."""
@abstractmethod
def obtain_batch_bandit_feedback(self) -> None:
"""Obtain batch logged bandit data."""
raise NotImplementedError
class BaseRealBanditDataset(BaseBanditDataset):
"""Base Class for Real-World Bandit Dataset."""
@abstractmethod
def load_raw_data(self) -> None:
"""Load raw dataset."""
raise NotImplementedError
@abstractmethod
def pre_process(self) -> None:
"""Preprocess raw dataset."""
raise NotImplementedError