crab-源码-模型和算法

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:定义两个用户间的相似度,它是基于协同过滤的推荐引擎的核心部分,可以用来计算用户的“邻居”


你可能感兴趣的:(python,人工智能,推荐系统,crab)