Giter Club home page Giter Club logo

qrec's Introduction

Hi there 👋

This is Junliang Yu. I am currently a postdoctoral research fellow working on data science [Homepage][Google Scholar]

  • I’m working with A/Prof. Hongzhi Yin and Prof. Shazia Sadiq at the University of Queensland.
  • My research interests include recommender systems, tiny machine learning, self-supervised learning and graph learning.
  • Feel free to drop me an email if you have any questions. 📧

Featured Project 🍊

logo

GitHub stars GitHub forks GitHub last commit

You can find all the implementations of my papers in QRec 😜.

   

logo

GitHub stars GitHub forks GitHub last commit

SELFRec is a Python framework for self-supervised recommendation (SSR) which integrates commonly used datasets and metrics, and implements many state-of-the-art SSR models. SELFRec has a lightweight architecture and provides user-friendly interfaces. It can facilitate model implementation and evaluation.

qrec's People

Contributors

coder-yu avatar doutong avatar giginewstart avatar gorgeousdays avatar huxilifeng avatar lizzhang315 avatar niki666 avatar recq-cse avatar swjz avatar yuyu2223 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qrec's Issues

ImportError

你好~,我在anoconda2.7下进入main文件夹运行main.py,选择ItemKNN,发现没法import ItemKNN,
ImportError: No module named ItemKNN
大意是在main文件夹运行没法执行 from algorithm.rating.ItemKNN import ItemKNN
请问正确的运行姿势是什么...

implementation of RSTE

I have one question about implementation of RSTE algorithm, why there is no difference between update rule of this model and PMF? how we have exploited the social data in updating parameters?

问个问题 关于tensorflow的

看到有些代码支持tensorflow了 没咋接触过 请问tensorflow怎么debug呢?
意思就是说关于tensorflow的代码写错了 我怎么去发现啊

EE模型

不好意思,又打扰您了,同样的参数设置.为什么EE模型得出来的结果和加入社交信息的模型没多大区别呢?难道又优化了吗?希望有空解答

您好,想请教下关于CFGAN的问题

您好,我看到您CFGAN实现中,在predictForRanking函数里对于测试集中那些没有出现在训练集的用户预测项目排名时,直接使用的是用户全局平均评分作为预测值,我想问一下这样做是不是不太合理啊,还是大部分的推荐算法都是这样做的呢?求指教。
我对测试集的使用有点不太懂,测试集里的用户应该大部分是没有出现在训练集中吧,如果直接使用用户的全局评分作为预测值,那算法不是相当于对大部分测试数据没有起到作用吗?

Question about computing loss function

First of all thanks for this awesome library, I have one question about computing loss value of various algorithms, why you didn't use a separate function for computing loss?
For example in PMF for every training tuple we are adding self.regU * p.dot(p) + self.regI * q.dot(q) to loss value which is much more than what we have in proposed objective functions.

I was wondering using a function to calculate loss value effect algorithm final value?

Typle Error

Hello professor!thanks for your code. when I run main.py and choose the algorithm . it always has the same question:
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/新建文件夹/RecQ/RecQ-master/main/main.py", line 67, in
recSys.execute()
File "C:\Users\Administrator\Desktop\新建文件夹\RecQ\RecQ-master\main\RecQ.py", line 100, in execute
self.measure = [dict.setdafault(m)[i] for i in range(1,k+1)]
File "C:\Users\Administrator\Desktop\新建文件夹\RecQ\RecQ-master\main\RecQ.py", line 100, in
self.measure = [dict.setdafault(m)[i] for i in range(1,k+1)]
AttributeError: type object 'dict' has no attribute 'setdafault'
How can I solve it?looking for your reply.

请教

你好,请教个问题,元路径的设计有什么特别要求吗??怎样才是合理的??

SocialMF

Hello,
I'm looking at the code of SocialMF.

I think that there is an error in this line:
relationLoss = p - fPred / denom
since p is the copy of the vector P[u] in the loop before.

Should it be corrected with
relationLoss = P[u] - fPred / denom
?

SocialMF update rule for P

I was looking at code for SocialMF and I saw that for updating self.P[u] the following rule is used: self.P[u] += self.lRate * (error * q - self.regU * p - self.regS * relationLoss), however I checked the paper and saw that another term is missing
capture

ImportError: No module named mkl

你好,在Macbook上运行main.py出现了一个问题,下载了依赖mkl,还是出现这个:

/usr/local/bin/python2.7 /Users/feanlau/Desktop/RecQ/main/main.py
Traceback (most recent call last):
  File "/Users/feanlau/Desktop/RecQ/main/main.py", line 3, in <module>
    from RecQ import RecQ
  File "/Users/feanlau/Desktop/RecQ/main/RecQ.py", line 9, in <module>
    import mkl
ImportError: No module named mkl

Process finished with exit code 1

jietu20181010-145943

请问一下,这个问题如何解决

When i use BasicMF,it has a bug,NameError: global name 'exit' is not defined

