基于HadoopB站热门视频数据分析可视化系统
基于机器学习B站热门视频数据分析预测可视化

前言介绍

随着大数据时代的到来,数据分析和可视化成为了洞察业务趋势、提升决策质量的关键手段。B站数据分析可视化系统应运而生,旨在通过对海量数据的采集、处理、分析和展示,为业务决策提供强有力的数据支持。该系统采用Python语言Django框架和java语言Springboot框架两种语言框架分别进行开发,利用其强大的数据处理能力和丰富的库支持,实现数据的高效分析。Scrapy技术的应用使得系统能够快速爬取B站的公开数据,为分析提供原始素材。看板可视化技术则将分析结果以直观、易理解的方式呈现给用户,提升信息传递的效率。预测功能通过构建数据模型,对B站的热门视频进行机器学习算法随机森林回归预测和协同过滤算法推荐,为战略规划提供依据。

Hadoop框架的应用解决了大数据环境下的存储和计算问题,保障了系统的可扩展性。Django框架和Springboot框架的使用简化了Web应用的开发,使得系统功能更加丰富、稳定。MySQL数据库作为数据存储的核心,以其可靠性和易用性,为平台提供了强大的数据支持。B站数据分析可视化系统的建设和应用,不仅提高了数据分析的效率和质量,也为业务创新和发展提供了新的动力,推动了数据分析技术在视频平台领域的应用和发展。

01开发环境

1.1Java 技术和Python技术(两种语言开发的都有)

1.2SpringBoot框架和Django框架(两种框架开发)

1.3Hadoop,hdfs

1.4Scrapy爬虫

1.5MySQL数据库

1.6B/S 结构

1.7Vue.js 技术

1.8随机森林回归算法和协同过滤算法(余弦相似性)
在这里插入图片描述

02系统功能模块

亮点(爬虫【Bilibili网站】、机器学习(随机森林)、协同过滤算法,数据预测、Echarts可视化)

1、视频数据管理:爬虫信息列表展示。

2、数据存储:mysql数据库。

3、可视化分析:各种数据分析统计后图表大屏展示。

4、情感分析预测:根据B站视频的各种属性进行预测。

5、数据分析:根据hadoop大数据技术进行数据分析

标题03图片展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标题04 部分代码展示

 /**
     * 协同过滤算法(基于用户的协同算法)(交流学习+vx:S20231025S )
     */
 @RequestMapping("/autoSort2")
    public R autoSort2(@RequestParam Map<String, Object> params,CaipinxinxiEntity caipinxinxi, HttpServletRequest request){
        String userId = request.getSession().getAttribute("userId").toString();
        Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());
        // 查询订单数据
        List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>());
        Map<String, Map<String, Double>> ratings = new HashMap<>();
        if(orders!=null && orders.size()>0) {
            for(OrdersEntity o : orders) {
                Map<String, Double> userRatings = null;
                if(ratings.containsKey(o.getUserid().toString())) {
                    userRatings = ratings.get(o.getUserid().toString());
                } else {
                    userRatings.put(o.getGoodid().toString(), 1.0);
                }
            }
        }
        // 创建协同过滤对象
        UserBasedCollaborativeFiltering filter = new UserBasedCollaborativeFiltering(ratings);
        // 为指定用户推荐物品
        String targetUser = userId;
        int numRecommendations = limit;
        List<String> recommendations = filter.recommendItems(targetUser, numRecommendations);
        // 输出推荐结果
        System.out.println("Recommendations for " + targetUser + ":");
        for (String item : recommendations) {
            System.out.println(item);
        }
        EntityWrapper<CaipinxinxiEntity> ew = new EntityWrapper<CaipinxinxiEntity>();
        ew.in("id", recommendations);
        ew.eq("onshelves","1");
        if(recommendations!=null && recommendations.size()>0 && recommendations.size()>0) {
            ew.last("order by FIELD(id, "+String.join(",", recommendations)+")");
        }

更多推荐