《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx

上传人:王** 文档编号:1169422 上传时间:2024-04-12 格式:DOCX 页数:5 大小:52.78KB
下载 相关 举报
《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx_第1页
第1页 / 共5页
《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx_第2页
第2页 / 共5页
《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx_第3页
第3页 / 共5页
《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx_第4页
第4页 / 共5页
《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第15课加载鸢尾花数据.docx(5页珍藏版)》请在优知文库上搜索。

1、课题加载莺尾花数据课时2课时(90min)教学目标知识技能目标:(1)认识机器学习(2)了解SparkMLlib的组成(3)熟悉SparkMLIib的基本数据类型(4)理解SparkMLlib的运行流程素质目标:(1)能熟练运用机器学习算法解决日常生活中的数据分析问题(2)培养自主学习意识,提升实践操作能力教学重难点教学重点:SparkMLlib的组成,SparkMLlib的基本数据类型,SparkMLlib的运行流程教学睚点:SParkMLlib的运行流程教学方法案例分析法、问答法、讨论法、i井授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,

2、和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请大家了解什么是机器学习。【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:请简单说说什么是机器学习。【魅】思考、传授新知【教师】通过学生的回答引入新知,介绍机器学习、SparkMLIib的组成,SparkMLIib的基本数据类型,SparkMLIib的运行流程等内容一、认识机器学习机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析和算法复杂度理论等多门学科.它使用计算机工具模拟或实现人类的学习行为以获取新的知识或技能,并重新组织已有的知识结构以不断

3、改善自身的性能。按照不同的维度,机器学习有多种分类方式。从学习方式的维度进行划分,机器学习可以分为监督学习、无监督学习和半监督学习.(1)监督学习。监督学习是一种比较简单且直接的学习方法,它利用含有标签的幡集对学习模型进行训练,然后得到预测模型,最后利用测试集对预测模型的性能进行评估.(2)无监督学习。无监督学习是在没有标签的数据集里发现数据之间潜在关系的学习方法。无监督学习是一种没有明确目的的学习方法,无法提前知道结果,且它的学习效果几乎无法量化.(3)半监督学习。半监督学习是一种介于监督学习和无监督学习之间的学习方法。它利用少量有标签的数据集和大量无标签的孀集进彳方川练,旨在扩展模型的覆盖

4、范围,并提高模型的泛化能力。半监督学习通常应用于数据标注成本较高或难以获得大量含有标签的数据集的场景.二、SparkMLIib概述【教师】通过多媒体展示,SparkMLIib的组成”图片,并进行讲解传统的机器学习算法通常需要对整个数据集进行操作,这可能会导致计算时间过长或内存不足等问题。随着HDFS等分布式文件系统的出现,海量数据存储成为可能。但是,由于MapReduce自身的限制,使用M叩RedUCe实现分布式机器学习算法仍然存在延迟高、磁盘开销大等问题。为此,Spark提供了一个基于海量数据的机器学习库MLIib,使得开发者可以通过调用API实现基于海量数据的机器学习过程。SparkMLl

5、ib包含了一系列通用的学习算法和工具,涵盖了特征提取、特征转换、特征选择、聚类、分类、回归和协同过滤等。此外,SparkMLlib还提供了底层的优化功能和高层的管道API,用于构建复杂的机器学习工作流程.SparkMLIib的组成如图5-1所示。图5-1SParkMLlib的组成三、SparkMLIib的基本数据类型【教师】通过多媒体展示图表,并讲解SparkMLlib的基本数据类型SparkMLlib提供了一系列基本数据类型,用于支持底层的机器学习算法。常见的基本数据类型包括本地向量、本地矩阐口标注点等。其中,本地向量和本地矩阵作为公共接口提供简单的数据模型;标注点表示监督学习中的一个训练样

6、本。详细说明如表5-1所示.表5-1SParkMLIib常见的基本数据类型数据类型说明本地向量(localVector)本地向量是一个数值数组,表示特征集合或样本。根据元素的存在情宓口存储方式,本地向量可分为稠密本地向量(denseIoCalVeClor)和稀疏本地向量(sparselocalVector)。其中,稠密本地向量是一个存储者所有特征值的数组,每个元素都代表向量的一个特征;稀疏本地向量只存储非零特征及其对应的索引本地矩阵(localMatrix)本地矩阵是一个二维数组,用于存储和处理数值型数据。本地矩阵可分为稠密本地矩阵(denselocalMatrix)和稀疏本地矩阵(spars

7、elocalMatrix)稠密本地矩阵中的每个元素都有一个值;稀疏本地矩阵中大部分元素的值为零标注点(LabeledPoint)标注点表示监督学习中的一个训练样本,由特征向量和与之关联的标签组成。特征向量表示输入样本的特征;标签是一个浮点数或整数,表示样本的类别或输出四、SParkMLlib的运行流程【教师】通过多媒体展示“SparkMLIib的运行流程”图片,并进行讲解SparkMLlib的运行流程如图5-2所示。J试数超_(数据Li特征Lf特征Lr特征幽模型Lf模型Lf模型Lf模型)加载厂提取厂转换jf选择构建厂训练厂7测试厂评估J1.每处JgJJ训练-测试迭代图5-2SparkMLlib

