/
githubmirror
/
ailearning
Обзор
Документация
Войти
/
githubmirror
/
ailearning
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/py3.x/ml/16.RecommenderSystems/python/Recommender.py
28 строк
651 B
jiangzhonglian
git 项目大瘦身
11 окт 2019, 11:48
11 окт 2019, 11:48
81abcb3
Код
Авторство
О чём код?
import numpy as np # 自定义杰卡德相似系数函数,仅对0-1矩阵有效 def Jaccard(a, b): return 1.0*(a*b).sum()/(a+b-a*b).sum() class Recommender(): # 相似度矩阵 sim = None # 计算相似度矩阵的函数 def similarity(self, x, distance): y = np.ones((len(x), len(x))) for i in range(len(x)): for j in range(len(x)): y[i, j] = distance(x[i], x[j]) return y # 训练函数 def fit(self, x, distance=Jaccard): self.sim = self.similarity(x, distance) # 推荐函数 def recommend(self, a): return np.dot(self.sim, a)*(1-a)