基于高校图书馆的用户画像、可视化、模型预测、推荐算法项目实现

需要本项目的可以私信博主获取源码及项目!!!

本研究基于高校图书馆的借阅信息、馆藏图书信息、读者入馆信息、用户信息等多维度的数据表,首先将不同年份的数据拼接在一起,按照时间维度进行整合,并保证数据维度字段一致性。然后对数据进行清洗,其中包括空值的检测和处理,采用Python的正则表达式模块对某些字段进行约束约束和处理,比如学院字段存在大量的不规则数值,需要将其统一。最终把清洗好的数据存入到MySQL数据库中。

其次,对不同维度的数据表进行处理之后,需要保留有效的信息数据,并将处理好的数据表存入到另外一个数据库中,方便后续进行结构化分析和图书馆群体画像与个人用户画像的设计。分别从图书借阅数据、馆藏数据、用户信息和入馆记录等维度表,挖掘不同字段之间的信息价值,并构建用户画像系统,将所有的用户画像进行可视化展示,采用pyecharts进行前端的网页端展示,并利用pyecharts的Page组件,实现基于用户画像和群体画像的大屏可视化设计。最后采用ARIMA时间序列预测算法对未来的12个月的借阅图书数量进行时间序列预测,将预测的结果可视化和存入到本地。并结合图书群体和个人用户画像,对图书信息采用基于协同过滤的算法建模,构建图书推荐算法。

本研究,从图书馆的多维度的不规则数据进行数据探索和预处理,将处理好的数据进行用户和群体画像可视化分析,剖析数据在不用维度下的规律和特点,为图书馆的智能化管理和决策提供支持,并采用预测算法和推荐模型对数据进行建模,实现数据的挖掘和可视化。

本文旨在探索高校图书馆用户群体特征、借阅数据的时间序列预测和协同过滤推荐算法的可视化研究,具体研究目的如下:

一、分析高校图书馆用户群体特征

二、预测高校图书馆借阅数据的时间序列

三、研究基于协同过滤推荐算法的图书馆资源推荐

四、探索可视化技术在图书馆数据分析与决策中的应用

本研究旨在探索高校图书馆用户行为和需求的规律性,为图书馆提供更为精准的服务和决策支持,同时也为图书馆的数字化转型和智能化服务提供借鉴。

1.3 研究意义

高校图书馆一直是学术研究、知识传承的重要场所,其承载着高校师生对于知识的渴望与获取。然而,高校图书馆如何满足不同群体的需求,提高图书利用率,提高读者满意度等问题一直是困扰图书馆管理者的难题。因此,本论文的研究意义在于,探索基于高校图书馆的群体、用户画像与图书借阅数据时间序列预测以及协同过滤推荐算法的可视化研究,以此提升图书馆服务质量,满足读者需求。

此处省略!!!

1.4 国内外研究现状

基于高校图书馆的用户画像与可视化研究,近年来受到了越来越多的关注和研究。国内外的学者们在此方面进行了丰富的探索和研究,以下是一些相关研究现状的介绍。

此处省略!!!

2 研究过程

2.1 研究总体设计

本研究旨在探究基于高校图书馆多维度数据的智能化管理和决策支持方法,总体研究路线如下:

第一步,收集高校图书馆的借阅信息、馆藏图书信息、读者入馆信息、用户信息等多维度数据表,并进行数据整合和清洗。首先将不同年份的数据拼接在一起,按照时间维度进行整合,并保证数据维度字段一致性。然后对数据进行清洗,包括空值的检测和处理,对某些字段采用Python的正则表达式模块进行约束和处理,比如将学院字段统一规范化。最终,将清洗好的数据存入MySQL数据库中,以备后续的分析和建模。

第二步,对不同维度的数据表进行处理,保留有效的信息数据,并将处理好的数据表存入到另一个数据库中,以方便后续进行结构化分析和用户画像的设计。从图书借阅数据、馆藏数据、用户信息和入馆记录等维度表,挖掘不同字段之间的信息价值,并构建用户画像系统,将所有的用户画像进行可视化展示,采用pyecharts进行前端的网页端展示,并利用pyecharts的Page组件,实现基于用户画像和群体画像的大屏可视化设计。通过对用户画像和群体画像的分析,揭示数据在不同维度下的规律和特点。

