首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Frappe数据集上使用pyFM

在Frappe数据集上使用pyFM
EN

Stack Overflow用户
提问于 2017-05-15 13:06:01
回答 1查看 380关注 0票数 0

我试图在Frappe (code.zip)数据集上使用code.zip。以下是我的代码:

代码语言:javascript
复制
import numpy as np  
from sklearn.feature_extraction import DictVectorizer  
from pyfm import pylibfm  

def loadData(filename,path="datasets/"):  
    data = []  
    y = []  
    users=set()  
    items=set()  
    with open(path+filename) as f:  
            for line in f:  
            (user,movieid,rating,ts)=line.split('\t')  
            data.append({ "user_id": str(user), "movie_id": str(movieid)})  
            y.append(float(rating))  
            users.add(user)  
            items.add(movieid)  

    return (data, np.array(y), users, items)  

(train_data, y_train, train_users, train_items) = loadData("traindata.txt")  
(test_data, y_test, test_users, test_items) = loadData("testdata.txt")  
v = DictVectorizer()  
X_train = v.fit_transform(train_data)  
X_test = v.transform(test_data)  
fm = pylibfm.FM(num_factors=10, num_iter=100, verbose=True, task="regression", initial_learning_rate=0.001,learning_rate_schedule="optimal")  

fm.fit(X_train,y_train)  
preds = fm.predict(X_test)  
from sklearn.metrics import mean_squared_error  
print("FM MSE: %.4f" % mean_squared_error(y_test,preds))  

但是,在运行此代码时,我会收到反对的警告,并将FM作为0.0000运行。如何使代码正确运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-19 20:16:29

由于隐式数据集仅包含正评等,因此FM将无法在该数据集上工作(它将给出错误0.00)。您需要有负面的实例(例如。FM的正确工作(在现实世界中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43980357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档