




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
***********学院教案课程名称:Python数据分析与可视化项目实战授课班级:****************************************授课时间:***********学年第1学期第1周至第2周共16周总学时64-96周学时4-6任课教师:***************教案1:基于大数据的求职信息分析与挖掘一、教学设计课程名称数据分析授课班级大数据2201、2202软件2201、2202、2203、2204授课时数6学时授课人数人授课地点1304、1306授课方式教学做一体学习项目基于大数据的求职信息分析与挖掘所选教材《Python数据分析与可视化实战》教学内容Python环境配置及turtle绘图教学目标素质目标具备技术应用与解决问题的素养,能够运用技术解决实际挑战;具备数据可视化与沟通的素养,能够有效传达数据分析的结果;3、具备团队协作与项目管理的素养,能够与团队合作完成项目任务知识目标理解大数据的概念与特征;熟悉大数据处理的基本流程;理解数据挖掘的定义、任务、主要算法和流程;4、掌握在求职信息分析中使用的算法和模型,学习数据预处理和模型训练的方法能力目标1.掌握安装Anaconda3与Pandas库的方法2.能够对数据进行查看与提取3、能够实施求职信息分析与挖掘任务的各个阶段,包括数据加工、模型训练和数据分析。教学重难点重点难点教学方法教法任务驱动教法、情景化教法、差异化教法、讨论式教法学法自主式学习、协作式学习、体验式学习、探究式学习教学设计思路及知识导图教学实施教学环节时间分配教学内容及时间分配教学平台资源课前课前导学1.完成课前学习问卷调查;2.观看视频;3.课前自学测试及问卷;课中项目介绍(5mins)大数据是指规模庞大、多样化、高速生成的数据集,这些数据通常超出了传统数据处理工具的能力范围。大数据技术在各个领域都具有广泛的影响:在商业智能和分析方面,大数据帮助企业分析客户行为、市场趋势和销售数据,支持决策制定和市场营销策略;在医疗方面,大数据分析可以用于疾病预测、药物研发、患者管理和医疗成本控制;在交通和城市规划方面,大数据支持智能交通系统、城市规划和交通流量优化;在社交媒体和娱乐方面,大数据分析用于个性化推荐、广告定位和社交趋势分析等。大数据技术已经成为各行各业的重要工具,对于就业市场也不例外。毕业生在步入职场之前,由于信息不对称、缺乏经验,往往对就业前景和实际情况存在一定的疑虑和不确定性。这种不确定性可能会导致毕业生对自己的职业选择和薪资期望与实际就业情况存在一定差距。而通过大数据分析和挖掘,可以帮助求职者更客观地看待就业问题,减少就业预期与实际差距,从而更好地融入职场并实现职业目标。今天,我们就来学习如何使用大数据来进行信息的采集挖掘和分析任务准备(80mins)1.1大数据的特征大数据是一个仁者见仁、智者见智的宽泛概念。关于“什么是大数据”这个问题,大家比较认可关于大数据的“4V”说法。所谓“4V”,指的是大数据的四个特点,包含四个层面:Volume(数据量大),Variety(数据类型繁多),Velocity(处理速度快),Value(价值密度低)。大数据的价值本质上体现为:提供了一种人类认识复杂系统的新思维和新手段。就理论上而言,在足够小的时间和空间尺度上,对现实世界数字化,可以构造一个现实世界的数字虚拟映像,这个映像承载了现实世界的运行规律,在拥有充足的计算能力和高效的数据分析方法的前提下,对这个数字虚拟映像的深度分析,将有可能理解和发现现实复杂系统的运行行为、状态和规律。应该说大数据为人类提供了全新的思维方式、探知客观规律、改造自然和社会的新手段,这也是大数据引发经济社会变革最根本性的原因。1.2大数据处理的基本流程大数据处理的基本流程主要包括数据采集、数据预处理、数据存储、数据处理与分析、数据展示/数据可视化、数据应用等环节,其中数据质量贯穿于整个大数据流程,每一个数据处理环节都会对大数据质量产生影响和作用。通常,一个好的大数据产品要有大量的数据规模、快速的数据处理、精确的数据分析与预测、优秀的可视化图表以及简练易懂的结果解释。1.2.1数据采集大数据的采集是指利用多个数据库来接收发自客户端(Web网站访问终端、App移动应用终端或者物联网终端等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片,的确需要深入的思考和设计。1.2.2数据预处理大数据采集过程中通常有一个或多个数据源,这些数据源包括同构或异构的数据库、文件系统、服务接口等,易受到噪声数据、数据值缺失、数据冲突等影响,因此需首先对收集到的大数据集合进行预处理,以保证大数据分析与预测结果的准确性与价值性。大数据的预处理环节主要包括数据清理、数据集成、数据归约与数据转换等内容,可以大大提高大数据的总体质量,是大数据过程质量的体现。(1)数据清理包括对数据的不一致检测、噪声数据的识别、数据过滤与修正等方面,有利于提高大数据的一致性、准确性、真实性和可用性等方面的质量。(2)数据集成则是将多个数据源的数据进行集成,从而形成集中、统一的数据库、数据立方体等,这一过程有利于提高大数据的完整性、一致性、安全性和可用性等方面的质量。(3)数据归约是在不损害分析结果准确性的前提下降低数据集规模,使之简化,包括维归约、数据归约、数据抽样等技术,这一过程有利于提高大数据的价值密度,即提高大数据存储的价值性。(4)数据转换处理包括基于规则或元数据的转换、基于模型与学习的转换等技术,可通过转换实现数据统一,这一过程有利于提高大数据的一致性和可用性。总之,数据预处理环节有利于提高大数据的数据质量,实现大数据的一致性、准确性、真实性、可用性、完整性、安全性和价值性,而大数据预处理中的相关技术是影响大数据过程质量的关键因素。1.2.3数据处理与分析1.数据处理大数据的分布式处理技术与存储形式、业务数据类型等相关,针对大数据处理的主要计算模型有MapReduce、分布式内存计算系统、分布式流计算系统等。MapReduce是一个批处理的分布式计算框架,可对海量数据进行并行分析与处理,它适合对各种结构化、非结构化数据的处理。分布式内存计算系统可有效减少数据读写和移动的开销,提高大数据处理性能。分布式流计算系统则是对数据流进行实时处理,以保障大数据的时效性和价值性。总之,无论哪种大数据分布式处理与计算系统,都有利于提高大数据的价值性、可用性、时效性和准确性。大数据的类型和存储形式决定了其所采用的数据处理系统,而数据处理系统的性能与优劣直接影响大数据质量的价值性、可用性、时效性和准确性。因此在进行大数据处理时,要根据大数据类型选择合适的存储形式和数据处理系统,以实现大数据质量的最优化。2.大数据分析大数据处理的核心就是对大数据进行分析,只有通过分析才能获取很多智能的、深入的、有价值的信息,越来越多的应用涉及大数据。由于大数据的特点,大数据的分析方法在大数据领域就显得尤为重要。(1)机器学习:机器学习(MachineLearning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。(2)数据挖掘:数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的,人们事先不知道的,但又是潜在有用的信息和知识的过程。(3)模式识别:模式识别指对表征事物或现象的各种形式的信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。(4)统计分析:对于大数据的统计分析主要利用分布式数据库或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求。(5)并行处理:大数据分析的三大挑战是数据量的膨胀、数据深度分析需求的增长和数据类型不断的多样化。大数据分析采用MapReduce等并行处理方式,将海量数据进行分解并分布存储,由数据挖掘系统并行处理,然后将多个局部处理结构合成最终的输出模式,实现海量数据挖掘。1.2.4数据可视化与应用1.数据可视化数据可视化是指将大数据分析与预测结果以计算机图形或图像的直观方式显示给用户的过程,并可与用户进行交互式处理。数据可视化技术有利于发现大量业务数据中隐含的规律性信息,以支持管理决策。数据可视化环节可大大提高大数据分析结果的直观性,便于用户理解与使用,故数据可视化是影响大数据可用性和易于理解性质量的关键因素。2.数据应用大数据应用是指将经过分析处理后挖掘得到的大数据结果应用于管理决策、战略规划等的过程,它是对大数据分析结果的检验与验证,大数据应用过程直接体现了大数据分析处理结果的价值性和可用性。大数据应用对大数据的分析处理具有引导作用。在大数据收集、处理等一系列操作之前,通过对应用情境的充分调研,对管理决策需求信息的深入分析,可明确大数据处理与分析的目标,从而为大数据收集、存储、处理、分析等过程提供明确的方向,并保障大数据分析结果的可用性、价值性,满足用户的需求。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用领域,包括商务管理、生产控制、市场分析、工程设计和科学探索等。本情境将对数据挖掘的概念、分类、预测、聚类分析、挖掘的工具分析进行介绍和对外贸出口数据挖掘实例进行分析。2.1数据挖掘的定义数据挖掘(DataMining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中人们事先不知道的,但又是潜在有用的信息和知识的过程。随着信息技术的高速发展,人们积累的数据量急剧增长,动额以TB计,如何从海量的数据中提取有用的知识成为当务之急,数据挖掘就是为顺应这种需要应运而生发展起来的数据处理技术,是知识发现(KnowledgeDiscoveryinDatabase)的关键步骤。数据挖掘是目前人工智能和数据库领域研究的热点问题,主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,做出归纳性的整理,从中挖掘出潜在的模式,从而帮助决策者调整市场策略,减少风险。数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示三个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。2.2数据挖掘的任务数据挖掘的任务主要是关联分析、聚类分析、分类、预测、时序模式和偏差分析等。1.关联分析关联规则挖掘是由RakeshApwal等人首先提出的。两个或两个以上变量的取值之间存在某种规律性,就称为关联。数据关联是数据库中存在的一类重要的、可被发现的知识。关联分为简单关联、时序关联和因果关联。关联分析的目的是找出数据库中隐藏的关联网。一般用支持度和可信度两个阈值来度量关联规则的相关性,还不断引入兴趣度、相关性等参数,使得所挖掘的规则更符合需求。2.聚类分析聚类分析是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数据属性之间的相互关系。3.分类分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。分类是利用训练数据集通过一定的算法而求得分类规则。分类可被用于规则描述和预测。4.预测预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种类及特征进行预测。预测关心的是精度和不确定性,通常用预测方差来度量。5.时序模式时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归一样,它也是用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。6.偏差分析在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照物之间的差别。2.3数据挖掘的主要算法目前,数据挖掘的算法主要包括神经网络法、决策树法、遗传算法、粗糙集法、模糊集法、关联规则法等。1.神经网络法神经网络法是模拟生物神经系统的结构和功能,是一种通过训练来学习的非线性预测模型,它将每一个连接看作一个处理单元,试图模拟人脑神经元的功能,可完成分类、聚类、特征挖掘等多种任务,神经网络的学习方法主要表现在权值的修改上。神经网络法主要应用于数据挖掘的聚类技术中。其优点是具有抗干扰、非线性学习、联想记忆功能,对复杂情况能得到精确的预测结果;缺点是不适合处理高维变量,不能观察中间的学习过程,具有“黑箱”性,输出结果也难以解释,学习时间较长。2.决策树法决策树是根据对目标变量产生效用的不同而建构分类的规则,通过一系列的规则对数据进行分类的过程,其表现形式是类似于树形结构的流程图。最典型的算法是J.R.Quinlan于1986年提出的ID3算法,之后在ID3算法的基础上又提出了C4.5算法。采用决策树法的优点是决策制定的过程是可见的,不需要长时间构造过程,描述简单、易于理解、分类速度快;缺点是很难基于多个变量组合发现规则。决策树法擅长处理非数值型数据,而且特别适合大规模的数据处理。决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。比如,在贷款申请中,要对申请的风险大小作出判断。3.遗传算法遗传算法模拟了自然选择和遗传中发生的繁殖、交配和基因突变现象,是一种采用遗传结合、遗传交叉变异及自然选择等操作来生成实现规则的,基于进化理论的机器学习方法。它的基本观点是“适者生存”原理,具有隐含并行性、易于和其他模型结合等性质。主要的优点是可以处理许多数据类型,同时可以并行处理各种数据;缺点是需要的参数太多,编码困难,一般计算量比较大。遗传算法常用于优化神经元网络,能够解决其他技术难以解决的问题。4.粗糙集法粗糙集法也称粗糙集理论,是由波兰数学家Z.Pawlak在20世纪80年代初提出的,是一种新的处理含糊、不精确、不完备问题的数学工具,可以处理数据约简、数据相关性发现、数据意义的评估等问题。其优点是算法简单,在其处理过程中可以不需要关于数据的先验知识,可以自动找出问题的内在规律;缺点是难以直接处理连续的属性,需先进行属性的离散化。因此,连续属性的离散化问题是制约粗糙集理论实用化的难点。粗糙集理论主要应用于近似推理、数字逻辑分析和化简、建立预测模型等问题。5.模糊集法模糊集法是利用模糊集合理论对问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。模糊集合理论是用隶属度来描述模糊事物的属性。系统的复杂性越高,模糊性就越强。6.关联规则法关联规则反映了事物之间的相互依赖性或关联性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出频繁性至少和预定意义的最小支持度一样的所有频集,然后由频繁项集产生强关联规则。最小支持度和最小可信度是为了发现有意义的关联规则给定的两个阈值。在这个意义上,数据挖掘的目的就是从源数据库中挖掘出满足最小支持度和最小可信度的关联规则。2.4数据挖掘的流程在实施数据挖掘之前,先制定采取什么样的步骤,每一步都做什么,达到什么样的目标是必要的,有了好的计划才能保证数据挖掘有条不紊地实施并取得成功。很多软件供应商和数据挖掘顾问公司提供了一些数据挖掘过程模型,来指导他们的用户进行数据挖掘工作。建立数据挖掘过程模型的步骤主要包括定义问题、建立数据挖掘库、分析数据、准备数据、建立模型、评价模型和实施。3、Python数据挖掘Python语言具有易学易用、强大的第三方库支持等特点,被广泛应用于数据挖掘与机器学习领域。数据挖掘是指从大量数据中提取有效信息的过程,包括数据预处理、特征选择、模型选择和评估等环节。Python中的数据挖掘库主要有以下几个:(1)NumPy:用于科学计算和数学操作,提供多维数组对象和一些便捷的函数操作。(2)Pandas:用于数据分析和处理,提供丰富的数据结构和数据操作方法。(3)Matplotlib:用于数据可视化,提供各种绘图函数和样式设置。(4)Scikit-learn:用于机器学习,提供各种监督/非监督/半监督的学习算法,包括分类、回归、聚类等。机器学习是基于数据构建模型并进行预测或分类的过程。Python中的机器学习库相较于数据挖掘库更加强调算法的实现和模型的优化,主要有以下几个:(1)TensorFlow:由Google开发的机器学习框架,提供各种深度学习算法的实现和优化,包括神经网络、卷积神经网络、循环神经网络等。(2)Keras:基于TensorFlow或Theano开发的高层次神经网络库,封装了各种神经网络的实现和训练操作。(3)PyTorch:由Facebook开发的机器学习框架,提供各种深度学习算法的实现和优化,具有动态计算图和易变性等特点。(4)Scikit-learn:虽然是数据挖掘库,但也提供了许多常见的机器学习算法,如决策树、支持向量机、朴素贝叶斯等。综上所述,Python的数据挖掘和机器学习生态系统非常完善,提供了丰富的工具和库支持,为数据科学家和机器学习工程师提供了便利。Python可以用于不同类型的数据挖掘任务,例如:数据预处理:Python可以用于数据处理、转换和清洗,例如数据过滤、去重、缺失值填充等。探索性数据分析:Python可以用于生成可视化图形和摘要统计信息,以帮助分析数据集的特征并发现潜在的关系和趋势。监督式学习:Python可以用于建立和优化监督式模型来进行分类、回归和预测任务。无监督式学习:Python可以用于进行聚类和降维操作,以便于发现和理解数据集中隐藏的信息和模式。任务分析及实现(75mins)4、求职信息分析任务4.1研究内容及方法本项目以分析电子商务类人才为例,通过对招聘网站电子商务人才职位信息进行数据入库、数据清理、数据预处理、相关数据分析、结巴分词、数据可视化、岗位薪资预测及LDA主题文本相似度模型建立等操作,完成整体项目的开发工作。具体包含:(1)通过调用python中的pandas库对数据进行入库处理,调用其中的各种函数对数据进行去重、去空等操作,对数据进行预处理操作,方便后期建立模型。(2)通过调用pyecharts对各个特征和薪资的关系进行数据可视化分析、对招聘职位信息进行探索分析、使用jieba对岗位描述进行中文分词并查找其中的差别。(3)对和薪资有关的数据进行特征降维、数据标准化等操作,将70%的数据集划分为训练集,剩下的30%划分为测试集,调用随机森林、xgboost、lightGBM等算法对其进行训练,然后观察其RMSE分数、R2评分,确定最优模型并抽取其中一些数据作为测试集对岗位薪资进行预测。(4)在TF-IDF的基础上建立职位LDA模型对求职者的能力进行相似度的计算,并输出LDA主题模型的可视化分析结果。4.2算法及模型4.2.1lightGBM回归算法LightGBM(LightGradientBoostingMachine)是一个梯度boosting框架,是基于决策树算法的分布式梯度提升框架。LightGBM相较于xgboost,它拥有更快的训练效率,更高的准确率,支持并行化学习,占用更少的内存,还能够处理大规模数据。Xgboost采用了预排序方法(pre-sorted),这种方法既要保留数据的特征值,又要保留特征的排序结果,占用空间很大,而且每次经过分割点都要进行分解运算,耗费的资源实在是太多了。而lightGBM使用了直方图算法如图6-1所示,将特征值转化为了bin值,且不需要存储特征到样本的索引,极大地节省了运行内存,在训练过程中采用了互斥特征捆绑算法和单边梯度算法,对数据特征进行剪枝,减少了大规模的计算。它使用了带有深度限制的按叶子生长(leaf-wise)算法,抛弃了传统的按层生长(level-wise)算法,以这种算法构建的决策树减少了很多不必要的计算量。4.2.2LDA主题模型LDA模型是一种可以将文档数据集中的每篇文章的主题以概率分布形式给出的主题模型,再通过这个主题分布进行主题聚类或者文本分类,这样就相当于抽出了每篇文章的主旨。这也是一种典型的“词包”模式,即一篇文章是由一系列单词组成的,它们之间没有一定的顺序,因此,在抽取文本的隐性主题时,往往会忽视其语法结构和词汇的先后次序。LDA有三层生成式贝叶斯网络结构,包含了单词,文档和文档整体三者之间的概率分布关系,其结构依次是文档层、主题层和特征词层,其网络结构如图6-2所示。LDA主题模型建立的核心公式如下:P(w|d)=P(w|t)*P(t|d)直观地去看以上公式,就是将Topic作为中间层,可以通过当前的θd和φt给出了文档d中出现单词w的概率。其中P(t|d)利用θd计算得到,P(w|t)利用φt计算得到。由于文本的主题分布是文本向量空间的简单映射,所以我们只需对LDA模型文本进行向量化,然后就可以比对他们的相似度,计算并输出相似的文本结果和相似度。本文选取的数据集结构主要分成两个部分:结构化数据和文本数据,其中结构化数据主要包括公司性质、公司行业、工作类别、薪资、公司规模、工作地址、招聘人数、工作经验、学历要求等。文本数据主要包括公司能力需求与公司名称。由于一些企业在发布招聘信息的时候不严谨,为了快速达到招聘发布而大规模重复发布或者少填漏填信息,导致数据集中有许多重复值已经缺失值,所以我们要对数据集进行去除重复值和缺失值的操作。其中duplicated函数的作用是去遍历数据并寻找出其中重复数据的行,isnull函数就是查找出字典中的所有缺失值,再用sum函数将其统计出来,最后将重复或含有缺失值的行进行删除。4.3数据加工与训练模型数据加工是指融合多源海量的数据,并将其转化为可被操作的智能数据的过程。具体地说,是处理来自单个和多个数据源的数据或数据组合,以及数据间关系,实现精确定位和特性预估,并完成对危险态势和重要性的及时评估的过程。数据加工集成了多个数据源以产生比任何单个数据源提供的信息更一致、更准确和更有用的信息,其特点是根据任务需求增加搜集的数据源,并且通过不断地预估和评价算法,修正数据加工过程,以达到更好的结果。设训练数据集为D,表示其样本容量,设有j个类,,为属于类的样本个数,。设特征A有n个不同的取值,根据特征A的取值将D划分为n个子集,为的样本个数,。记子集中属于的样本的集合为,即,为的样本个数,于是信息增益的算法如下:输入:所需要的训练数据集D和表示特征属性A:输出:特征A对训练数据集D的信息增益。计算数据集D的经验熵计算特征A对数据集D的经验条件熵计算信息增益提高树的深度可以得到更确切的模型,而这与预期的内生动力模型图大致相同,同时模型的复杂度随着决策树的深度会越来越复杂。但是树的深度对模型训练的精确度也有一定的影响,树的深度越大,其拟合程度越严重,即会产生较多的影响。在使用k-means算法聚类时,k值的选择十分重要,肘部法则和轮廓系数可以方便我们选择出最佳的k值。并基于以下方法实现:(1)对所获特征进行筛选。对特征值进行分类,联系目标值的相关程度将其分为有效特征值与无效特征值。过多的特征值参与训练容易出现多维灾难的问题,且会降低代码的运行速率及模型过拟合的缺陷,故此步是关键。采用Filter过滤法对现有特征值进行逐步筛选,过滤无关特征值及冗余特征值,并留存有效相关特征值以对模型进行更好的准确度提升训练。(2)对提取特征后的数据进行算法建模。对于所选数据集有目标类别的二分类特征,故选用贝叶斯模型进行构建与预测。先对所用数据集做标签值与特征值的分类处理,并按相关比例进行训练集和测试集的划分,之后构建贝叶斯模型将训练集进行模型训练,对模型进行准确度的测试并进行验证,得出最终预测数据。4.4数据分析与预测通过数据统计和挖掘反映出了发布大数据岗位招聘的数量在不同大城市当中的具体占比,通过图6-3可以看出,招聘岗位主要集中在北京、上海、广州、浙江四个城市,说明电子商务岗位在这些城市有很好的发展前景,工作薪酬较高,但是通过观察图6-4可以发现不仅以上四个地区的平均薪资较高还有福建、江苏等地区也有较为可观的薪资水准,所以求职者也可以考虑去这些地区谋求发展。通过对薪资数据进行区间划分,得到下列分类并对各分类的数量进行统计,以便观察电子商务岗位的平均薪资如何,如6-5所示。我们可以看出薪酬在5000以下的岗位较多,说明社会需要许多廉价劳动力去完成一些相关事务,但高薪酬的高水平技术的工作岗位仍有许多空缺,需要大规模人才去补充。高水平、对自己有要求的求职者往往希望得到一份薪资较高的比较符合自己能力的工作岗位,所以本文统计了工作薪酬最高的前20个岗位,来帮助想要获得高薪工作的求职者指明道路,如图6-6所示。薪酬较高的工作大多数都是企业主管、企业核心技术工程师、软件开发工程师、总经理这样的职位,这些职位需要应聘人员有大规模的工作经验和相应的技术水平。不止工作岗位地区、岗位类别对薪资有影响,不同性质的企业之间的薪资水平也存在差异,本文通过对不同性质的企业数量和平均薪资进行了统计,得到了6-7和6-8。通过两张图我们可以发现,社会企业的主体为民营企业,但是民营企业的平均薪资却相对较低,合资企业的平均薪酬处于较高水准,不过其他性质的企业间平均薪资倒也相差不多,所以求职者可以尝试着去自己喜欢的性质的企业去谋求岗位。通过统计公司行业类别可以看出社会上哪些行业的职位有空缺,有了这些数据可以使得高校有针对性地培养相关人才,还可以影响求职者的选择,通过6-9可以看出需求量最大的是互联网/电子商务类的相关岗位,远多于其他岗位,有关于互联网/电子商务方面的人员需求依旧有很大的空缺,而且通过6-10可以看出互联网/电子商务相关岗位的平均薪资在10000左右,也是非常可观的,所以各个高校可以着力于培养相关专业人才以应对社会上的人才需求,缓解当代大学毕业生就业困难的问题,求职者也可以通过学习相关知识进行转型。在现实生活中,岗位薪资还与求职者的学历和工作经验有密切的联系。求职者的学历越高或者工作经验越丰富,那么相应需求的岗位薪资也越丰厚。如图6-11和图6-12所示,我们可以发现此次实验所用的招聘数据集中的学历要求大多为大专或不限,工作经验要求不限的居多,可以说明社会中极其缺少基层工作人员,学历要求越高或工作经验越丰富的工作薪资越高。而且通过图6-13和图6-14我们可以发现10年以上工作经验的平均薪资要比博士的平均薪资要高,这说明工作经验是否丰厚要比学历高低对薪资的影响力更大。除了以上因素对岗位薪资有影响,公司规模和工作的发布时间也与岗位的薪资有关。通过图6-15和6-16我们可以发现一般来说公司的规模越大,岗位的薪资越高,工作发布的年份该项行业正在蓬勃发展,岗位的薪资越高,反之岗位的薪资越低。通过下图我们可以看出公司规模在20-99人、500-999人、1000-9999人时的平均薪资较高,在2017年发布的工作的平均岗位薪资较高,说明2017年时社会经济发展较好,各行业经济景气,也可以看出公司规模对岗位薪资有一定的影响。通过对高薪岗位和低薪岗位的能力需求进行分词,然后输出可视化结果,观察其中的关键词变化,来分辨高薪和低薪岗位的差别,以便求职者更有针对性地提升自己,获取更高的薪资报酬。通过词云图可以发现薪资高于10000的岗位能力需要的是完成工程、作为经理、管理者一类的需要丰富经验和较高学历水平的人才如图6-18所示,而薪资低于10000的岗位主要负责运营管理和客户对接等基础工作如图6-17所示。项目拓展(80mins)由此可见,工作岗位地区、学历、工作经验、公司规模等因素都对薪资水平有一定的影响,这也符合前文提出的这些因素都对薪资有影响,而且不同的因素对薪资高低的影响不同。根据对招聘网站信息的分析,可以得到如下启示:(1)求职者在浏览招聘信息时第一关注的岗位的薪资状况,当看到心仪的薪资后再去查看该岗位招聘人员的具体需求,当遇到无法给定薪资的岗位时,求职者无法清晰地判断出该岗位的真实薪资区间。通过对招聘信息中的岗位能力需求进行文本相似度分析,推荐相似岗位的名称及薪资状况,帮助求职者明确岗位薪资状况是否符合自身期望。(2)由于招聘网站的审查制度存在漏洞,导致了大规模虚假的招聘信息流入,其中有许多诈骗团伙捏造的高薪低要求。通过数据处理,回归模型训练预测出拥有相关特征的薪资,来帮助求职者分辨真假招聘信息,避免求职者自身利益受到损害。(3)关于中小型企业无法合理给定相关岗位的薪资从而导致人才流失。通过岗位薪资的预测,可以帮助企业了解市场相关岗位的薪资状况,从而帮助企业设定合理的薪资,吸引相关人才,提高企业招聘效率。如今我国已经进入了大数据时代,不论任何行业或企业都会有与之对应的大数据分析。大数据分析的出现不仅能让人们的生活更便利,也可以指导人们的投资、企业的营销和应聘者求职。大数据技术作为互联网产业的核心技术之一,将在产业互联网赋能传统行业的过程中发挥重要的作用。课后项目实战***********学院教案课程名称:程序设计基础(Python)授课班级:****************************************授课时间:***********学年第1学期第1周至第2周共16周总学时64-96周学时4-6任课教师:***************教案1选学内容——Python编程基础一、教学设计课程名称数据分析授课班级大数据2201、2202软件2201、2202、2203、2204授课时数6学时授课人数人授课地点1304、1306授课方式教学做一体学习项目选学内容——Python编程基础所选教材《Python数据分析与可视化实战》教学内容Python编程基础教学目标素质目标理解Python的基本结构和特点。掌握Python的基本语法,如变量命名规则、数据类型、运算符、条件语句、循环语句等。理解序列数据结构的概念,包括字符串、列表和集合的定义和用法。知识目标能够独立编写简单的Python程序,实现基本的输入、处理和输出功能。能够运用条件语句和循环语句解决问题,实现程序的流程控制。能够使用序列数据结构进行数据的存储、操作和处理。能力目标培养逻辑思维能力,能够将实际问题转化为计算机程序实现的思路。培养问题解决能力,能够通过编写程序解决实际问题。培养代码书写规范和良好的编程习惯,提高代码可读性和可维护性。4、培养自学能力和团队协作能力,能够主动学习和探索新的知识,并与他人合作完成编程任务。教学重难点重点难点教学方法教法任务驱动教法、情景化教法、差异化教法、讨论式教法学法自主式学习、协作式学习、体验式学习、探究式学习教学设计思路及知识导图教学实施教学环节时间分配教学内容及时间分配教学平台资源课前课前导学1.完成课前学习问卷调查;2.观看视频;3.课前自学测试及问卷;课中项目介绍(5mins)Python是一种高级编程语言,具有简单、易读、易学的特点。Python支持多种编程范式,如面向对象编程、函数式编程和命令式编程等,使得开发者有更大的自由度和灵活性。它被广泛应用于数据分析、科学计算、机器学习、Web开发等领域,因为它拥有强大的库和工具,使得编写代码变得更加高效和便捷。项目七系统地介绍了Python编程基础,包括Python的基本语法、变量、数据类型、运算符、流程控制、函数、基本结构等知识点。通过学习这些内容,掌握基本的Python编程技能,更好地学习Python数据分析与可视化,并能够应用Python解决实际问题,为进一步深入学习和应用Python打下坚实的基础。知识讲解基础知识1.1计算机程序和基本结构计算机程序是一组计算机能识别和执行的指令,是对计算任务的处理对象和处理规则的描述。它以某些程序设计语言编写,运行于某种目标结构体系上。简单的说程序是一个指令序列,根据用户使用的编程语言的不同,而采用不同的方式进行编写。程序设计是设计和构建可执行的程序以完成特定计算结果的过程,是软件构造活动的重要组成部分,一般包含分析、设计、编码、调试、测试等阶段。熟悉和掌握程序设计的基础知识,是在现代信息社会中生存和发展的基本技能之一。1.2计算机程序和基本结构在程序执行的过程中,其值不发生改变的量称为常量。常量分为直接常量和符号常量。直接常量(字面常量)包括以下几种:(1)整数常量:6、0、-6(2)实型常量:6.8、-5.18(3)字符常量:‘x’、‘y’符号常量是指用标识符代表一个常量。需要注意的是,Python没有真正意义上的符号常量,但有的时候需要用到符号常量。一般是在import语句下面用大写字母作为常量名,如NUMBER=100。但这并不意味着这个值不可以被改变。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。使用符号常量的好处是能做到“一改全改”。即如果该常量被使用了很多次,也只需在最开始的地方改变其初值即可。变量的概念基本上和初中代数方程中的变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。在Python中,对一个变量赋值之前并不需要对其定义或声明,它会在第一次赋值时自动生成。在使用一个变量之前需要先对其进行赋值。变量命名规则如下:(1)变量名必须以字母或下划线开头,后面可以跟任意数量的字母、下划线和数字。变量名中只能有字母、下划线和数字。(2)区分大小写,如Python和python是不同的。(3)变量名不能使用保留字。1.3标识符与关键字1.3.1Python标识符标识符用来表示常量、变量、函数、对象等程序要素的名字。Python标识符的命名规则如下:(1)标识符由字母、数字和下划线组成,不能以数字开头。(2)标识符区分大小写字母。(3)不能使用Python关键字作为标识符1.3.2Python关键字关键字也称保留字,不能把它们用作任何标识符名称。Python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字。示例如下:importkeywordprint(keyword.kwlist)#输出关键字列表1.4输入与输出1.4.1print介绍在Python中内置有字符串的格式化操作,所以print()函数支持格式化输出。在格式化字符串时,Python会插入格式操作符(如%s)到字符串中,为真实的数值预留位置,并说明真实数值需要呈现的格式。1.4.2认识input系统需要交互,就需要让用户向计算机输入一些字符,Python提供了一个input()函数,该函数可以让用户输入字符串,并存放到一个变量里。input只能接收字符型,+表示联系为一个字符串,因此要进行数学运算时,需要用eval()进行转换。如家庭能耗计算中用水、用电、用气量的输出。1.5注释语句python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的。Python注释也有自己的规范,在文章中会介绍到。注释可以起到一个备注的作用。团队合作的时候,个人编写的代码经常会被多人调用。为了让别人能更容易理解代码的用途,使用注释是非常有效的1.5.1python单行注释符号(#)井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释,#号右边的内容在执行的时候是不会被输出的1.5.2批量、多行注释符号在python中也会有注释有很多行的时候,这种情况下就需要批量多行注释符了。多行注释是用三引号''''''包含的,例如:输入''''''或者"""""",将要注释的代码插在中间。Windows中IDLE的注释快捷键是Alt+3,取消注释是Alt+4。JupyterNotebook和Pycharm中,快速注释代码(ctrl+/),快速取消注释代码(ctrl+/)1.6认识Python的基本数据类型1.6.1认识Python的基本数据类型打开计算器(右键单击Windows图标,搜索中找到计算器,调整为程序员模式),认识整型中的不同进制。整数类型,英文为integer,简写为int,可以表示正数、负零。整数的不同进制表示方式:·十进制→默认的进制·二进制→以0b开头·八进制→以0o开头·十六进制→以0x开头ython提供了内置函数hex(a)、oct(a)、bin(a),可以将一个十进制数a分别转换成十六进制、八进制及二进制的字符串1.6.2浮点型数据浮点数即带有小数部分的数字。在Python里,浮点数分为两类,一种是普通的由数字和小数点组成的,如1.0、2.3等。这是由科学计数法表示的浮点数。另外一种是由数字、小数点以及科学计数标志e或E组成,如:2.1e10则表示2.1ⅹ1010。浮点类型●浮点数由整数部分和小数部分组成●浮点数储存不精确性使用浮点数进行计算时,可能会出现小数位数不确定的情况解决方案:导入模块decimal1.6.3字符串类型字符串又被称为不可变的字符序列,可以使用单引号‘’双引号“”三引号“‘’”或“““”””来定义,单引号和双引号定义的字符串必须在一行,三引号定义的字符串可以分布在连续的多行1.6.4布尔型类型在Python中,有一种特殊的数据类型叫布尔型(bool),该类型只有两种取值:True和False分别代表真和假。实际上,可以把True和False看成Python内置的变量名,值分别为1和0。因为实际上True的值就是1,而False则为01.6.5实现不同类型数据的转换类型转换是一种采用一种类型的数据对象并创建多种类型的等效数据对象的操作。1.7认识常用运算1.7.1算数运算Python中常见的算数运算有加、减、乘、除、求余、取整、幂运算等。1.7.2数值运算函数除了基本的算数运算,Python以函数形式提供了一些数值运算,例如四舍五入函数、最大值,最小值等。在使用math库前,要用import导入该math库,调用时用math.函数名(参数)。1.7.3赋值运算符赋值运算的功能是:将一个表达式或对象赋给一个左值,其中左值必须是一个可修改的值,不能为一个常量。“=”是基本的赋值运算符,此外“=”可与算术运算符组合成复合赋值运算符。Python中的复合赋值运算符有:+=、-=、*=、/=、//=、**=,他们的功能相似,例如“a+=b”等价于“a=a+b”,“a-=b”等价于“a=a-b”,诸如此类。1.7.4关系运算符逻辑运算符为and(与,全真才真)、or(或,全假才假)、not(非)用于逻辑运算、判断表达式的True或者False,通常与流程控制一起使用1.7.5逻辑运算符逻辑运算符为and(与,全真才真)、or(或,全假才假)、not(非)用于逻辑运算、判断表达式的True或者False,通常与流程控制一起使用。1.7.6运算优先级上面学习了算数运算、赋值运算、位运算、比较运算、逻辑运算等,当遇到复杂的表达式时,就需要根据运算优先级决定先做什么运算,在Python中各类运算的优先级规则从高到低依次如附表7-11所示2、程序的基本结构在程序设计中,语句可以按照结构化程序设计的思想构成三种基本结构,它们分别是顺序结构、分支结构和循环结构。为方便描述程序的结构关系会使用程序流程图。一个流程从开始符开始,以结束符结束。处理流程需以单一入口和单一出口绘制,要画出规范的流程图,最基本的就是流程图的形状一致,字号统一2.1顺序结构顺序结构指的是按照指令顺序依次执行每一条语句。例如,你和计算机进行对话:1计算机问道:你的爱好是什么?请用户输入2计算机显示:你的爱好是(用户输入的内容)3计算机问道:你有欣赏的明星吗?请用户输入4计算机显示:我也喜欢(显示用户输入的内容)2.2选择结构选择结构指的是根据判断条件,只执行满足条件的部分语句,并且只执行一次。2.2.1双分支选择结构用if语句可以构成选择结构,它根据给定的条件进行判断,以决定执行某个分支程序段。如图7-8所示为一个双分支选择结构.例如从键盘上输入一个数,判断这个数是奇数还是偶数。如果输入的数是偶数,则执行条件为真的分支,显示该数是偶数;如果输入的数是奇数,则执行条件为假的分支,显示该数是奇数。该程序的流程图例如,要制作一个简单的加法运算判断程序,可以由random函数随机生成两个整数,如果用户输入的值与计算结果一致,则显示回答正确,否则显示回答错误。通过调用random模块可以生成随机数,其中random.uniform(起始值,终止值),例如random.uniform(1,50)生成的是1-50之间的随机浮点数,如果要生成随机整数可以使用int(random.uniform(1,50))进行转换,也可以直接使用random.randint(起始值,终止值)。有时会遇到逻辑与逻辑或共同使用的多条件判断,比如生活中的闰年分为普通闰年和世纪闰年,其判断方法为:公历年份是4的倍数,且不是100的倍数,为普通闰年。公历年份是整百数,且必须是400的倍数才是世纪闰年。归结起来就是通常说的:四年一闰;百年不闰,四百年再闰。如果用变量year表示年份,则闰年的判断条件为:year%400==0oryear%4==0andyear%100!=0,此表达式中同时包含了逻辑运算的与或非三种情况,属于非常典型的案例2.2.2认识多分支结构在前面的学习中我们学会了随机数的加法运算,那如果想进行减法乘法等随机运算,用多分支结构就能实现。此种情况下,就涉及多种选择,在Python中我们用if….elif….else…语句进行多分支选择结构的描述.例如可以用1-4个数字代表加减乘除四种运算,random.randint(1,4)可以生成一种对应的运算符号,程序中规定每个数字代表的运算,这样就可以得到不同计算法则的随机数运算程序。如果想要生成更多的运算,扩大random.randint(1,n)中n的范围即可2.2.3选择结构的嵌套在学习构成三角形的形状时,我们知道常见的三角形按边可以划分为等边三角形、等腰三角形、直角三角形和一般三角形,如果从键盘上输入三个数代表三角形的三条边,首先判读是否能够构成三角形,如果能构成三角形,则判断三角形的形状;不能构成则提示不能构成三角形。因此首先要进行能够构成三角形的判断,如果能够构成三角形再进一步判断是什么类型的三角形,因此是否构成三角形和判断三角形的形状之间构成嵌套关系。嵌套的if语句是指在if语句内有其他的if语句2.3循环结构循环结构指的是只要满足判断条件就反复执行循环体,直到不满足条件时退出循环,程序结束。常见的循环结构有while循环结构和for循环结构2.3.1While循环结构介绍While循环中通常包含了循环变量初值、循环条件、循环体、循环变量的变化这四个关键点。在计算s=1+2+3+...+n的和(其中n由键盘输入)中,可以看到值从1变到n,这是一个循环过程,先设计变量s为0,再设计一个循环变量m,它循环n次,每次把m的值加1,并累积到变量s中去,就可以计算出结果,此外,while循环可用于不确定循环次数情况下的循环,比如做完整性约束判断,在用户注册时需要输入昵称、手机号码,密码等,但是并不确定什么时候用户输入的值是满足条件的,所以这种循环为不确定循环次数的循环。2.3.2for循环结构for循环是编程语言中一种循环语句,而\t"/item/for%E5%BE%AA%E7%8E%AF/_blank"循环语句由\t"/item/for%E5%BE%AA%E7%8E%AF/_blank"循环体及循环的判定\t"/item/for%E5%BE%AA%E7%8E%AF/_blank"条件两部分组成,一般形式为:foriinRange(变量的初值,变量的终值,步长):语句块如foriinrange(1,10,1):print(i)foriinrange(1,10,1)等同于这三条语句i=1,i<10,i=i+1如果要打印年度日历,可以通过importcalendar导入日历库,通过calendar.month(年份,月份)即可打印某年某月的日历,如果想要打印多个月份的日历,可以使用for循环2.3.3循环嵌套循环里面再嵌套一重循环叫做双重循环,嵌套两层以上的叫多重循环。Python程序单层循环结构常常难以解决更加复杂的问题,这就要求我们进一步学会使用循环语句的嵌套结构来处理相对复杂的问题。通过前面的学习,我们知道Python循环结构主要有for
循环和while循环。可以将while循环结构嵌套进for循环结构中,也可以将for循环结构嵌套进whil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国棒材轧机成套设备行业发展研究报告
- 2025至2030年中国杭白菊制品数据监测研究报告
- 2025至2030年中国柴油箱帽行业投资前景及策略咨询报告
- 2025至2030年中国杨桃香精行业投资前景及策略咨询报告
- 2025至2030年中国机械式板料剪板机市场调查研究报告
- 2025至2030年中国木艺吸顶灯市场调查研究报告
- 2025至2030年中国明料印口灯筒行业投资前景及策略咨询报告
- 2025至2030年中国无水高氯酸钠市场调查研究报告
- 2025至2030年中国斜圆柱细磨石行业投资前景及策略咨询研究报告
- 2025至2030年中国数码产品随身电源行业发展研究报告
- 智慧工地平台建设项目可行性研究报告
- GB/T 18457-2024制造医疗器械用不锈钢针管要求和试验方法
- 2024智联招聘行测题库
- 国家安全知识宣传竞答试题及答案
- 三级人工智能训练师(高级)职业技能等级认定考试题库-上(单选题部分)
- 部编版七年级历史下册第一单元 隋唐时期:繁荣与开放的时代 作业设计
- 店铺(初级)营销师认证考试题库附有答案
- 《建筑深基坑工程施工安全技术规范》(JGJ311-2013)
- 八年级数学下册专题05垂美四边形模型与378、578模型(原卷版+解析)
- 叙事护理案例分享演讲课件
- 微生物学智慧树知到期末考试答案章节答案2024年陕西理工大学
评论
0/150
提交评论