第三步,采用ARIMA时间序列预测算法对未来的12个月的借阅图书数量进行时间序列预测,将预测的结果可视化并存入本地。结合图书群体和个人用户画像,对图书信息采用基于协同过滤的算法建模,构建图书推荐算法。通过预测算法和推荐模型对数据进行建模和分析,进一步深化对数据规律和特点的认识,并为图书馆的智能化管理和决策提供支持。

2.2 前期知识准备

2.2.1 Python介绍

Python是一种高级编程语言,具有易学易用的特点,同时也是一种非常流行的编程语言,用于各种不同的应用场景,包括科学计算、数据分析、人工智能和机器学习等。

此处省略!!!

2.2.2 MySQL介绍

MySQL是一种流行的关系型数据库管理系统,可以在数据分析和用户画像中发挥重要作用。

此处省略!!!

2.2.3 Pyecharts可视化

Pyecharts是一个Python语言的数据可视化库,基于Echarts开发。它提供了各种图表类型,如柱状图、折线图、散点图、饼图等,并且支持动态更新和交互式操作。

此处省略!!!

2.2.4 用户与群体画像介绍

用户画像是指根据用户行为、兴趣、偏好等信息来描述一个个体用户的特征和行为习惯的方法。用户画像可以帮助企业更好地了解用户需求和行为习惯,从而更好地为用户提供服务和产品。

此处省略!!!

2.2.5 ARIMA时间序列预测

ARIMA(自回归积分滑动平均模型)是一种广泛应用于时间序列分析的方法,可以用于预测未来的趋势、季节性和周期性变化。

此处省略!!!

2.2.6 协同过滤推荐算法

协同过滤推荐算法是一种经典的推荐算法,其基本思想是通过分析用户历史行为数据,挖掘用户之间的兴趣相似性或者物品之间的相似性,从而实现给用户推荐他们可能感兴趣的物品。具体而言,协同过滤推荐算法分为基于用户和基于物品两种不同的实现方式。

此处省略!!!

2.3 研究过程

2.3.1 数据预处理及存储

根据所提供的原始数据,其中包括几个不规则的表格,分别是2020-2022年的流通数据,该数据表中存在大量的数据,因为在Excel中存放数据一般不能过多,单表超过6万多条就无法继续存入数据,所以需要使用Excel里面分表。在这张表格里面,分别由21个维度字段,其中包含一些重要的图书流通信息和时间信息,也包含空值,需要我们进行探索。

1 流通数据原始表展示

2 数据库中的数据展示

(1)处理流通数据表

此处省略!!!

3 图书分类号参考表

通过MySQL语句来实现这一个关联的功能:

此处省略!!!

简单来说,这个查询语句的作用是将 data 表中的图书信息和 分类号 表中的图书分类信息进行关联,然后将这些信息一起输出,以便用户可以更方便地了解每本图书的基本信息和所属分类。

(2)处理馆藏数据表

其次,我们需要将馆藏数据筛选出图书属性为流通的数据,将分类号转换为图书类别,保留题名,著者,出版社,图书类别(分类号)。

通过编写MySQL实现上述的功能:

此处省略!!!

(3)处理入馆记录数据表

入馆记录保留读者条码,读者类型,读者单位,来访日期。我们可以直接通过查询对应的字段就可以实现上述的要求。需要注意的是,我们在进行数据从查询的时候需要把每一个字段尽量的命名好,这样就不会造成太多的干扰。

(4)处理读者信息数据表

读者信息去除含有空值的数据,保留读者条码,性别,读者类别,读者单位。首先我们将所有的数据查询出来然后导出到本地,之后在进行利用Python里面的pandas进行空值处理。

4 预处理程序展示

我们将mysql中查询和关联好的数据全部导出到本地,此处省略!!!

5 数据预处理程序展示

通过在后续的用户画像中,我们发现对于读者单位这一个字段值,有很多的一段是不一致的,比如:经济贸易学院,2022级经济贸易学院/跨境电子商务,2018级公共事务学院,我们在进行分组聚合的时候,都会被识别为不同的学院,但是本质上第一个和第二个都是属于经济贸易学院。所以需要利用Python中的正则表达式进行处理字符串,将所有的学院进行处理,保证数据的一致性。

