Comments (4)
Using Memory based algorithms to rank items is extremely time-consuming. So ranking for all items in ItemKNN is not available in RecQ. If you really need to use ItemKNN or UserKNN to rank all items, You can rewrite the function of predictForRanking in ItemKNN.py and use a loop to predict each score and return a vector. However, this is not recommended. You can find it difficult to use matrix computation to accelerate this process as you have to find neighborhood for every user or item and aggregate the corresponding scores. So I recommend you to use the model based algorithms such as PMF, SVD, BPR to solve a ranking problem. BTW, the ranking algorithms which are collected in the directory of 'ranking' under the directory named 'algorithm' perform much better than the rating based algorithms. Actually, I believe it may take some time to figure out the differences between the rating and model based algorithms. If you are a noob in this area, firstly you should read some papers or books. With the full understanding of the theory of recommender systems, you can make RecQ a useful and powerful tool. Of course, reading the README.MD is a must before you run this project. (^▽^)
from qrec.
Thanks for your reply in details.Yes,i am a noob in RS ,so most of my questions are about dataset and parameters . Now i want to use the WRMF in my ranking problems.I am confusing if I apply wrmf on a new dataset such as movielens-100k,do I need to tuning these hyperparameters such as number of factors or number of iterations?Or do all of models tune to the best on these dataset we provided including Ciao,Epinions etc.
from qrec.
Of course tuning is necessary. Generally, a larger dimension (e.g. 50) may result in better performance. I suggest you to try different values for hyperparameters. BTW, despite the remarkable performance of WRMF. it is not suitable for large dataset since the vector-wise ALS is time-consuming. MovieLens-100k is ok, but conducting with Epinions could be tormenting as it has a large number of users and items which result in a large matrix to be updated. BPR is a better choice.
from qrec.
Of course tuning is necessary. Generally, a larger dimension (e.g. 50) may result in better performance. I suggest you to try different values for hyperparameters. BTW, despite the remarkable performance of WRMF. it is not suitable for large dataset since the vector-wise ALS is time-consuming. MovieLens-100k is ok, but conducting with Epinions could be tormenting as it has a large number of users and items which result in a large matrix to be updated. BPR is a better choice.
Thanks.I think I will reproduce both of them for helping me understand the process,and your replies help me a lot ,too.Thanks again for sharing.
from qrec.
Related Issues (20)
- 数据集问题 HOT 1
- 关于MHCN的性能问题 HOT 1
- 关于ESRF的问题请教 HOT 6
- Visual image rendering HOT 2
- Performance comparison over different item groups HOT 3
- yelp数据集的疑问 HOT 1
- 用相同的数据集训练,设置相同的种子,相同的参数。MHCN在QRec上的表现明显优于SELFRec是什么原因啊 HOT 5
- 关于ESRF代码如何提取出 alternative neighborhood HOT 3
- KeyError: 1 HOT 8
- 更改训练集和测试集 HOT 4
- 有关新模型训练 HOT 1
- 如何配置evaluation.setup下的-predict参数 HOT 2
- 可视化结果 HOT 2
- LightGCN復現性能問題 HOT 3
- 模型CUNE_BPR运行报错 HOT 1
- Yelp数据集获取 HOT 1
- SimGCL的实现中,为什么要对扰动噪声加l2归一化呢?而且现有扰动的噪声是否太大了? HOT 1
- 关于xsimgcl噪声的一些问题,想请教大佬 HOT 2
- 许多模型在配置好参数后,运行main.py,发现会直接进入evaluate,而没有train HOT 4
- Epinions Download HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qrec.