一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SparkMLlib GBDT算法工業(yè)大數(shù)據(jù)實(shí)戰(zhàn)

格創(chuàng)東智 ? 2019-04-28 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在格物匯之前發(fā)表的《工業(yè)大數(shù)據(jù)挖掘的利器——Spark MLlib》中提到,Spark 的MLlib組件能夠?qū)I(yè)現(xiàn)場海量數(shù)據(jù)進(jìn)行高效挖掘,快速呈現(xiàn)結(jié)果給業(yè)務(wù)分析人員。接下來將向大家介紹SparkMLlib 中的GBDT算法,并將應(yīng)用該算法對工業(yè)數(shù)據(jù)進(jìn)行代碼實(shí)戰(zhàn)。

1算法概念

GB(Gradient Boosting)梯度提升算法,GB 共需要進(jìn)行M次迭代,通過采用梯度下降的方法,每次迭代向損失函數(shù)的負(fù)梯度方向進(jìn)行移動(dòng),從而使損失函數(shù)越來越小,進(jìn)而使模型越來越精確。算法偽代碼如下:


圖片 1.png


GB算法跟原始的Boosting算法相比較,還是有比較明顯的區(qū)別。


Boosting算法開始的時(shí)候,是會給每個(gè)樣本附上權(quán)重的,在每次迭代的時(shí)候就會增加錯(cuò)的樣本的權(quán)重,減少對的樣本的權(quán)重,經(jīng)過N次迭代之后,會得到N個(gè)分類器,然后我們再將他們組合起來,得到最終模型。


GB算法與Boosting區(qū)別是,他的每一次迭代的目標(biāo)都是減少上一次的殘差,所以在殘差減少的方向上建立一個(gè)新的模型。在GB算法框架上加入決策樹,就是GBDT(GradientBoost Decision Tree)算法。

GBDT主要的優(yōu)點(diǎn)有:

1) 可以靈活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值。

2) 在相對少的調(diào)參時(shí)間情況下,預(yù)測的準(zhǔn)備率也可以比較高。這個(gè)是相對SVM來說的。

3)使用一些健壯的損失函數(shù),對異常值的魯棒性非常強(qiáng)。比如 Huber損失函數(shù)和Quantile損失函數(shù)。

4) 很好的利用了弱分類器進(jìn)行級聯(lián)。

5) 充分考慮的每個(gè)分類器的權(quán)重。

6) 可以得到變量間的重要性排序。


GBDT的主要缺點(diǎn)有:

1)由于弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù),不過可以通過自采樣的SGBT來達(dá)到部分并行。

1完整代碼實(shí)例

工業(yè)生產(chǎn)中,產(chǎn)品在制程過程中會有很多特性值,如果能對產(chǎn)品的特性值及時(shí)進(jìn)行預(yù)測,得到特性值的具體數(shù)值,那么就會幫組業(yè)務(wù)人員知曉產(chǎn)品的質(zhì)量,實(shí)現(xiàn)產(chǎn)品的全檢,并能防止異常產(chǎn)品后流,造成不必要的浪費(fèi)。


本次實(shí)戰(zhàn)代碼的采用的數(shù)據(jù)是半導(dǎo)體制程中某一道工序的機(jī)臺的制程參數(shù)值,通過采用SparkMLlib中的GBDT算法對工業(yè)現(xiàn)場機(jī)臺的制程參數(shù)進(jìn)行建模,預(yù)測出經(jīng)過該機(jī)臺生產(chǎn)之后產(chǎn)品的膜層厚度。

packageSparkML

