FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cornac/examples/ngcf_example.py at master · PreferredAI/cornac · GitHub
PreferredAI
/
cornac
Public
Notifications
You must be signed in to change notification settings
Fork
173
Star
1.1k
Code
Issues
23
Pull requests
0
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cornac
/
examples
/
ngcf_example.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
60 lines (55 loc) · 1.7 KB
Breadcrumbs
cornac
/
examples
/
ngcf_example.py
Copy path
File metadata and controls
60 lines (55 loc) · 1.7 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
# Copyright 2018 The Cornac Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============================================================================
"""
Example for NGCF, using the CiteULike dataset
"""
import
cornac
from
cornac
.
datasets
import
citeulike
from
cornac
.
eval_methods
import
RatioSplit
# Load user-item feedback
data
=
citeulike
.
load_feedback
()
# Instantiate an evaluation method to split data into train and test sets.
ratio_split
=
RatioSplit
(
data
=
data
,
val_size
=
0.1
,
test_size
=
0.1
,
exclude_unknowns
=
True
,
verbose
=
True
,
seed
=
123
,
rating_threshold
=
0.5
,
)
# Instantiate the NGCF model
ngcf
=
cornac
.
models
.
NGCF
(
seed
=
123
,
num_epochs
=
1000
,
emb_size
=
64
,
layer_sizes
=
[
64
,
64
,
64
],
dropout_rates
=
[
0.1
,
0.1
,
0.1
],
early_stopping
=
{
"min_delta"
:
1e-4
,
"patience"
:
50
},
batch_size
=
1024
,
learning_rate
=
0.001
,
lambda_reg
=
1e-5
,
verbose
=
True
,
)
# Instantiate evaluation measures
rec_20
=
cornac
.
metrics
.
Recall
(
k
=
20
)
ndcg_20
=
cornac
.
metrics
.
NDCG
(
k
=
20
)
# Put everything together into an experiment and run it
cornac
.
Experiment
(
eval_method
=
ratio_split
,
models
=
[
ngcf
],
metrics
=
[
rec_20
,
ndcg_20
],
user_based
=
True
,
).
run
()
Back
|
FazBrowse Home
|
New Git URL