Source code for recbole.utils.enum_type

# -*- coding: utf-8 -*-
# @Time   : 2020/8/9
# @Author : Yupeng Hou
# @Email  : houyupeng@ruc.edu.cn

"""
recbole.utils.enum_type
#######################
"""

from enum import Enum


[docs]class ModelType(Enum): """Type of models. - ``GENERAL``: General Recommendation - ``SEQUENTIAL``: Sequential Recommendation - ``CONTEXT``: Context-aware Recommendation - ``KNOWLEDGE``: Knowledge-based Recommendation """ GENERAL = 1 SEQUENTIAL = 2 CONTEXT = 3 KNOWLEDGE = 4 SOCIAL = 5 TRADITIONAL = 6 XGBOOST = 7
[docs]class DataLoaderType(Enum): """Type of DataLoaders. - ``ORIGIN``: Original DataLoader - ``FULL``: DataLoader for full-sort evaluation - ``NEGSAMPLE``: DataLoader for negative sample evaluation """ ORIGIN = 1 FULL = 2 NEGSAMPLE = 3
[docs]class KGDataLoaderState(Enum): """States for Knowledge-based DataLoader. - ``RSKG``: Return both knowledge graph information and user-item interaction information. - ``RS``: Only return the user-item interaction. - ``KG``: Only return the triplets with negative examples in a knowledge graph. """ RSKG = 1 RS = 2 KG = 3
[docs]class EvaluatorType(Enum): """Type for evaluation metrics. - ``RANKING``: Ranking metrics like NDCG, Recall, etc. - ``INDIVIDUAL``: Individual metrics like AUC, etc. """ RANKING = 1 INDIVIDUAL = 2
[docs]class InputType(Enum): """Type of Models' input. - ``POINTWISE``: Point-wise input, like ``uid, iid, label``. - ``PAIRWISE``: Pair-wise input, like ``uid, pos_iid, neg_iid``. """ POINTWISE = 1 PAIRWISE = 2 LISTWISE = 3
[docs]class FeatureType(Enum): """Type of features. - ``TOKEN``: Token features like user_id and item_id. - ``FLOAT``: Float features like rating and timestamp. - ``TOKEN_SEQ``: Token sequence features like review. - ``FLOAT_SEQ``: Float sequence features like pretrained vector. """ TOKEN = 'token' FLOAT = 'float' TOKEN_SEQ = 'token_seq' FLOAT_SEQ = 'float_seq'
[docs]class FeatureSource(Enum): """Source of features. - ``INTERACTION``: Features from ``.inter`` (other than ``user_id`` and ``item_id``). - ``USER``: Features from ``.user`` (other than ``user_id``). - ``ITEM``: Features from ``.item`` (other than ``item_id``). - ``USER_ID``: ``user_id`` feature in ``inter_feat`` and ``user_feat``. - ``ITEM_ID``: ``item_id`` feature in ``inter_feat`` and ``item_feat``. - ``KG``: Features from ``.kg``. - ``NET``: Features from ``.net``. """ INTERACTION = 'inter' USER = 'user' ITEM = 'item' USER_ID = 'user_id' ITEM_ID = 'item_id' KG = 'kg' NET = 'net'