File size: 3,317 Bytes
0cd4f1f | 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | ---
tags:
- recommender-system
- sasrec
datasets:
- ML-100k
---
# SASRec - ML-100k
## Model Description
SASRec (Self-Attentive Sequential Recommendation) is a sequential recommendation model that uses self-attention mechanisms to model user's historical behavior data.
## Training Results
### Best Valid Results
- **ndcg@10**: 0.0197
- **hit@10**: 0.0362
- **averagepopularity@10**: 304.4937
- **giniindex@10**: 0.9858
- **itemcoverage@10**: 0.0747
- **shannonentropy@10**: 0.0387
- **tailpercentage@10**: 0.0002
### Test Results
- **ndcg@10**: 0.0157
- **hit@10**: 0.0351
- **averagepopularity@10**: 304.5865
- **giniindex@10**: 0.9861
- **itemcoverage@10**: 0.0688
- **shannonentropy@10**: 0.0417
- **tailpercentage@10**: 0.0
## Configuration
The model was trained with the following configuration:
```yaml
ENTITY_ID_FIELD: entity_id
HEAD_ENTITY_ID_FIELD: head_id
ITEM_ID_FIELD: item_id
ITEM_LIST_LENGTH_FIELD: item_length
LABEL_FIELD: label
LIST_SUFFIX: _list
MAX_ITEM_LIST_LENGTH: 50
MODEL_INPUT_TYPE: InputType.POINTWISE
MODEL_TYPE: ModelType.SEQUENTIAL
NEG_PREFIX: neg_
POSITION_FIELD: position_id
RATING_FIELD: rating
RELATION_ID_FIELD: relation_id
TAIL_ENTITY_ID_FIELD: tail_id
TIME_FIELD: timestamp
USER_ID_FIELD: user_id
additional_feat_suffix: null
alias_of_entity_id: null
alias_of_item_id: null
alias_of_relation_id: null
alias_of_user_id: null
attn_dropout_prob: 0.5
benchmark_filename: null
checkpoint_dir: saved
clip_grad_norm: null
dataloaders_save_path: null
dataset: ml-100k
dataset_save_path: null
device: cpu
discretization: null
enable_amp: false
enable_scaler: false
entity_kg_num_interval: null
epochs: 1
eval_args:
group_by: user
mode:
test: full
valid: full
order: TO
split:
LS: valid_and_test
eval_batch_size: 40960
eval_step: 1
eval_type: EvaluatorType.RANKING
field_separator: "\t"
filter_inter_by_user_or_item: true
gpu_id: '0'
hidden_act: gelu
hidden_dropout_prob: 0.5
hidden_size: 64
initializer_range: 0.02
inner_size: 256
item_inter_num_interval: '[10,inf)'
kg_reverse_r: false
layer_norm_eps: 1.0e-12
learner: adam
learning_rate: 0.001
load_col:
inter:
- user_id
- item_id
- rating
- timestamp
local_rank: 0
log_wandb: false
loss_decimal_place: 4
loss_type: CE
metric_decimal_place: 4
metrics:
- NDCG
- Hit
- AveragePopularity
- GiniIndex
- ItemCoverage
- ShannonEntropy
- TailPercentage
model: SASRec
n_heads: 2
n_layers: 2
normalize_all: true
normalize_field: null
numerical_features: []
preload_weight: null
relation_kg_num_interval: null
repeatable: true
reproducibility: true
require_pow: false
rm_dup_inter: null
save_dataloaders: false
save_dataset: false
seed: 2020
seq_len: null
seq_separator: ' '
show_progress: false
shuffle: true
single_spec: true
state: INFO
stopping_step: 10
test_neg_sample_args:
distribution: uniform
sample_num: none
threshold: null
topk:
- 10
train_batch_size: 4096
train_neg_sample_args:
alpha: none
candidate_num: 0
distribution: none
dynamic: false
sample_num: none
transform: null
unload_col: null
unused_col:
inter:
- rating
use_gpu: true
user_inter_num_interval: '[10,inf)'
val_interval:
rating: '[3,inf)'
valid_metric: NDCG@10
valid_metric_bigger: true
valid_neg_sample_args:
distribution: uniform
sample_num: none
wandb_project: recbole
weight_decay: 0.0
worker: 0
```
## Usage
|