251031更新
This commit is contained in:
parent
c6f19c630f
commit
d5fd39ad55
22
推荐系统/main.py
22
推荐系统/main.py
|
|
@ -27,8 +27,8 @@ from pydantic import BaseModel, Field, model_validator
|
|||
class InitializationArguments(BaseModel):
|
||||
"""推荐系统初始化参数数据模型"""
|
||||
|
||||
# 时间窗口(单位为天),平衡实时性和运算效率
|
||||
time_window: int = Field(default=30, ge=5, le=360)
|
||||
# 时间窗口(单位为天,默认无穷大)
|
||||
time_window: float = Field(default=float("inf"))
|
||||
# 衰减因子兰布达系数,控制兴趣分数衰减速率(默认不衰减)
|
||||
decay_lambda: float = Field(default=0, ge=0.00, le=10)
|
||||
# 用户特征向量维度数
|
||||
|
|
@ -299,11 +299,13 @@ class RecommenderSystem:
|
|||
for item_recall in self.behaviors[user_heuristic]["history_items"]:
|
||||
if item_recall not in items_heuristic:
|
||||
items_recall[item_recall]["counts"] += 1
|
||||
items_recall[item_recall]["scores"] += self.behaviors[user_heuristic]["scores"][item_recall]
|
||||
|
||||
|
||||
|
||||
# 计算余弦相似度
|
||||
for item_heuristic in items_heuristic:
|
||||
users_heuristic = self.items_inversion[item_heuristic]
|
||||
|
||||
for item_recall in items_recall:
|
||||
users_recall = self.items_inversion[item_recall]
|
||||
|
||||
|
|
@ -459,6 +461,20 @@ if __name__ == "__main__":
|
|||
"timestamp": int(time.time() - 3200),
|
||||
"rating": 3,
|
||||
},
|
||||
{
|
||||
"user": "dddddd",
|
||||
"item": "444444",
|
||||
"type_": "rating",
|
||||
"timestamp": int(time.time() - 3200),
|
||||
"rating": 5,
|
||||
},
|
||||
{
|
||||
"user": "dddddd",
|
||||
"item": "111111",
|
||||
"type_": "rating",
|
||||
"timestamp": int(time.time() - 3200),
|
||||
"rating": 5,
|
||||
},
|
||||
]
|
||||
|
||||
for feedback_record in feedback_records:
|
||||
|
|
|
|||
Loading…
Reference in New Issue