协同过滤算法(CF)在推荐系统中面临数据稀疏性和可伸缩性问题。提出了基于类别偏好Canopy-K-means的协同过滤算法(CPCKCF),定义了用户项类别偏好比率(UICPR)并计算UICPR矩阵。CPCKCF算法以Canopy算法为前置步骤,并将其输出作为K-means算法的输入,用于用户数据的聚类和近邻用户预测得分。实验结果基于MovieLens数据集显示,与传统基于用户的协同过滤算法相比,CPCKCF算法提高了计算效率和推荐精度约2.81%。