crab-master/scikits/crab/recommenders/svd/classes.py
* 基于 knn/item_strategies/ItemsNeighborhoodStrategy
计算基础相似度,作为备选集
也可在初始化时,设置自定义的算法
* 基于 numpy
crab\model:过滤的模型
- 提供了 MatrixPreferenceDataModel,MatrixBooleanPrefDataModel 两种模型
- MatrixPreferenceDataModel
输入:
{userID:{itemID:preference, itemID2:preference2},userID2:{itemID:preference3,itemID4:preference5}}
输出:
调用 model.preferences_from_user('推荐对象的名称')
返回如
[('Lady in the Water', 3.0), ('Snakes on a Plane', 4.0), ('Superman Returns', 5.0),('The Night Listener', 3.0), ('You, Me and Dupree', 3.5)]
- MatrixBooleanPrefDataModel
直接就布尔了...
...
输出:
array(['Lady in the Water', 'Snakes on a Plane', 'Superman Returns','The Night Listener', 'You, Me and Dupree'],dtype='|S18')
crab\metrics:衡量的实现
- 提供算法:
cosine_distances, euclidean_distances, pearson_correlation,
jaccard_coefficient, loglikehood_coefficient, manhattan_distances,
sorensen_coefficient, spearman_coefficient
- 检验的方法:
LeaveOneOut(留一逼近), LeavePOut, KFold, ShuffleSplit
crab\similarities:相似性计算
- 提供 ItemSimilarity, UserSimilarity
- ItemSimilarity:计算内容之间的相似度
- UserSimilarity:定义两个用户间的相似度,它是基于协同过滤的推荐引擎的核心部分,可以用来计算用户的“邻居”