【基于机器学习的推荐系统项目实战-2】项目介绍与技术选型
本节目录
- 一、项目介绍
-
- 1.1 采用的数据源
- 1.2 Concrec架构技术选型
- 1.3 Sprak介绍
- 1.4 Flink
- 1.5 TensorFlow
一、项目介绍
1.1 采用的数据源
Kaggle Anime Recommendations Dataset。
其中的动漫数据源自myanimelist.net。
1.2 Concrec架构技术选型
- 数据预处理模块:汇总各方数据源+可视化检视数据+对数据进行清晰和转换(分类属性encode,数值属性进行缩放)
- 召回模块:根据多种策略对候选集进行初步召回。
- 排序模块:针对优化目标进行精准的排序,实现特定规则的重排序(类目打散,提升新颖性。)
- 接口服务模块:组装排序后的结果,提供给前端。
- 编程语言:Python。
- 微服务框架:Flask。
- 前端框架:Vue。
- 数据分析:pandas。
- 大数据处理:Spark+Flink。
- 机器学习框架:TensorFlow。
1.3 Sprak介绍
其中Spark是分布式大数据处理平台,解决了计算能力和存储能力分布的问题。
简而言之,让计算资源去找存储资源。
不同于Hadoop,Spark基于内存计算,速度更快。
同时提供多种编程接口如SparkSQL,Mllib等。
Spark和Hadoop的主要区别在于:
- Spark是一个内存密集型的计算框架,而Hadoop是一个磁盘密集型的计算框架。
- Spark支持流式处理,而Hadoop不支持。
- Spark支持多种编程语言,而Hadoop只支持Java。
- Spark支持实时处理,而Hadoop不支持。
- Spark支持多种数据源,而Hadoop只支持HDFS。
1.4 Flink
Flink是一个开源的分布式流处理框架,用于处理实时数据流和批处理数据。它提供了一个高效的、可扩展的、可编程的运行时环境,可以用于处理大规模的数据流和批处理任务。Flink支持多种编程模型,包括Java、Scala和Python,可以轻松地将数据流和批处理任务组合在一起,以构建复杂的数据处理管道。Flink还提供了一系列的API,可以用于构建实时分析应用程序,以及支持多种数据源和数据格式,可以轻松地将数据从不同的源头集成到Flink中。
1.5 TensorFlow
TensorFlow是一个开源的机器学习框架,由Google开发,可以用于构建、训练和部署机器学习模型。它提供了一系列的工具,可以帮助开发者构建和训练深度学习模型,并且可以在各种硬件平台上部署模型,包括CPU、GPU和TPU。TensorFlow还提供了一个可视化工具,可以帮助开发者更好地理解和调试模型。