APP下载

基于Python 的“大数据与包装”案例教学设计
——以某电商平台果汁饮料的市场分析为例

2021-05-21任丹黎盛

湖南包装 2021年2期
关键词:词频果汁饮料

任丹 黎盛

(西南大学食品科学学院,重庆 400715)

大数据时代已经到来,在商业、经济及其他领域基于大数据挖掘分析、发现问题并作出科学、客观的预测或决策尤为重要[1]。大数据的典型特征为数据海量(包括各种半结构化数据和非结构化数据)和数据处理流程相对复杂。因此,常规统计软件已无法对大数据进行及时有效的存储、运用及分析[2]。Python 语言是目前最接近自然语言的通用编程语言,非计算机专业的学生容易上手;同时是一种解释型、面向对象、免费开源、动态数据类型的高级程序设计语言,拥有丰富的第三库(包括数据处理和挖掘分析的pandas库、sklearn 库等;数据可视化的Matplotlib 库、wordcloud 库等)[3]。目前,Python 已经广泛用于人工智能、大数据、云计算等。

在大数据驱动创新发展的背景下,西南大学包装工程专业结合学分制改革,以“新工科”为导向,培养学生具备“工程教育认证标准”中要求的应用信息技术对复杂问题进行预测、模拟和求解的能力[4],2020 年春季增设了“大数据与包装”课程,面向对象为包装工程专业大学二年级学生。文中主要探讨了“大数据与包装”的课程设置与教学案例的整体设计,以及基于Python 某电商平台果汁饮料市场分析教学案例的构建。

1 “大数据与包装”课程设置

1.1 教学目标

新开设的“大数据与包装”课程,应以“新工科”为导向,致力于培养学生应用信息技术解决工业问题的能力,同时以工程教育专业认证为参考,提升学生解决实际问题的能力。本课程结合所在食品科学学院,选择果汁饮料为研究对象,基于Python 程序语言构建某电商平台果汁饮料的市场分析,销售前十的果汁饮料的营养成分分析,包装材料、结构等分析,再到销售前十的包装装潢设计分析等一系列案例,以期指导整体包装设计。通过案例教学激发学生的学习兴趣,让学生利用Python 丰富的第三方库进行可视化绘图、数据预处理,还能利用聚类、分类等多元统计方法对实际问题进行分析与建模。同时,针对非计算机专业的学生,以“能力”驱动“知识”的渐进式教学方式,提升学生计算机编程能力。

1.2 教学内容

西南大学本科“学分制”改革后,新增设的“大数据与包装”课程的总学时为45 学时,理论课程为18 学时,实验课程为27 学时,具体的教学内容见表1。

表1 “大数据与包装”案例教学课程内容的设置

图1 “大数据与包装”的课程考核

图2 搭建爬虫环境流程图

图3 果汁饮料价格与销量的关系

1.3 教学实施

“大数据与包装”课程的第一部分,即Python 基本语法,采用混合式教学模式,结合现有网络的“慕课”,以线上课堂引导式、启发式为主[5],既充分发挥学生线上学习的自主性和积极性,又充分体现教师在教学过程中引导、监督的主导作用[6]。

本课程的后面4 部分内容均采用案例教学法。案例教学法由美国哈佛商学院提出,是指在教师的指导下,根据教学目的的要求,组织学生对案例的分析、讨论和交流等活动[7]。案例教学法既能锻炼学生分析和解决问题的能力,也能加深学生对基本原理和概念的理解[8]。黄天羽等[9]以图形牵引兴趣为出发点,设置了一系列Python 教学案例,包括入门案例和基于turtle 库的相关图形案例。赵光辉[10]基于“新工科”背景,针对非计算机专业的学生设置了一系列与学生专业相关的教学案例,并以材料专业学生为例,构建了基于Python 实现X 射线衍射图谱、态密度、能谱带等数据的可视化。文一凭等[11]进一步提出针对非计算机专业学生,设置应用驱动的渐进式Python 教学案例,并以商学院学生为例,构建了图书推荐基础案例和销量预测的进阶案例。因此,本课程设置与本专业相关的难度合适、贯穿Python 基础学习过程的应用案例,激发学生的学习兴趣。

1.4 教学效果评价与考核方式

针对包装工程专业的学生,“大数据与包装”课程侧重于培养学生借助计算机编程来解决实际问题的能力。通过一学期的教学实践,发现选用与本专业相关的教学案例开展Python 程序语言的学习,有助于学生在短时间内理解变量、语句与函数、程序控制等基本语法知识,同时激发学生自主学习与实践的动力与愿望。本课程的考核方式设置为考察了,学生的成绩由平时实验作业、课堂研讨活跃度以及课程论文三部分构成,见图1。“平时试验作业”部分,通过每位学生编写的各类商品的分析案例,考察学生对Python 语言的基础语法、数据获取及可视化、数据挖掘分析的掌握程度。“课堂研讨活跃度”部分,考察学生在课堂中的有效参与程度[12]。“课程论文”部分,要求学生整合平时试验课的案例,基于大数据分析设计某款商品的整体包装方案。

2 某电商平台果汁饮料市场分析案例的构建

2.1 爬取某电商平台果汁饮料的商品信息及用户评价