通过处理之后得到的数据结果展示如下所示:

6 读者字段预处理

最后对其他的几个数据表进行处理,然后将处理好的结果保存到本地,文件格式为csv文件。之后,我们新建一个预处理后的高校图书馆信息数据库进行存储这些清洗好的数据集。

7 清洗后的数据存储到数据库

2.3.2 借阅图书信息画像

流通数据筛选出操作状态为借书的数据,将分类号转换为图书类别,保留操作时间,题名,读者条码,读者类型,读者单位,专业,年级,著者,图书类别(分类号),出版社。这是我们在前期通过数据进行筛选的字段值,在本次我们需要分析借阅图书信息:借阅图书总量与学院的关系。

此处省略!!!

8 借阅图书总量与学院的关系

通过上述的分析可知,借阅图书总量最多的学院是设计与创意学院,其次是金融学院,工商管理学院。探索不同学院的借阅数量,可以挖掘出每个学院之间的对比情况,找到学院之间的差异,探寻目前哪一个学院的借阅数量最多,需要调整一下管理措施等,可以帮助图书馆管理员进一步的优化管理方案。

9 借阅图书总量和类别之间的关系

通过探索.....

此处省略!!!

10 图书馆中被借阅前十的书籍

    我们发现《明朝那些事儿》是比较的受欢迎的,此处省略!!!

11 不同读者类型的借阅数量统计

通过统计发现,学生群体是借阅人群中最多的,其次就是读者协会这一个群体,之后就是教职工。

2.3.3 借阅图书时间维度画像

在借阅图书的信息中,有一个操作时间,也就是用户在进行借阅的时候,时间维度上的画像,通过此类的分析,我们可以挖掘出不同时间维度下的借阅数量统计指标。

通过分析可知,

12 2020-2022年每月借阅数量统计

2020-2022年,9-12月的借阅数量都是比较高的,此处省略!!!

13 每年图书馆的日流量统计

分析可以得知,在近些年我们按照每日进行统计分析,此处省略!!!

14 近三年每周的借阅流量对比

通过分析发现,从周一开始到周末,借阅数量是不断的在下降的,说明大部分的同学在一周开始就已经规划好自己要看什么书籍,或者要学习什么书籍。“一年之计在于春,一天之计在于晨”,无论做什么事情都需要自己提前规划好,这样才可以更好的完成这些东西。

15 近三年的图书馆的借阅小时流量对比

通过发现,我们得知,借阅数量最多的时刻是下午3点和5点,此处省略!!!

2.3.4 馆藏数据的信息画像

针对馆藏数据中的数据,可以对其不同的维度进行图书的画像,其中包括对不同类别的图书进行占比统计、不同的出版社进行占比统计分析以及馆藏图书中那些作者是最多的。

16 不同年级在图书馆的借阅情况

通过发现,在2020级中借书的人最多,这也可能和该年级正处于一个学习强化阶段,比如大二或者大一,有足够的的时间来丰富和增加自己的专业知识,所以有机会可以看更多的书籍。

17 图书馆中的馆藏图书类别占比

图书馆的书籍类别最多的是经济类和工业技术,其次就是政治类的书籍,通占比分析,我们可以了解本图书的书籍类型哪些是最多的,哪些是最少的,这样有助于我们快速的去定位某些图书是否在图书馆存在不。

18 馆藏数据TOP10出版社

可以发现,在本图书馆中中国人民大学出版社的书籍最多,其次就是机械工业出版社的书籍。了解那些出版社在本图书馆的占比情况之后,可以根据出版社的信息来寻找我们需要的书籍。其次还可以通过这个统计分析,来解决和出版社之间的供应不足的情况,可以加大对其他的出版社合作。

19 馆藏数据TOP10作者

本图书馆中的著者的一个占比分析,可以了解那些著者在图书馆的受欢迎长度,可以让我们了解这些数据主要是集中在那些著者上。

2.3.5 图书馆入馆流量画像

针对入馆记录数据信息,我们探索出不同时间段,对图书馆入馆流量按照年、月、周、日进行时间维度的画像分析可以帮助图书馆进行以下方面的分析和决策:

