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)
- RSGAN中负样本生成的问题 HOT 1
- 使用GPU HOT 2
- K重交叉验证每一次结果不一样 HOT 2
- About socialmf_tf HOT 2
- DHCF模型 HOT 2
- Problem HOT 1
- NDCG计算 HOT 1
- 数据集问题 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
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.