8、的运行流程(1)数据加载。使用SPark提供的方法读取数据创建DataFrame。(2)特征处理。对加载的数据进行特征处理,包括特征提取、特征转换、特征选择等。【小提示】在进行特征处理时,并不一定需要严格按照特征提取、特征转换、特征选择的顺序进行处理。根据具体的问题和数据情况,可以灵活选择特征处理的方法。(3)划分训练集和测试集。使用Spark提供的工具类,如randomSplit()方法,将数据按照比例划分为训练集和测试集。该方法的基本格式如下。randomSplit(weigh(s,seed)其中,参数weights为一个包含权重(权重之和为I)的列表,表示每个子数据集的相对大小;参数se

9、ed(可选)为一个整数种子,用于控制随机数生成器的种子值。(4)模型构建。选择合适的机器学习算法构建机器学习模型。(5)模型训练。输入训练数据,使用mo方法训练机器学习模型。fit(daiaset)其中,参数dataset为DataFrame类型的数据。(6)模型测试.使用IranSfOnn()方法执行转换操作,将训练好的模型应用于测试数据,生成预测结果。该方法的基本格式如下。transform(dataset)其中,参数dataset为DataFrame类型的数据。(7)模型评估。首先创建MuhiclassciassificationEvaluator对象,然后使用评估器(evaluator

10、)评估训练好的模型,计算模型的性能指标,如准确率、召回率、Fl值等。该方法的基本格式如下.#创建MulticlassClassifica(ionEvalua(or对象eval=MulticlassClassificationEvaluator(IabelCol.predictionCol.metricName)eval_value=eval.evaluate(da(aset)其中,参数IabeICoI(可选)表示真实标签列的名称,默认值为label;参数PrediCIionCO1(可选)表示预混肝示签列的名称,默认值为prediction;参数metricName(可选)表示评估指标的名称,可

11、选值包括accuracy(准确率)、fl(Fl值)、WeightedPrecision(加权精确率)、WeightedRecall(力哝召回率)等,默认值为11;参数dataset表示包含标签和预测值的DataFramee【学生】聆听、思考、理解、记录课堂实践【教师】介绍“加载莺尾花数据”的大概流程,安排学生扫描微课二维码观看视频“加载莺尾花数据“(详见教材),并要求学生进行相应操作Iris数据集是一组包含150个样本和4个特征的多元数据集。每个样本都包含Iris花卉的萼片长度、萼片宽度、花瓣长度和花瓣宽度,以及花卉对应的品种(Selosa、VerSieOlor或Virginica).该数据集

12、存放在Musr/local/spark7mycode/MIlibZirisxsvw文件中,内容如图5-3所示。1打开日ihscsv保存(三)三51,3.5,14r.2,Irissetosa49,3.,l4,.2,lris-setosa47,3.2,13,0.2,IriS-SetoSa46,3.1,15,.2,Iris-setosa5,3.6,14,.2,Iris-setosa54,3.9,17,.4,iris-setosa46,3.4,14,.3,Iris-setosa50,3.4,15r.2,Iris-setosa44,2.9,14,.2,Iris-setosa打开PyCharm,创建MLl

13、ib目录,然后新建IrisFeaturepy文件,并在该文件中编写应用程序,实现莺尾花幡的读取。具体实现步骤如下。步骤1创建SparkSession对象。步骤2A使用read.csv()方法加载莺尾花创建DataFrame(即data)其中,InferSchema=True表示自动推断字段类型;header=Fake表示不使用首行数据作为列名。步骤3A使用toDF()方法为data指定列名,得到一个新的DataFrame(即iris)。【高手点拨】toDF(*cols)方法是DataFrame的一种转换方法,该方法返回一个具有指定列名的DataFramee参数c。IS表示新的列名,多个列名之间

14、以逗号隔开。步骤4A使用ShoWo方法显示iris中的数据。【参考代码】frompyspark.sqlimportSparkSessionfrompyspark.ml.featureimportVectorAssemblerlSlringIndexenPCAfrompyspark.ml.clusteringimportKMeansfromPysparkmLcIassificationimportDecisionTreeClassifierfrompyspark.rnl.evaluationimportMulticlassciassificationEvaluatorfrompyspark.sq

15、l.functionsimportCoI盼!J建SparkSession对象spark=SparkSession.builder.appName(IrisFeature).getOrCreate()# 加载莺尾花数据创建DataFramedata=spark.read.csv(file:/usr/local/spark/mycode/Mllib/iris.csv,inferSchema=True,header=False)# 使用toDF()方法为data指定列名iris=data.toDF(sepalJength,sepal_width,petaljength,petal_width,label)# 显示iris中的数据iris.show()【运行结果】在PyCharm中运行代码,控制台显示Iris数据集的前20行数据,如图5-4所示。十十.十Isepal_le

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Web服务

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!