please enter the num of the algorithm to run it:3
loading training data...
preprocessing...
Algorithm: BasicMF
Ratings dataset: D:\Documents\GitHub\RecQ\dataset\FilmTrust\trainset.txt
Training set size: (user count: 1466, item count 1822, record count: 25437)
Test set size: (user count: 1228, item count 837, record count: 6414)

Reduced Dimension: 10
Maximum Iteration: 30
Regularization parameter: regU 0.050, regI 0.050, regB 0.100

Initializing model [1]...
Building Model [1]...
BasicMF [1] iteration 1: loss = 4504.4702, delta_loss = -4504.47023 learning_Rate = 0.10000 MAE:0.94468 RMSE:1.26997
BasicMF [1] iteration 2: loss = 3045.5222, delta_loss = 1458.94800 learning_Rate = 0.10000 MAE:0.82719 RMSE:1.10244
BasicMF [1] iteration 3: loss = 2488.2282, delta_loss = 557.29403 learning_Rate = 0.10500 MAE:0.79605 RMSE:1.05366
BasicMF [1] iteration 4: loss = 2083.2779, delta_loss = 404.95032 learning_Rate = 0.11025 MAE:0.76532 RMSE:1.01478
BasicMF [1] iteration 5: loss = 1695.7569, delta_loss = 387.52094 learning_Rate = 0.11576 MAE:0.74591 RMSE:0.99706
BasicMF [1] iteration 6: loss = 1451.4868, delta_loss = 244.27015 learning_Rate = 0.12155 MAE:0.75029 RMSE:1.00164
BasicMF [1] iteration 7: loss = 1379.8544, delta_loss = 71.63238 learning_Rate = 0.12763 MAE:0.77166 RMSE:1.02828
Loss = NaN or Infinity: current settings does not fit the recommender! Change the settings and try again!
D:\Documents\GitHub\RecQ\algorithm\rating\BasicMF.py:16: RuntimeWarning: overflow encountered in double_scalars
self.loss += error2
D:\Documents\GitHub\RecQ\algorithm\rating\BasicMF.py:21: RuntimeWarning: overflow encountered in multiply
self.P[u] += self.lRateerrorq
D:\Documents\GitHub\RecQ\algorithm\rating\BasicMF.py:16: RuntimeWarning: invalid value encountered in double_scalars
self.loss += error
2
Traceback (most recent call last):

File "", line 1, in
runfile('D:/Documents/GitHub/RecQ/main/main.py', wdir='D:/Documents/GitHub/RecQ/main')

File "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
execfile(filename, namespace)

File "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 86, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)

File "D:/Documents/GitHub/RecQ/main/main.py", line 117, in
recSys.execute()

File "RecQ.py", line 121, in execute
eval(recommender).execute()

File "D:\Documents\GitHub\RecQ\baseclass\Recommender.py", line 265, in execute
self.buildModel()

File "D:\Documents\GitHub\RecQ\algorithm\rating\BasicMF.py", line 26, in buildModel
if self.isConverged(iteration):

File "D:\Documents\GitHub\RecQ\baseclass\IterativeRecommender.py", line 80, in isConverged
exit(-1)

Soreg 算法

您好!请问在实现Soreg 算法时,通过0.00001 0.00001 0.001 等改变社会正则化项的权重为什么得到RMSE的值变化不大,与论文里的不一样呢?

To apply ItemKNN to ranking problem.

Excuse me,
I run the main.py,and select the ItemKNN model.In my experiment,i want to apply itemKNN to ranking problem,but the output i see is a rating problem.what should i do ?

数据

你好,数据集是不是要预先处理后才能使用你们的项目?还是项目有相关的代码划分数据集?

如何安装运行

您好,我想请教一下如何安装运行这个库,试过在anaconda上安装,但是失败了,希望能解答一下

您好,想请教下关于CFGAN损失函数的问题

您好,我发现CFGAN的程序运行后G_loss的值为负值,然后我对比了下论文,您实现的是论文的CFGAN_ZP方法吧,发现您定义的损失函数也没什么问题,跟论文是一致的,所以很迷惑,想向您请教下是什么原因造成生成器的损失函数值为负?麻烦您了

how to generate the data?

Hi,

Is there any tool to generate the data in the required format?
in particular, how to create the relationship between users?

Thanks,

LOCABAL

Hello,
I can execute all the algorithms but not locabal. When I select locabal, it says to me "no module named LOCABAL".

Can you help me, please?

LOCABAL梯度下降式子疑问

您好,我看到您写的LOCABAL算法了,我对您用的梯度下降公式有点疑问,您在哪儿找到的这个公式,我在原论文里没找到啊,然后我在其他论文里找到了部分,a synthetic approach for recommendation combining ratings social relations and reviews. 这个论文里使用了LOCABAL算法,他给出的迭代公式和您代码里写的还是有很大不同的。这里我还是有点疑惑的。

Computing precision and recall of LOCABAL