在某电商平台上以“果汁饮料”为关键词进行搜索,在Anacoda 配置的Spyder 开发环境,导入Python 第三方库resquests、re、time 和pandas 库,搭建爬虫环境,具体过程如图2 所示。共获取某平台40 页共计1 740 件商品的基本信息,包括商品序号、价格、商品标题名称、发货地以及销量,存储在“果汁饮料.xlsx”文件内。选取销量第一的某款果汁饮料,搭建爬虫环境,获取用户评价信息272 条,存储在“用户评价.txt”文本中。逐行讲解代码,让学生采取爬虫的方式获取自己感兴趣的大数据。

图4 Pandas 和Matplotlib 库实现数据可视化流程图

图5 果汁饮料的口味分析

图6 果汁饮料的包装规格分析

图7 果汁饮料用户评价的词频统计

图8 果汁饮料用户评价的词云展示

2.2 商品信息数据预处理及可视化

首先对“果汁饮料.xlsx”进行去除重复数据处理,最终获得1 670 条有效数据。采用Matplotlib 库绘制价格与销量的关系图,如图3 所示。Pandas 和Matplotlib 库实现数据可视化的流程如图4 所示,进一步逐行讲解代码的含义,让学生对数据可视化的概念及操作形成初步认识。通过分析图中的价格与销量的分布规律,可以让学生了解果汁饮料如何定价更有利于提高其销量。

其次,对果汁饮料的标题内容进行分析。当下流行“标题党”,通过统计标题里面的关键词语,分析消费者对果汁饮料的关注点。具体分解为两步:第一步,把“果汁饮料.xlsx”中标题的内容序列单独存为一个“果汁饮料标题内容.txt”文本,导入jieba 和pandas 库,采用jieba.lcut()函数对标题内容进行自动分词,而后设计for 循环函数进行词频统计,存储在“标题内容词频统计.xlsx”文件中,关注哪些词语在标题里出现的频率高。第二步,关键词信息归类及数据可视化,选取果汁饮料的口味及规格作为案例进行分析。具体为在“标题内容词频统计.xlsx”提取与口味有关的词语及对应的频率次数,譬如“柠檬”“橙汁”“芒果”等;以及与规格相关的词语及对应的频率次数,譬如“1 000 mL”“300 mL”“840 mL”等。对图4 所示Matplotlib 实现数据可视化流程稍作修改,采用matplotlib.pyplot.bar()函数实现果汁饮料的口味分析(见图5)及包装规格分析(见图6)的数据可视化。设置课后作业,让学生实现果汁饮料的品牌分析。

2.3 用户评价词频统计与词云展示

消费者满意程度在一定程度上可以反映产品的好坏。因此,本课程对某平台销量第一的果汁饮料进行用户评价分析。导入jieba 和pandas 库,采用jieba.lcut()函数对标题内容进行自动分词,而后设计for 循环函数对上述爬取的“用户评价.txt”文本进行词频统计分析,删除一些中性词语,譬如“非常”“东西”“真的”“这个”“可以”“一直”等。然后对图4 所示Matplotlib 实现数据可视化流程稍作修改,采用matplotlib.pyplot.bar()函数实现排名前二十的词频统计可视化(见图7)。通过数据分析,学生们可以了解用户对果汁饮料的关注点在哪些方面,譬如绝大多数人会关注果汁饮料的口感,认为果汁饮料好喝,其中桃子口味的果汁饮料深受人们的喜爱;部分人会关注果汁饮料的包装。

结合现在学生喜欢的个性化图片展示,设置了用户评价的个性化词云展示(见图8),图中的字体越大,表明出现的频率越高,可以直观反映用户对哪些方面比较关注。本案例选择了五角星作为背景图片,学生可以选择自己喜欢的个性化图片进行尝试。首先导入jieba 和wordcloud 第三方库,且从imageio 库中导入imread()函数。然后采用imread()函数创建五角星轮廓,接着用open()函数打开“用户评价.txt”文本,进而用jieba.lcut()函数对用户评价进行自动分词,最后采用wordcloud.WordCloud()函数实现词云展示。从学生的角度出发,持续激发学生们的学习兴趣,让枯燥深奥的程序语言变得生动有趣。

通过对大数据获取、数据预处理、数据可视化以及数据分析等一系列的学习和训练,学生可以熟练地运用这些知识分析自己感兴趣的专业问题,从而实现能力培养落到实处的目的。此外,学生具备了“新工科”人才的特点,即应用信息化技术解决工业问题的能力。

3 结语

包装工程专业增设的“大数据与包装”课程立足于时代特点和学校的专业特色,以“新工科”的指导思想培育学生用信息化技术解决工业问题的能力。通过一学期的实践,初步取得一定成果,但是距离真正的“新工科”专业建设的要求相差甚远。需要在现有的基础上继续推进,一方面教学老师自身的程序编程能力需要不断提升,力争引入一些先进的、完善的算法融入到教学内容中,提高数学模型的可靠性;同时,提高自身在试验课上顺利解决学生们遇到的各类程序语言问题的能力。另一方面,通过学生反馈的信息,不断更新案例设置的内容及框架,始终坚持以学生为本,持续激发学生的学习兴趣,快乐轻松地学习程序编程语言。

猜你喜欢

词频果汁饮料
“0卡0糖”饮料真的健康吗?
饮料换装
基于词频比的改进Jaccard系数文本相似度计算
不健康的果汁
词汇习得中的词频效应研究
分发饮料
榨果汁
失忆果汁
少喝饮料
词频,一部隐秘的历史