女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SparkMLlib GBDT算法工業大數據實戰

格創東智 ? 2019-04-28 14:11 ? 次閱讀

在格物匯之前發表的《工業大數據挖掘的利器——Spark MLlib》中提到,Spark 的MLlib組件能夠對工業現場海量數據進行高效挖掘,快速呈現結果給業務分析人員。接下來將向大家介紹SparkMLlib 中的GBDT算法,并將應用該算法對工業數據進行代碼實戰。

1算法概念

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


圖片 1.png


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


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


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

GBDT主要的優點有:

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

2) 在相對少的調參時間情況下,預測的準備率也可以比較高。這個是相對SVM來說的。

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

4) 很好的利用了弱分類器進行級聯。

5) 充分考慮的每個分類器的權重。

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


GBDT的主要缺點有:

1)由于弱學習器之間存在依賴關系,難以并行訓練數據,不過可以通過自采樣的SGBT來達到部分并行。

1完整代碼實例

工業生產中,產品在制程過程中會有很多特性值,如果能對產品的特性值及時進行預測,得到特性值的具體數值,那么就會幫組業務人員知曉產品的質量,實現產品的全檢,并能防止異常產品后流,造成不必要的浪費。


本次實戰代碼的采用的數據是半導體制程中某一道工序的機臺的制程參數值,通過采用SparkMLlib中的GBDT算法對工業現場機臺的制程參數進行建模,預測出經過該機臺生產之后產品的膜層厚度。

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]

}
}


模型最后輸出模型性能指標如下:

Mape(Mean Absolute Percentage Error):0.23%

圖片 2.png


通過上圖模型輸出的預測值與實際值對比,發現預測出來的產品膜厚的數值走勢跟實際數值走勢基本符合,mape達到0.5%以內,擬合度相當可觀,后續還可以通過樣本篩選以及特征工程等手段對該模型進行進一步調優。


在模型達到業務需求的擬合度等指標后,通過該模型進行部署,實現產品的“實時全檢”,從而實現產品質量的全面監控,杜絕異常產品后流;與工廠內的抽檢系統結合后,降低產品的抽檢率,提高工廠的效率。


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

本文作者:

格創東智大數據工程師黃歡(轉載請注明作者及來源)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4697

    瀏覽量

    94713
  • 智能制造
    +關注

    關注

    48

    文章

    5821

    瀏覽量

    77455
  • 工業互聯網
    +關注

    關注

    28

    文章

    4354

    瀏覽量

    94825
  • SPARK
    +關注

    關注

    1

    文章

    106

    瀏覽量

    20409
  • 工業大數據
    +關注

    關注

    0

    文章

    72

    瀏覽量

    8004
  • GBDT
    +關注

    關注

    0

    文章

    13

    瀏覽量

    4022
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    京東工業大模型Joy industrial重磅發布

    京東工業多年深耕工業數智供應鏈領域形成的經驗積累和數據沉淀,通過“工業大模型+供應鏈場景應用”雙引擎,構建從底層算力、算法
    的頭像 發表于 05-28 17:12 ?301次閱讀

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

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

    創新奇智AInnoGC工業大模型技術升級

    創新奇智近日宣布,其旗下的AInnoGC工業大模型已成功完成技術升級,實現了DeepSeek-R1蒸餾AInno-75B的技術適配。這一技術突破,標志著創新奇智在AI技術領域的又一次飛躍。 通過引入
    的頭像 發表于 02-14 09:42 ?473次閱讀

    工業現場數據實時采集:解鎖工業智能化轉型的關鍵

    在當今工業智能化轉型的浪潮中,工業現場數據實時采集的重要性不言而喻。它猶如企業運營的 “慧眼”,為企業帶來全方位的顯著價值。
    的頭像 發表于 01-20 13:24 ?391次閱讀
    <b class='flag-5'>工業</b>現場<b class='flag-5'>數據實</b>時采集:解鎖<b class='flag-5'>工業</b>智能化轉型的關鍵

    工程大數據平臺

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

    ADS1675最大數據吞吐率是是多少?

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

    西北工業大學OpenHarmony技術俱樂部正式揭牌成立

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

    智慧城市與大數據的關系

    智慧城市與大數據之間存在著密切的關系,這種關系體現在大數據對智慧城市建設的支撐和推動作用,以及智慧城市產生的大量數據大數據技術的應用需求。 大數據
    的頭像 發表于 10-24 15:27 ?1198次閱讀

    大數據實時鏈路備戰——數據雙流高保真壓測

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

    基于大數據與深度學習的穿戴式運動心率算法

    性能的關鍵手段。然而,在復雜多變的運動環境中,準確測量心率數據對于傳統算法而言具有較大的技術瓶頂。本文將探討如何運用大數據和深度學習技術來開發創新的穿戴式運動心率算
    的頭像 發表于 09-10 08:03 ?545次閱讀
    基于<b class='flag-5'>大數據</b>與深度學習的穿戴式運動心率<b class='flag-5'>算法</b>

    小鵬汽車榮獲2024年機械工業大型重點骨干企業

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

    旗晟機器人儀器儀表識別AI智慧算法

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

    大數據采集系統分為幾類

    大數據采集系統是大數據生態系統中的重要組成部分,它負責從各種數據源收集、整合和存儲數據。根據不同的數據源、采集方法和應用場景,
    的頭像 發表于 07-01 15:44 ?2163次閱讀

    工業大數據云平臺在設備預測性維護中的作用

    ,只有保證設備的安全穩定運行才能保障生產的持續,質量的可靠,提升企業產品競爭力。 因此,企業就需要加強對設備狀況的及時把握,并一定程度上實現工業設備預測性維護。為此,數之能提供的工業大數據云平臺可以全面接入
    的頭像 發表于 06-28 15:31 ?411次閱讀

    大數據在部隊管理中的運用有哪些

    管理、用數據創新的全新管理模式。 智慧華盛恒輝大數據能夠提供全樣本數據,避免了以往依賴少量數據分析的局限性,使決策更加全面、系統、準確。 前瞻性分析與預測:
    的頭像 發表于 06-23 09:53 ?1642次閱讀