下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課題加載鶯尾花數(shù)據(jù)
課時(shí)2課時(shí)(90min)
知識(shí)技能目標(biāo):
(1)認(rèn)識(shí)機(jī)器學(xué)習(xí)
(2)了解SparkMLlib的組成
(3)熟悉SparkMLlib的基本數(shù)據(jù)類型
教學(xué)目標(biāo)
(4)理解SparkMLlib的運(yùn)行流程
素質(zhì)目標(biāo):
(1)能熟練運(yùn)用機(jī)器學(xué)習(xí)算法解決日常生活中的數(shù)據(jù)分析問題
(2)培養(yǎng)自主學(xué)習(xí)意識(shí),提升實(shí)踐操作能力
教學(xué)重點(diǎn):SptrkMLlib的組成,SparkMLlib的基本數(shù)據(jù)類型,SparkMLlib的運(yùn)行流程
教學(xué)重難點(diǎn)
教學(xué)難點(diǎn):SpzrkMLlib的運(yùn)行流程
教學(xué)方法案例分析法、問答法、討論法、講授法
教學(xué)用具電腦、投影儀、多媒體課件、教材
教學(xué)過程主要教學(xué)內(nèi)容及步驟
【教師】布置課前任務(wù),和學(xué)生負(fù)責(zé)人取得聯(lián)系,讓其提醒同學(xué)通過APP或其他學(xué)習(xí)軟件,完成課
前任務(wù)
課前任務(wù)
請(qǐng)大家了解什么是機(jī)器學(xué)習(xí)。
【學(xué)生】完成課前任務(wù)
【教師】使用APP進(jìn)行簽到
考勤
【學(xué)生】班干部報(bào)請(qǐng)假人員及原因
【教師】提出以下問題:
問題導(dǎo)入請(qǐng)簡單說說什么是機(jī)器學(xué)習(xí)。
【學(xué)生】思考、舉手回答
【教師】通過學(xué)生的回答引入新知,介紹機(jī)器學(xué)習(xí)、SparkMLlib的組成,SparkMLlib的基本數(shù)
據(jù)類型,SparkMLlib的運(yùn)行流程等內(nèi)容
一、認(rèn)識(shí)機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計(jì)學(xué)、逼近論、凸分析和算法復(fù)雜度理論等多門
學(xué)科.它使用計(jì)算機(jī)工具模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為以獲取新的知識(shí)或技能,并無新組織已有的知識(shí)結(jié)
構(gòu)以不斷改善自身的性能。
按照不同的維度,機(jī)器學(xué)習(xí)有多種分類方式。從學(xué)習(xí)方式的維度進(jìn)行劃分,機(jī)器學(xué)習(xí)可以分為監(jiān)督
學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)。
傳授新知
(1)監(jiān)督學(xué)習(xí).監(jiān)督學(xué)習(xí)是一種比較簡單且直接的學(xué)習(xí)方法,它利用含有標(biāo)簽的數(shù)據(jù)集對(duì)學(xué)習(xí)模型
進(jìn)行訓(xùn)練,然后得到預(yù)測(cè)模型,最后利用測(cè)試集對(duì)預(yù)測(cè)模型的性能進(jìn)行評(píng)估。
(2)無監(jiān)督學(xué)習(xí)。無監(jiān)督學(xué)習(xí)是在沒有標(biāo)簽的數(shù)據(jù)集里發(fā)現(xiàn)數(shù)據(jù)之間潛在關(guān)系的學(xué)習(xí)方法。無監(jiān)督
學(xué)習(xí)是一種沒有明確目的的學(xué)習(xí)方法,無法提前知道結(jié)果,且它的學(xué)習(xí)效果幾乎無法量化.
(3)半監(jiān)督學(xué)習(xí)。半監(jiān)督學(xué)習(xí)是一種介于監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)之間的學(xué)習(xí)方法.它利用少量有標(biāo)
簽的數(shù)據(jù)集和大量無標(biāo)簽的數(shù)據(jù)集進(jìn)行訓(xùn)練,旨在擴(kuò)展模型的覆蓋范圍,并提高模型的泛化能力。半監(jiān)
督學(xué)習(xí)通常應(yīng)用于數(shù)據(jù)標(biāo)注成本較高或難以獲得大量含有標(biāo)簽的數(shù)據(jù)集的場(chǎng)景。
二、SparkMLlib概述
【教師】通過多媒體展示"SparkMLlib的組成”圖片,并進(jìn)行講解
傳統(tǒng)的機(jī)器學(xué)習(xí)算法通常需要對(duì)整個(gè)數(shù)據(jù)集進(jìn)行操乍,這可能會(huì)導(dǎo)致計(jì)算時(shí)間過長或內(nèi)存不足等問
題。隨著HDFS等分布式文件系統(tǒng)的出現(xiàn),海量數(shù)據(jù)存儲(chǔ)成為可能。但是,由于MapReduce自身的限制,
使用M叩Reduce實(shí)現(xiàn)分布式機(jī)器學(xué)習(xí)算法仍然存在延遲高、磁盤開銷大等問題。為此,Spark提供了一
個(gè)基于海量轆的機(jī)器學(xué)習(xí)庫MLlib,使得開發(fā)者可以通過調(diào)用API實(shí)現(xiàn)基于海量數(shù)據(jù)的機(jī)器學(xué)習(xí)過程。
SparkMLlib包含了一系列通用的學(xué)習(xí)算法和工具,涵蓋了特征提取、特征轉(zhuǎn)換、特征選擇、聚類、
分類、回歸和協(xié)同過濾等。此外,SparkMLlib還提供了底層的優(yōu)化功能和高層的管道API,用于構(gòu)建復(fù)
雜的機(jī)器學(xué)習(xí)工作流程。SpaikMLlib的組成如圖5-1所示。
圖5-1SparkMLlib的組成
三、SparkMLlib的基本數(shù)據(jù)類型
【教師】通過多媒體展示圖表,并講解SparkMLlib的基本數(shù)據(jù)類型
SparkMLlib提供了一系列基本數(shù)據(jù)類型,用于支持底層的機(jī)器學(xué)習(xí)算法.常見的基本數(shù)據(jù)類型包括
本地向量、本地矩陣和標(biāo)注點(diǎn)等.其中,本地向量和本地矩陣作為公共接口提供簡單的數(shù)據(jù)模型;標(biāo)注
點(diǎn)表示監(jiān)督學(xué)習(xí)中的一個(gè)訓(xùn)練樣本.詳細(xì)說明如表5-1所示。
表5-1SparkMLlib常見的基本數(shù)據(jù)類型
數(shù)據(jù)類型說明
本地向量是一個(gè)數(shù)值數(shù)組,表示特征集合或樣本。根據(jù)元素的存在情況和存儲(chǔ)方
本地向量式,本地向量可分為稠密本地向量(denselocalVccior)和稀疏本地向量isparselocal
(localVector)Veclor).其中,稠密本地向量是一個(gè)存儲(chǔ)著所有特征值的數(shù)組,每個(gè)元素都代表
向量的一個(gè)特征;稀疏本地向量只存儲(chǔ)非零特征及其對(duì)應(yīng)的索引
本地矩陣是一個(gè)二維數(shù)組,用于存儲(chǔ)和處理數(shù)值型數(shù)據(jù)。本地矩陣可分為稠密本
本地矩陣
地矩陣(denselocalMatrix)和稀疏本地矩陣(sparselocalMatrix)0稠密本地矩陣
(localMatrix)
中的每個(gè)元素都有一個(gè)值;稀疏本地矩陣中大部分元素的值為零
標(biāo)注點(diǎn)標(biāo)注點(diǎn)表示監(jiān)督學(xué)習(xí)中的一個(gè)訓(xùn)練樣本,由特征向量和與之關(guān)聯(lián)的標(biāo)簽組成。特
(LabcledPoint)征向量表示輸入樣本的特征;標(biāo)簽是一個(gè)浮點(diǎn)數(shù)或整數(shù),表示樣本的類別或輸出
四、SparkMLlib的運(yùn)行流程
【教師】通過多媒體展示“SparkMLlib的運(yùn)行流程”圖片,并進(jìn)行講解
SparkMLlib的運(yùn)行流程如圖5-2所示。
試數(shù)4
Z*一
1
阿|訓(xùn)練^一一./
特征、X-
模型
(數(shù)據(jù)特征或「模型模型).模型
LLf評(píng)估
[加我廣J
h轉(zhuǎn)換H選擇;一H構(gòu)建廠訓(xùn)練測(cè)試
i道蛆熠____________________!JJ
訓(xùn)練-測(cè)試迭代
圖5-2SparkMLlib的運(yùn)行流程
(1)數(shù)據(jù)力「載。使用Spark提供的方法讀取數(shù)據(jù)創(chuàng)建DataFramc.
(2)特征處理。對(duì)加載的數(shù)據(jù)進(jìn)彳簾征處理,勻括特征提取、特征轉(zhuǎn)換、特征選擇等。
【小提示】在進(jìn)行特征處理時(shí),并不一定需要嚴(yán)格按照特征提取、特征轉(zhuǎn)換、特征選擇的順序進(jìn)行
處理。根據(jù)具體的問題和數(shù)據(jù)情況,可以靈活選擇特征處理的方法。
(3)劃分訓(xùn)練集和測(cè)試集.使用Spark提供的工具類,如randomSplii()方法,將數(shù)據(jù)按照比例劃分
為訓(xùn)練集和測(cè)試集。該方法的基本格式如下。
randomSplit(weights.seed)
其中,參數(shù)weights為一個(gè)包含權(quán)重(權(quán)重之和為1)的列表,表示每個(gè)子數(shù)據(jù)集的相對(duì)大??;參數(shù)
seed(可選)為一個(gè)整數(shù)種子,用于控制隨機(jī)數(shù)生成器的種子值。
(4)模型構(gòu)建。選擇合適的機(jī)器學(xué)習(xí)算法構(gòu)建機(jī)器學(xué)習(xí)模型.
(5)模型訓(xùn)練。輸入訓(xùn)練數(shù)據(jù),使用向。方法訓(xùn)練機(jī)器學(xué)習(xí)模型。
fit(dataset)
其中,參數(shù)Jalaset為DataFramc類型的數(shù)據(jù)。
(6)模型測(cè)試。使用lran$fonn()方法執(zhí)行轉(zhuǎn)換操作,將訓(xùn)練好的模型應(yīng)用于測(cè)試數(shù)據(jù),生成預(yù)測(cè)結(jié)
果。該方法的基本格式如下。
transforin(dalaset)
其中,參數(shù)dataset為DataFrame類型的數(shù)據(jù)。
(7)模型評(píng)估。首先創(chuàng)建MulticlassClassificalionEvalualor對(duì)象,然后使用評(píng)估器(evaluator)評(píng)估
訓(xùn)練好的模型,計(jì)算模型的性能指標(biāo),如準(zhǔn)確率.召回率、F1值等.該方法的基本格式如下.
艙U建MulticlassClassiGcationEvaluator對(duì)象
eval=MukiclassClassificationEvaIuator(labelCol,predictionCol,metricName)
eval_value=evai.evaluate(dataset)
其中,參數(shù)labelCol(可選)表示真實(shí)標(biāo)簽列的名稱,默認(rèn)值為label;參數(shù)prediclionCol(可選)表
示預(yù)測(cè)標(biāo)簽列的名稱,默認(rèn)值為prediction;參數(shù)meuicName(可選)表示評(píng)估指標(biāo)的名稱,可選值包括
accuracy(準(zhǔn)確率)、fl(FI值)、weightedPrecision(加權(quán)精確率)、weightedRecall(加權(quán)召回率)等,
默認(rèn)值為fl;參數(shù)dataset表示包含標(biāo)簽和預(yù)測(cè)值的DataFramc,
【學(xué)生】聆聽、思考、理解、記錄
【教師】介紹“加載鶯尾花數(shù)據(jù)”的大概流程,安排學(xué)生掃描微課二維碼觀看視頻“加載鶯尾花數(shù)
據(jù)“(詳見教材),并要求學(xué)生進(jìn)行相應(yīng)操作
課堂實(shí)踐Iris數(shù)據(jù)集是一組包含150個(gè)樣本和4個(gè)特征的多元數(shù)據(jù)集。每個(gè)樣本都包含Iris花卉的萼片長度、
萼片寬度、花瓣長度和花轆寬度,以及花卉對(duì)應(yīng)的品種(sciosa、versicolor或virginica)。該數(shù)據(jù)集存放
在wusr/local/spark/mycode/MI1ib/iris.csv"文件中,內(nèi)容如圖5-3所示。
3
irls.csv=
打開(。)▼a保存(S)X
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3,e,1.4,e.2,lris-setosa
4.7,3.2,1.3,9.2,Iris-setosa
4.6,3.1,1.5,9.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3,4,1.4,e.3,Iris-setosa
5.o,3.4,1.5,e.2rIris-setosa
4.4,2.9,1.4,0.2,Iris-setosa
打開PyCharm,創(chuàng)建"M汗ib"目錄,然后新建‘IrisFealure.py'文件,并在該文件中編寫應(yīng)用程
序,實(shí)現(xiàn)鶯尾花數(shù)據(jù)的讀取。具體實(shí)現(xiàn)步驟如下。
步驟I?創(chuàng)建SparkSession對(duì)象。
步驟2A使用read.csv。方法加載鶯尾花數(shù)據(jù)創(chuàng)建DataFrame(即data)。其中,inferSchema=True
表示自動(dòng)推斷字段類型;header=False表示不使用首行數(shù)據(jù)作為列名。
步驟3A使用loDF()方法為data指定列名,得到一個(gè)新的DataFrame(即iris)。
【高手點(diǎn)撥】tc,DF(*cols)方法是DataFrame的一種轉(zhuǎn)換方法,該方法返回一個(gè)具有指定列名的
DataFrame.參數(shù)cols表示新的列名,多個(gè)列名之間以逗號(hào)隔開。
步驟4A使用show。方法顯示iris中的數(shù)據(jù)。
【參考代碼】
frompyspark.sqlimportSparkSession
frompyspark.ml.featureimportVectorAssembler.StringIndexer.PCA
frompyspark.ml.clusteringimportKMeans
frompyspark.ml.classificationimportDecisionTreeClassifier
frompyspark.ml.evaluationimportMulticlassClassificationEvaluator
frompyspark.sql.functionsimportcol#創(chuàng)建SparkSession
spark=SparkSession.buildcr.appNanie("lrisFeaturc").gelOrCrcatc()
#加載鶯尾花數(shù)據(jù)創(chuàng)建DataFrame
data=spark.read.csv(,'t'ile:///usr/local/spark/mycode/Mllib/iris.csv",interSchema=True,header=False)
#使用loDF()方法為data指定列名
iris=data.toDF("sepal_length","sepal_width","petaljsngth","petal_width","label")
#顯示iris中的數(shù)據(jù)
iris.show()
【運(yùn)行結(jié)果】在PyCharm中運(yùn)行代碼,控制臺(tái)顯示Iris數(shù)據(jù)集的前20行數(shù)據(jù),如圖5-4所示。
+-----------+-----------+------------+-----------+----------+
Isepal.lengthIsepal.widthlpetal._l.ength1petal.widthIlabel1
+-----------+-----------+------------+-----------+----------+
15.113.511.41e.2llris-setosal
14.9|3.el1.4|e.2lIris-setosal
14.7|3.211.31e.2llris-setosal
14.6l3.111.5|0.2|Iris-setosal
15.013.6|1.4|0.2|Iris-setosal
15.4|3.9|1.7|0.4|Iris-setosal
14.6l3.4|1.4|0.3|Iris-setosal
15.913.4|1.510.2|Iris-setosal
14.412.9|1.4|6.2|Iris-setosal
14.913.111.51O.lllris-setosal
15.4|3.7|1.510.2|Iris-setosa|
14.813.4|1.6|0.21Iris-setosal
14.813.0|1.4|O.lllris-setosal
14.313.0|1.11O.lllris-setosal
15.814.0|1.210.2|Iris-setosa|
15.7|4.4|1.5|O.AlIris-setosal
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 抗菌藥物臨床應(yīng)用知識(shí)和規(guī)范化管理的培訓(xùn)考核試題及答案
- 勞動(dòng)法勞動(dòng)合同法測(cè)試題題庫(+答案)
- 健康教育學(xué)試卷及答案
- 2025年青海省養(yǎng)老護(hù)理員職業(yè)資格技師預(yù)測(cè)題(包含答案)
- 2025安全生產(chǎn)法試題及答案
- 疫情交規(guī)考試題及答案
- BIM工程師招聘面試題及答案
- 從業(yè)資格考試題目及答案
- 烏蘭縣公安局2025年面向社會(huì)公開招聘警務(wù)輔助人員備考題庫附答案
- 興國縣2025年招聘城市社區(qū)專職網(wǎng)格員筆試 考試備考題庫必考題
- GB/T 36935-2025鞋類鞋號(hào)對(duì)照表
- 北京化工集團(tuán)招聘筆試題庫2025
- 食品中標(biāo)后的合同范本
- 博物館講解員禮儀培訓(xùn)
- 高階老年人能力評(píng)估實(shí)踐案例分析
- 2025年全國職業(yè)院校技能大賽高職組(研學(xué)旅行賽項(xiàng))考試題庫(含答案)
- 創(chuàng)意文案寫作技巧與實(shí)戰(zhàn)案例
- 糖尿病足康復(fù)療法及護(hù)理措施
- 生豬屠宰溯源信息化管理系統(tǒng)建設(shè)方案書
- 廠區(qū)景觀設(shè)計(jì)合同范本
- 顱內(nèi)壓增高患者的觀察與護(hù)理
評(píng)論
0/150
提交評(píng)論