(1)更好地了解用户行为和需求:通过时间维度的分析,可以更加深入地了解用户在不同时间段内的借阅需求、借阅量、使用场景等信息。比如,在某些时间段内,用户倾向于借阅某些特定的书籍,或是使用某些特定的设施,这些信息可以帮助图书馆更好地满足用户需求,提供更优质的服务。

(2)观察此处省略!!!

(3)优化此处省略!!!

(4)提升服此处省略!!!

20 近3年图书馆入馆小时流量分布

分析可以发现,一般在清晨上午的时候,入馆流量会出现一个上升的趋势,其次就是11到12点,1点到2点,最后就是下午6点到7点会出现一个上升的趋势。到了晚上之后,入馆的人数就会慢慢的变少,根据这个情况,我们也可以发现这些规律,进一步来增加图书馆的管理,在这些时间段对图书馆加大管理人员或者维持一些秩序的人员。

21近3年图书馆入馆周流量统计

我们发现周一的时候最多,周五的时候人最少,因为周五的时候大家忙碌了一周,卸下一周的疲劳,大部分的人都想出去走走,出去放松一下,故入馆的人数相对于较少也是正常的。

22 近3年每日入馆流量统计

通过发现,在近3年里,一般到了月末的时候入馆的人数就开始下降了,在月初的时候,入馆人数慢慢的上升,中间的时候处于一个相对于平稳的情况。

23 近3年月度入馆流量统计

分析发现,在8月的时候,入馆的人数是最低的,因为是处于放假的阶段,其次就是2月,也是处于放假的阶段。在9月的时候,入馆的人数最多,因为到了开学的阶段,同学们开始慢慢的从假期转移到学校中的学习环境。

24 年度入馆流量统计

在2021年入馆的人数远远大于2022年的人数,针对这种数据分布情况,我们应该去探寻其存在这种数据现象的问题,是外在的因素影响到,因为2022年中间有一段时间疫情比较的严重,图书馆很多高校都是不允许开放的。

2.3.6 个人用户画像分析

对于图书馆来说,个人用户画像分析可以帮助图书馆更好地了解其读者群体的特点和需求,从而有针对性地提供更好的服务和资源。以下是一些可能的好处:

(1)更好地了解用户需求:此处省略!!!

(2)更好地管理资源:此处省略!!!

(3)更好地推广服务:此处省略!!!

(4)更好地提高读者满意度:此处省略!!!

这里针对读者条码为A0246的用户进行用户画像,从他的每年的借阅情况、借阅书籍的类别以及借阅书籍的前五个书籍名称进行画像探索,可以了解该用户的一个行为以及阅读特点。

25 A0246用户每年在图书馆的借阅情况

可以发现该用户在2021年在图书馆借阅数量最多,此处省略!!!

26 A0246用户借阅书籍类别

该用户在经济类的书籍借阅的最多此处省略!!!

27 A0246用户借阅图书前5的书籍

通过这里可以发现,该用户对同一本此处省略!!!

之后我们又对另外一个用户进行用户画像,按照时间维度在入馆记录中探索它的规律。

28 用户画像入馆流量分析

该用户经常在下午6点和中午12点入馆,很少在图书馆学习很晚,其中有两次学习到8点钟,该用户没有经常很早就到图书馆学习了,只是在中午的时间和下午的时间经常入馆。

29 用户画像每周入馆流量统计

该用户在周一的时候,经常入馆,到了周末就很少进入图书馆了,周二的时候也很少入馆,说明该用户在周二时候有其他的安排,并没有待在图书馆。

30 用户画像每天入馆流量统计

31 用户画像每月入馆流量统计

通过上述的用户画像对不同时间维度下的进行剖析,发现该用户在不同时间维度下,有规律的入馆,可以了解该用户的行为,并通过这些画像,对不同的用户在不同的时间点提供智能化的服务。

2.3.7 大屏可视化设计

前面通过pyecharts的前端网页可视化,将用户画像和群体画像可视化出来,表现出交互式的网页端的可视化界面,现在我们将同一指标画像集成在一起,便于我们理解。

此处省略!!!