importcommon.Logger
importorg.apache.spark.ml.Pipeline
importorg.apache.spark.ml.evaluation.{BinaryClassificationEvaluator,RegressionEvaluator}
importorg.apache.spark.ml.feature.VectorAssembler
importorg.apache.spark.ml.regression.GBTRegressor
importorg.apache.spark.ml.tuning.{CrossValidator,ParamGridBuilder}
importorg.apache.spark.sql.{Row,SparkSession}
importscala.collection.mutable.ArrayBuffer
/**
* Created by huanghuan01 on 2019/3/27.
*/
objectgbdtDemoextendsLogger{

defmain(args: Array[String]):Unit= {
valspark= SparkSession
.builder()
.enableHiveSupport()
.master(
"local[4]")
.appName(
"gbdtDemo")
.getOrCreate()

spark.sparkContext.setLogLevel(
"WARN")

varrawData= spark.read.format("csv")
.option(
"header","true")
.load(
"E:\\sampleData.csv")

valfieldNames= rawData.schema.map(f=>s"${f.name}").toArray

valcastBuffer:ArrayBuffer[String] = ArrayBuffer()
for(i<-0until fieldNames.length){
valcast_str="cast("+ fieldNames(i) +" as double) as "+ fieldNames(i)
castBuffer.append(cast_str)
}
valcastArr= castBuffer.toArray
valinputData = rawData.selectExpr(castArr:_*)
valfeatureFieldNames= fieldNames.filter(!_.contains("label"))

valfeatureIndexer=newVectorAssembler()
.setInputCols(featureFieldNames)
.setOutputCol(
"featureIndexer")


valgbt=newGBTRegressor()
.setLabelCol(
"label")
.setFeaturesCol(
"featureIndexer")


valArray(trainingData,testData) =inputData.randomSplit(Array(0.8,0.2))

valpipline =newPipeline()
.setStages(Array(featureIndexer
,gbt))

valparamGrid =newParamGridBuilder()

.addGrid(gbt.maxIter,Array(30,50,100,200))

.addGrid(gbt.maxDepth,Array(3,7,9))

.addGrid(gbt.stepSize,Array(0.01,0.05,0.1))

.build()

valcv =newCrossValidator()
.setEstimator(pipline)
.setEvaluator(
newRegressionEvaluator())
.setNumFolds(
5)
.setEstimatorParamMaps(paramGrid)
valmodel =cv.fit(trainingData)

valpredictions =model.transform(testData)

predictions.select(
"label","prediction").show(100,false)

valevaluator =newRegressionEvaluator()
.setLabelCol(
"label")
.setPredictionCol(
"prediction")
.setMetricName(
"mae")

val mae = evaluator.evaluate

(predictions)
log.warn(s"The mae is : ${mae}")


val predictionAndLabels =

predictions

.select("prediction",

"label")

.rdd

.map { case Row(prediction:

Double, label: Double) =>

(prediction, label) }

val mape = math.abs

(predictionAndLabels.map

{ x => math.abs((x._1 - x._2) /

x._1) }.mean())

log.warn(s"The mape is :

${mape}")

val pipLine = model.bestModel.

asInstanceOf[org.apache.spark.

ml.PipelineModel]

}
}


模型最后輸出模型性能指標(biāo)如下:

Mape(Mean Absolute Percentage Error):0.23%

圖片 2.png


通過上圖模型輸出的預(yù)測值與實(shí)際值對比,發(fā)現(xiàn)預(yù)測出來的產(chǎn)品膜厚的數(shù)值走勢跟實(shí)際數(shù)值走勢基本符合,mape達(dá)到0.5%以內(nèi),擬合度相當(dāng)可觀,后續(xù)還可以通過樣本篩選以及特征工程等手段對該模型進(jìn)行進(jìn)一步調(diào)優(yōu)。


在模型達(dá)到業(yè)務(wù)需求的擬合度等指標(biāo)后,通過該模型進(jìn)行部署,實(shí)現(xiàn)產(chǎn)品的“實(shí)時(shí)全檢”,從而實(shí)現(xiàn)產(chǎn)品質(zhì)量的全面監(jiān)控,杜絕異常產(chǎn)品后流;與工廠內(nèi)的抽檢系統(tǒng)結(jié)合后,降低產(chǎn)品的抽檢率,提高工廠的效率。


GBDT算法的用途還是比較廣泛的,它不僅可以處理分類問題,能對線性與非線性回歸問題進(jìn)行處理,還能通過輸出變量間重要因子排序,方便業(yè)務(wù)人員快速定位異常變量。在工業(yè)現(xiàn)場的頑固異常分析還是產(chǎn)品特性預(yù)測等領(lǐng)域,GBDT算法確實(shí)是很值得數(shù)據(jù)分析人員考慮的一種算法。

本文作者:

格創(chuàng)東智大數(shù)據(jù)工程師黃歡(轉(zhuǎn)載請注明作者及來源)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4710

    瀏覽量

    95403
  • 智能制造
    +關(guān)注

    關(guān)注

    48

    文章

    5898

    瀏覽量

    77884
  • 工業(yè)互聯(lián)網(wǎng)

    關(guān)注

    28

    文章

    4362

    瀏覽量

    95092
  • SPARK
    +關(guān)注

    關(guān)注

    1

    文章

    106

    瀏覽量

    20598
  • 工業(yè)大數(shù)據(jù)

    關(guān)注

    0

    文章

    72

    瀏覽量

    8046
  • GBDT
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    4061
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    雷曼光電榮獲第七屆“深圳工業(yè)大獎(jiǎng)”企業(yè)獎(jiǎng)

    近日,第七屆“深圳工業(yè)大獎(jiǎng)”名單公示,雷曼光電憑借在超高清顯示領(lǐng)域的卓越技術(shù)實(shí)力與創(chuàng)新成果,成功摘得“深圳工業(yè)大獎(jiǎng)”。這一榮譽(yù)不僅是對雷曼光電深耕工業(yè)經(jīng)濟(jì)、推動(dòng)產(chǎn)業(yè)升級的充分肯定,更是對雷曼光電在大尺寸Micro LED顯示技術(shù)
    的頭像 發(fā)表于 07-17 17:08 ?230次閱讀

    歐菲光榮獲第七屆“深圳工業(yè)大獎(jiǎng)” 深圳工業(yè)界最高榮譽(yù)

    近日,第七屆“深圳工業(yè)大獎(jiǎng)”名單公示,經(jīng)深圳工業(yè)大獎(jiǎng)獨(dú)立評審團(tuán)成員認(rèn)真審議、記名投票,分別評選產(chǎn)生第七屆“深圳工業(yè)大獎(jiǎng)”企業(yè)10家、工業(yè)家10位、項(xiàng)目10個(gè)。其中,歐菲光集團(tuán)股份有限公
    的頭像 發(fā)表于 07-15 18:07 ?355次閱讀

    工業(yè)大數(shù)據(jù)管理平臺是什么?有什么功能?

    PLC跨網(wǎng)段通信網(wǎng)關(guān)是一種用于解決工業(yè)自動(dòng)化領(lǐng)域中不同網(wǎng)絡(luò)段內(nèi)PLC(可編程邏輯控制器)設(shè)備通信問題的關(guān)鍵設(shè)備,其核心作用是實(shí)現(xiàn)不同網(wǎng)絡(luò)協(xié)議、IP網(wǎng)段之間的數(shù)據(jù)交互與信息傳輸,下面從多個(gè)方面詳細(xì)介紹
    的頭像 發(fā)表于 06-13 15:43 ?144次閱讀

    邊緣計(jì)算 + 工控一體機(jī):如何實(shí)現(xiàn)工業(yè)數(shù)據(jù)實(shí)時(shí)處理與本地化決策?

    工業(yè) 4.0 和智能制造蓬勃發(fā)展的時(shí)代,工業(yè)數(shù)據(jù)的高效處理與決策的及時(shí)性成為提升企業(yè)競爭力的關(guān)鍵因素。邊緣計(jì)算與工控一體機(jī)的結(jié)合,為實(shí)現(xiàn)工業(yè)數(shù)據(jù)實(shí)
    的頭像 發(fā)表于 06-07 15:03 ?178次閱讀
    邊緣計(jì)算 + 工控一體機(jī):如何實(shí)現(xiàn)<b class='flag-5'>工業(yè)</b><b class='flag-5'>數(shù)據(jù)實(shí)</b>時(shí)處理與本地化決策?

    京東工業(yè)大模型Joy industrial重磅發(fā)布

    京東工業(yè)多年深耕工業(yè)數(shù)智供應(yīng)鏈領(lǐng)域形成的經(jīng)驗(yàn)積累和數(shù)據(jù)沉淀,通過“工業(yè)大模型+供應(yīng)鏈場景應(yīng)用”雙引擎,構(gòu)建從底層算力、算法
    的頭像 發(fā)表于 05-28 17:12 ?475次閱讀

    效能拓展,智能并行:G-ADLS03工業(yè)大母板為工業(yè)自動(dòng)化提供尖端硬件基石

    吉方工控全新G系列工業(yè)大母板G-ADLS03,憑借其卓越的性能、豐富的功能以及強(qiáng)大的擴(kuò)展性,成為工業(yè)升級領(lǐng)域中備受矚目的明星產(chǎn)品,并獲得由中國工控網(wǎng)及多方平臺共同頒發(fā)的2025CAIMRS“產(chǎn)業(yè)智能
    的頭像 發(fā)表于 02-21 09:47 ?556次閱讀
    效能拓展,智能并行:G-ADLS03<b class='flag-5'>工業(yè)大</b>母板為<b class='flag-5'>工業(yè)</b>自動(dòng)化提供尖端硬件基石

    工業(yè)現(xiàn)場數(shù)據(jù)實(shí)時(shí)采集:解鎖工業(yè)智能化轉(zhuǎn)型的關(guān)鍵

    在當(dāng)今工業(yè)智能化轉(zhuǎn)型的浪潮中,工業(yè)現(xiàn)場數(shù)據(jù)實(shí)時(shí)采集的重要性不言而喻。它猶如企業(yè)運(yùn)營的 “慧眼”,為企業(yè)帶來全方位的顯著價(jià)值。
    的頭像 發(fā)表于 01-20 13:24 ?495次閱讀
    <b class='flag-5'>工業(yè)</b>現(xiàn)場<b class='flag-5'>數(shù)據(jù)實(shí)</b>時(shí)采集:解鎖<b class='flag-5'>工業(yè)</b>智能化轉(zhuǎn)型的關(guān)鍵

    工程大數(shù)據(jù)平臺

    由于無人駕駛系統(tǒng)開發(fā)需要長期迭代優(yōu)化,其過程需要大量的路試數(shù)據(jù)支撐,經(jīng)緯恒潤針對無人駕駛系統(tǒng)持續(xù)運(yùn)營和持續(xù)迭代的需求,開發(fā)并在云端部署了車路云工程大數(shù)據(jù)平臺,依托5G網(wǎng)絡(luò),具有遠(yuǎn)程數(shù)據(jù)采集、壓縮、傳輸、解析、回放與
    的頭像 發(fā)表于 01-10 17:00 ?589次閱讀
    工程<b class='flag-5'>大數(shù)據(jù)</b>平臺

    ADS1675最大數(shù)據(jù)吞吐率是是多少?

    ADS1675 24bit的ADC的采樣率最大是4Msps,請問這款adc的最大數(shù)據(jù)吞吐率是是多少?怎么算的,在datasheet中有明確寫出來嗎
    發(fā)表于 11-28 07:56

    西北工業(yè)大學(xué)OpenHarmony技術(shù)俱樂部正式揭牌成立

    11月15日,由OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)項(xiàng)目群技術(shù)指導(dǎo)委員會與西北工業(yè)大學(xué)共同舉辦的“西北工業(yè)大學(xué)OpenHarmony技術(shù)俱樂部成立大會”在
    的頭像 發(fā)表于 11-19 18:04 ?969次閱讀
    西北<b class='flag-5'>工業(yè)大</b>學(xué)OpenHarmony技術(shù)俱樂部正式揭牌成立

    智慧城市與大數(shù)據(jù)的關(guān)系

    智慧城市與大數(shù)據(jù)之間存在著密切的關(guān)系,這種關(guān)系體現(xiàn)在大數(shù)據(jù)對智慧城市建設(shè)的支撐和推動(dòng)作用,以及智慧城市產(chǎn)生的大量數(shù)據(jù)大數(shù)據(jù)技術(shù)的應(yīng)用需求。 大數(shù)據(jù)
    的頭像 發(fā)表于 10-24 15:27 ?1331次閱讀

    大數(shù)據(jù)實(shí)時(shí)鏈路備戰(zhàn)——數(shù)據(jù)雙流高保真壓測

    作者:京東零售 京東零售 一、大數(shù)據(jù)雙流建設(shè) 1.1 數(shù)據(jù)雙流 大數(shù)據(jù)時(shí)代,越來越多的業(yè)務(wù)依賴實(shí)時(shí)數(shù)據(jù)用于決策,比如促銷調(diào)整,點(diǎn)擊率預(yù)估、廣告分傭等。為了保障業(yè)務(wù)的順利開展,也為了保證
    的頭像 發(fā)表于 10-22 14:40 ?617次閱讀
    <b class='flag-5'>大數(shù)據(jù)實(shí)</b>時(shí)鏈路備戰(zhàn)——<b class='flag-5'>數(shù)據(jù)</b>雙流高保真壓測

    基于大數(shù)據(jù)與深度學(xué)習(xí)的穿戴式運(yùn)動(dòng)心率算法

    性能的關(guān)鍵手段。然而,在復(fù)雜多變的運(yùn)動(dòng)環(huán)境中,準(zhǔn)確測量心率數(shù)據(jù)對于傳統(tǒng)算法而言具有較大的技術(shù)瓶頂。本文將探討如何運(yùn)用大數(shù)據(jù)和深度學(xué)習(xí)技術(shù)來開發(fā)創(chuàng)新的穿戴式運(yùn)動(dòng)心率算
    的頭像 發(fā)表于 09-10 08:03 ?646次閱讀
    基于<b class='flag-5'>大數(shù)據(jù)</b>與深度學(xué)習(xí)的穿戴式運(yùn)動(dòng)心率<b class='flag-5'>算法</b>

    小鵬汽車榮獲2024年機(jī)械工業(yè)大型重點(diǎn)骨干企業(yè)

    近日,由中國機(jī)械工業(yè)聯(lián)合會主辦的“2024年機(jī)械工業(yè)大型重點(diǎn)骨干企業(yè)發(fā)展論壇暨機(jī)械、鋼鐵產(chǎn)業(yè)鏈融通發(fā)展大會”在北京舉行,小鵬汽車榮獲“機(jī)械工業(yè)大型重點(diǎn)骨干企業(yè)”稱號。
    的頭像 發(fā)表于 08-05 10:26 ?776次閱讀

    旗晟機(jī)器人儀器儀表識別AI智慧算法

    缺少的一個(gè)環(huán)節(jié)。那么我們說說旗晟儀器儀表識別AI智慧算法吧。 旗晟儀器儀表識別AI智慧算法是通過各類采集設(shè)備與AI服務(wù)器,結(jié)合行業(yè)大數(shù)據(jù)庫積累以及自研AI深度學(xué)習(xí)算法模型,形成了高效率
    的頭像 發(fā)表于 07-26 09:58 ?665次閱讀
    旗晟機(jī)器人儀器儀表識別AI智慧<b class='flag-5'>算法</b>