Hello,
I'm trying to test LOCABAL. If I compute MAE and RMSE I obtain reasonable results. But if I ask to the framework to compute precision@10, recall@10, etc. I obtain very low values like the following ones:

The result of LOCABAL [1]:
Top 10
Precision:2.36053190652e-05
Recall:4.52903641589e-05
F1:3.10351373706e-05
MAP:1.20828946366e-05
NDCG:3.38163865285e-05

The result of LOCABAL [1]:
MAE:0.843245316305
RMSE:1.07930190638

Can you help me, please?

Question about Top N > 100

I got a new problem again.
I study about your code,and in baseclass/recommendation.py "evalRanking" function, I note that the TOP-N problem "N" must be less than 100 and greater than 0,and the indicators MAP,NDCG are computed as MAP@N,[email protected] i need to calculete them on all dataset with WRMF method, I modified your "evalRanking" function like this:

        if self.ranking.contains('-topN'):
            top = self.ranking['-topN'].split(',')
            top = [int(num) for num in top]
            N = len(self.data.item)

and i also modeified the RankMeasure function in measure.py.
But now I got the error:

  File "../baseclass/baseclass/Recommender.py", line 181, in evalRanking
    if recommendations[r] < itemSet[item]:
IndexError: list index out of range

So,How should i do?thanks.

SoRec的TF版本

您好,我自己在尝试写SoRec的TF版本的遇到一个问题,因为损失函数涉及到评分矩阵和用户关系两个矩阵,不知道按批优化的时候能不能同时从这两个矩阵里抽取样本来进行优化

有个小bug

config目录下的SoReg.conf第6行testSet.txt应该写成testset.txt。
另外,SoReg.py里的迭代公式只考虑了Followee� ,但没有考虑Followeer,是不是缺少一项,我看原论文中迭代公式考虑了两种情况。
还有由SoReg衍生的LOCABAL算法,看到你们有一个commit实现了,但后来又删除了,为什么不保留啊?

Temporal Factor in RS in general?

Was there any temporal dimension or consideration in your SVD model implementation?

Y. Koren, Collaborative Filtering with Temporal Dynamics, SIGKDD 2009.

Graph Neural Network for social recommendaiton

As you updated Deep Graph Collaborative Filtering recently, have you tried to implement another state-of-the-art algorithm GraphRec from the paper Graph Neural Network for Social Recommendation in RecQ?

I met some problems when implementing GraphRec as getting worse results than reported in the paper. I'm wondering if it's because my implementation is wrong or GraphRec doesn't work as reported.

fold这个参数似乎没用过,一直都是默认的[1]

在所有的Recommender中的初始化函数中都有fold参数
def init(self,conf,trainingSet=None,testSet=None,relation=list(),fold='[1]'):

只有在RecQ中使用到了recommender = self.config['recommender']+'(self.config,self.trainingData,self.testData,self.relation)'

似乎没必要使用fold

Question about IF-BPR: parameter batch_size is invalid!

I downloaded the ratings_data.txt and trust_data.txt from HERE, deleted the first line and placed it in dir dataset.

Run a4(IF-BPR) with this configuration file:

ratings=../dataset/epinions/ratings_data.txt
social=../dataset/epinions/trust_data.txt
ratings.setup=-columns 0 1 2
social.setup=-columns 0 1 2
recommender=IF_BPR
evaluation.setup=-cv 5 -b 1
item.ranking=on -topN 10
num.factors=20
num.max.iter=30
IF_BPR=-T 2 -L 20 -l 20 -w 5 -k 150 -a 0.2 -ep 5 -neg 5 -r 0.03
learnRate=-init 0.05 -max 1
reg.lambda=-u 0.01 -i 0.01 -b 0.01 -s 0.2
output.setup=on -dir ../results/

But I have encountered this problem:

please enter the num of the algorithm to run it:a4
loading training data...
loading social data...
preprocessing...
parameter batch_size is invalid!
parameter batch_size is invalid!
parameter batch_size is invalid!
parameter batch_size is invalid!
parameter batch_size is invalid!
Traceback (most recent call last):
  File "main.py", line 150, in <module>
    recSys.execute()
  File "/home/name/Desktop/RecQ/main/RecQ.py", line 100, in execute
    self.measure = [dict(m)[i] for i in range(1,k+1)]
KeyError: 1

Excuse me, may I ask which step did I not do well??

On the implementation of CFGAN

Dear researchers:

Thank you so much for your interest in my paper, "CFGAN: A Generic Collaborative Filtering Framework based on Generative Adversarial Networks"
I just have found your implementation of my work, and it is really good.
However, I found several differences from my implementation of CFGAN.
I summarized it at CFGAN's project page: [http://www.agape.hanyang.ac.kr/cfgan]

Thank you again for your interest and very good implementation.
Have a good day!

Best,
Dong-Kyu

CFGAN结果复现

请问作者在做CFGAN试验时,有没有复现论文的结果?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.