32 流通数据大屏可视化

33 大屏可视化-借阅图书时间维度大数据分析

34 大屏可视化-馆藏大数据分析

35 入馆流量大屏可视化

36 用户画像大屏可视化

37 用户画像时间维度大屏可视化

2.3.8 ARIMAI时间序列预测借阅量

首先,我们将近3年的每个月数据清洗处理好,得到近3年的一个时间序列数据,其中包含每年的每个月的总借阅数,通过这些借阅数,来进行未来的预测,完成对未来12个月的借阅数预测,可以为未来的图书馆提供一个价值参考,哪一个时间段借阅数量比较多,需要加强自助化服务。

38 时间序列源数据

39 原始数据的趋势

40 正态分布检验

41 滚动均值和滚动标准差图

ACF和PACF图用于分析时间序列的自相关性和偏自相关性,用于选择ARIMA模型的参数。

42 ACF与PACF图

43 ARIMA 模型结果展示

44 预测代码

上述代码中

(1)对一个时间序列进行差分处理,使其平稳化。

(2)绘制差分后的时间序列图以及自相关函数(ACF)和偏自相关函数(PACF)图。

(3)根据自相关函数(ACF)和偏自相关函数(PACF)图选择适当的 ARIMA 模型。

(4)拟合 ARIMA 模型,并检查残差是否符合正态分布和均值为零。

此处省略!!!

45 未来12个月的借阅量预测结果

最后,将预测的结果保存在本地csv文件中。

2.3.9 基于协同过滤的图书推荐

构建基于协同过滤的图书推荐算法,首先需要将数据处理为我们需要的,根据流通借阅数据,我们提取出读者条码、图书类别、题名。此处省略!!!

46 构架协同过滤算法数据集

可以看到同一个用户对同一个书籍依此处省略!!!

(1)构建基于物品的矩阵

基于物品的此处省略!!!

47 基于物品的矩阵

代码中的transformPrefs函数可以将以用户为基础的评分数据转换为以物品为基础的评分数据,即记录哪些用户对哪些物品进行了评分。此处省略!!!

(2)相似度算法函数(皮尔逊相关度)

48 皮尔逊相关系数

该代码计算了两个物品之间的相似度,采用的是皮尔逊相关系数算法。皮尔逊相关系数算法用于衡量两个变量之间的线性关系,它可以用于协同过滤算法中计算物品之间的相似度。

该函数的输入参数是一个字典prefs,此处省略!!!

49 寻找最相似的物品

50 基于物品的推荐

这段代码实现了基于物品的推荐算法。具体思路是:给定一个用户,通过计算该用户对物品的评分以及物品之间的相似度,为该用户推荐他尚未评价但与其喜好相似的物品。

算法的实现流程如下:

(1)此处省略!!!

51 给用户推荐15个图书

3 结论

3.1 本研究的创新点

本研究的创新点在于从图书馆多维度的不规则数据入手,采用数据探索和预处理技术,实现对数据的清洗和整合,并基于用户和群体画像的可视化分析,剖析数据在不同维度下的规律和特点。同时,本研究还应用了ARIMA时间序列预测算法和基于协同过滤的图书推荐算法,实现数据的挖掘和可视化,为图书馆的智能化管理和决策提供了有力的支持。

此处省略!!!

3.2 本研究的不足之处

尽管该研究提出了一个探索和预处理大学图书馆多维数据的综合方法,但可以发现有几个限制。

首先,此处省略!!!

3.3 未来展望

本研究在多维度的数据探索和分析中,对图书馆的智能化管理和决策提供了重要支持。未来,可以从以下几个方面进一步拓展和深化本研究的成果。

首先,可以进一步完善用户画像系统,采用更加细致的分析方法,结合用户在图书馆内的活动轨迹和借阅偏好,进一步挖掘不同用户群体之间的差异和特点,为图书馆提供更加精准的服务和推荐。同时,可以结合社交网络分析的方法,探究用户之间的交互和影响,进一步优化图书馆的社区氛围和用户体验。

此处省略!!!

每文一语

只有不断地长大之后才会发现时间可以创造价值!

猜你喜欢

转载自blog.csdn.net/weixin_47723732/article/details/131550544