文档说评级表应如下所示:
CREATE TABLE taste_preferences (
user_id BIGINT NOT NULL,
item_id BIGINT NOT NULL,
preference REAL NOT NULL,
PRIMARY KEY (user_id, item_id)
);
但是,在我的实现中,评级表如下:
CREATE TABLE taste_preferences (
profile_id BIGINT NOT NULL,
event_id BIGINT NOT NULL,
status_id BIGINT NOT NULL,
PRIMARY KEY (user_id, item_id)
);
成绩采用 status_id 形式(去,不去,也许我会去)。
用户表如下:
CREATE TABLE user (
profile_id_1 BIGINT NOT NULL,
profile_id_2 BIGINT NOT NULL,
profile_id_3 BIGINT NOT NULL,
...
);
一个用户可以有多个个人资料,我需要将这些数据与用户进行比较。
我需要编写自己的数据模型实现吗?我认为哪种方法可以解决这个问题?谢谢!
最佳答案
您此处没有任何形式的评分数据。因此,您不能在推荐中使用评级。没关系;你只有“boolean ”数据。
或者,您说您需要使用状态,但我不清楚您想如何使用它。
您当然可以使用您的taste_preferences
表。只需使用 MySQLBooleanPrefJDBCDataModel 或类似的。 user
表是不相关的。
关于java - Mahout 和数据模型的自定义表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11341259/