曹洁 崔霄
摘要:新工科是基于国家战略发展新需求、国际竞争新形势、立德树人新要求而提出的我国工程教育改革方向,是对工科学科建设的优化再造和内容升级,新工科的建设和发展有重要的意义。面向新工科,当前谁能更好地处理、分析数据,谁就能真正抢得时代的先机。研究数据分析课程的内容设置,能很好地培养学生的创新能力与逻辑思维能力。本研究基于当前数据分析最重要的编程语言Python,从数据结构特点、学生已有的编程基础、数据来源的多样性、数据分析流程、数据分析实战等五个方面探讨Pvthon数据分析课程教学内容。
关键词:新工科;Python;知识体系;数据分析;教学内容
近年,以物联网、云计算、大数据、移动互联网、人工智能、区块链等为代表的新一代信息技术深刻地影响了人类社会的发展,高等教育领域也不例外。新一代信息技术也在改变着传统高等工程教育的实现方式和教育内容,并促使新工科的产生和发展。
一、新工科是工科教育发展的必然
工科是指应用科学原理,结合生产实践所积累的技术经验而发展起来的学科,主要特征有三:一是依据一定的科学技术原理,二是造出人工物(机器),三是解决实际问题。传统工科教育过分强调课程的工程性,忽视了对学生人文素质等方面的培养,同时传统工科的课程设置不太合理,培养出来的学生很难适应新的社会发展要求。高校亟需新的工科教育教学理念,来培养具有创新能力的新兴工程技术人才。
2017年12月,国务院办公厅《关于深化产教融合的若干意见》提出,“适应新一轮科技革命和产业变革及新经济发展,促进学科专业交叉融合,加快推进新工科建设”。新工科是基于国家战略发展新需求、国际竞争新形势、立德树人新要求而提出的我国工程教育改革方向,是对工科学科建设的优化再造和内容升级,也是对未来工科学生培养目标、培养方式、培养内容的探索。新兴的工科人才需要具备三大素质和特点:一是他们不仅要在某一学科上研究精深,其知识结构还应具有“多学科交叉融合”的特征:二是他们不仅能够运用所掌握的知识解决现有的问题,还应具备学习新知识、新技术以应对未来发展出现的新难题的能力,并能对未来技术和产业发展起到积极的引领作用:三是他们不仅要有精湛的技术,还要熟悉经济、社会和管理等知识,即具有良好的人文素养。因而,研究适应新一轮科技革命和产业变革及新经济发展的工科课程知识体系是当前新工科建设的重要内容。
二、Python数据分析课程
当今世界对信息技术的依赖程度日渐加深,每天都会产生和存储海量的数据。面对海量数据,谁能更好地处理、分析数据,谁就能真正抢得时代的先机。对数据的分析已经成为了企业、政府非常重要且迫切的需求。Python程序设计语言是一种解释型、面向对象、动态数据类型的高级程序设计语言,具有开源、简洁易读、快速上手、多场景应用等优点。Python程序设计语言在数据分析与挖掘领域中的地位非常突出,已经当仁不让地成为数据分析人员的一把“利器”。數据分析人员用适当的数学模型对收集来的大量数据进行行业应用分析,以求最大化地开发数据背后隐藏的价值,充分发挥数据的预测指导功能。其目的在于把隐没在杂乱无章的数据中的有用信息集中、萃取和提炼出来。工科不同学科之间差异很大,不同学科对数据分析的内容及能力要求差别也很大。在此,笔者主要以工科中软件工程学科为例,基于当前数据分析最流行的Python程序设计语言来探讨数据分析的知识体系以及具体应用的实现,以期为新工科数据分析课程建设提供一种参考。
三、面向新工科的Python数据分析课程内容
不同的人对数据分析有不同的定义,常见的定义有:从大量数据中提取出想要的信息就是数据分析:有针对性地搜集、加工、整理数据,并采用统计、数据挖掘技术分析和解释数据等就是数据分析:基于行业目的,有目的地搜集、整理、加工和分析数据,提炼有价值的信息就是数据分析。综合上述定义,笔者认为数据分析是用适当的数据整合方法对收集来的大量数据进行整合,为从中发现因果关系、内部联系和业务规律而对数据加以详细研究和概括总结的过程。笔者具体地将Python数据分析课程分为五部分教学内容,下面分别论述。
第一部分,新工科要求课程内容要有利于培养学生的创新能力和工程实践能力。数据分析是随着大数据技术、云计算技术、移动互联网、Web2.0技术的发展以及类型多样的海量数据的涌现而出现的一门技术,要求学生明确数据分析与大数据处理、大数据存储、云计算、移动互联网等技术之间的关系,了解大数据的数据结构特点。当前比较常见的数据结构有结构化数据、半结构化数据、非结构化数据、列式数据等,学生要深刻理解数据结构的特点及价值所在,要在这个基础上创新数据分析的方法,而不仅仅是掌握传统的数据挖掘、数据仓库等技术。
第二部分,课程以Python程序设计语言的学习为数据分析技术提供支撑。但对软件工程学科的学生来说,他们已经具备了基本的程序设计能力,因而教师只需简要介绍Python程序设计语言的特点、Python安装方法、编写python代码的方式等内容,而要重点介绍python的基本数据类型,如number(数值)、string(字符串)、list(列表)、tuple(元组)、dictionary(字典)、set(集合)的操作命令。之后,教师会向学生讲授Pvthon程序控制结构、函数、类、正则表达式、文件与文件夹、数据可视化等知识。
第三部分,由于数据来源的多样性、数据模式的多样性,教师要向学生介绍Python各种类型数据库的的常用操作。课程重点在于教师基于连接的数据库特点及相应的数据存储模式特点开展数据分析的创新性应用,从而让学生综合掌握Pvthon数据存储的相关知识。因此,该门课程也需引入python语言来开发数据存储的实际系统。课程教师会系统介绍python操作Mysql数据库、MongoDB数据库Pvthon操作、SQLite数据库、Redis数据库的常用方法。
第四部分,课程将以数据分析的流程为重点。数据质量分析主要包括缺失值分析、异常值分析、一致性分析和数据特征分析;数据预处理主要包括讲解数据清洗、数据集成、数据规范化、数据离散化、数据规约和数据降维。在数据分析方法方面,教师重点讲解相似性和相异性的度量以及分类分析方法、回归分析方法、聚类分析方法。值得注意的是,数据质量分析是数据分析中数据准备过程的重要环节,是数据预处理的前提,也是数据分析结论有效性和准确性的基础。没有高质量的可信数据,构建的数据分析模型将是“空中楼阁”。数据质量分析的关键任务是检查原始数据中是否存在脏数据。所谓脏数据,一般是指不符合行业应用要求、不能直接进行相应分析的数据,具体包括缺失值、异常值、不一致的值、重复数据及含有特殊符号的数据,其主要表现形式为数据缺失、数据重复、数据错误、数据不可用等。
同时,数据分析工作始终是以数据为中心开展的,分类、聚类、回归、关联分析以及可视化等工作的顺利进行完全是建立在良好的数据输入的基础之上的。采集到的原始数据通常来自多个异构数据源,数据在准确性、完整性和一致性等方面存在一些问题。在数据分析和数据挖掘之前,教师要让学生明确,首先要做的就是对数据进行预处理,处理数据中的脏数据,提高数据分析的准确性和有效性。数据预处理有多种方法,如数据清洗、数据集成、数据规范化、数据离散化、数据规约等。
第五部分,教师要讲解数据分析实战。笔者在这里选取文本情感分析(具体内容主要包括:电商手机评论数据的采集、中文分词方法、文本的关键词提取、中文文本情感倾向分析、主题模型和运用LDA主题模型对电商手机评论进行主题分析等)作为案例,这是因为在购买商品时消费者希望通过其他用户发表的评论来确定是否应该购买。同时,许多商家也希望通过用户评论来及时了解产品的优缺点及用户满意度。文本情感分析技术可自动地从海量评论语料中挖掘有用信息,并对这些信息进行组织和分类,然后直观展示给用户和商家。此外,通过大众舆论导向分析,政府部门可以了解公众对热门事件的情感倾向,从而掌握大众舆论导向,为政府制定相关政策提供一定支持等。