基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化_第1頁
基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化_第2頁
基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化_第3頁
基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化_第4頁
基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化目錄TOC\o"1-3"\h\u28652【摘要】 頁基于星環(huán)大數(shù)據(jù)平臺的大數(shù)據(jù)機器學習優(yōu)化大數(shù)據(jù)與互聯(lián)網(wǎng)學院物聯(lián)網(wǎng)工程梁睿倩學號:20183220128【摘要】我國已處于大數(shù)據(jù)3.0發(fā)展時代的浪潮之中,面對TB-PB級別海量數(shù)據(jù),多個行業(yè)難以運用發(fā)揮數(shù)據(jù)價值。隨著互聯(lián)網(wǎng)技術(shù)發(fā)展和大數(shù)據(jù)分析應用需求日益迫切,如何在大量數(shù)據(jù)基礎(chǔ)上挖掘分析出有用信息已成為當前研究熱點之一。雖然從海量信息中挖掘出有價值的知識已經(jīng)是一種趨勢,但這需要投入大量資金和人力進行研究,使得大數(shù)據(jù)機器學習技術(shù)難以在多個傳統(tǒng)行業(yè)中進行轉(zhuǎn)型發(fā)展。如何通過數(shù)據(jù)分析與機器學習更快速的挖掘出來成為許多行業(yè)發(fā)展難題。星環(huán)大數(shù)據(jù)分析科技公司作為中國大數(shù)據(jù)機器學習產(chǎn)業(yè)的佼佼者,針對這一難點痛點,其研發(fā)的sophon大數(shù)據(jù)機器學習平臺能夠很好的處理各個行業(yè)產(chǎn)生的數(shù)據(jù)并且訓練機器學習模型。針對玩家付費金額預測,房價漲跌幅預測,用戶行為預測等案例進行機器學習優(yōu)化方向的研究,能夠通過最簡易的方法處理上百萬條數(shù)據(jù)和百條數(shù)值特征,并且將加工分析后的特征工程通過最簡潔的圖像可視化進行算法優(yōu)化和參數(shù)調(diào)優(yōu),對于業(yè)務(wù)開發(fā)和決策具有重大意義。本研究主要通過sophon平臺以及星環(huán)官方提供的數(shù)據(jù)集進行機器學習工作流的實驗,分析了108項數(shù)據(jù)特征與人們實際付費金額數(shù)目之間的關(guān)系,搭建一個簡單有效的預測模型;根據(jù)實驗結(jié)果對影響用戶行為決策因素進行篩選,調(diào)參尋找最優(yōu)化的機器模型。通過對數(shù)據(jù)進行機器學習實驗的案例深度挖掘數(shù)據(jù)平臺功能及其算法,進而實現(xiàn)建模優(yōu)化。同時根據(jù)分析過程中出現(xiàn)的問題以及現(xiàn)象進行一些總結(jié)和探索。【關(guān)鍵詞】大數(shù)據(jù)平臺;大數(shù)據(jù);機器學習;sophon引言研究背景我國已經(jīng)在大數(shù)據(jù)3.0的發(fā)展時代,該時代中5G、AI、制造互聯(lián)化、大數(shù)據(jù)云計算等技術(shù)快速發(fā)展。目前互聯(lián)網(wǎng)時代,各行各業(yè)以大量業(yè)界數(shù)據(jù)為發(fā)展基礎(chǔ),在未來數(shù)據(jù)將與新的技術(shù)融合推動傳統(tǒng)產(chǎn)業(yè)信息化發(fā)展。目前,如何在大數(shù)據(jù)環(huán)境下,將海量數(shù)據(jù)用于機器學習引起了業(yè)界廣泛關(guān)注。人工智能技術(shù)的快速發(fā)展,帶來了技術(shù)平臺和行業(yè)應用的繁榮,從Caffe、CNTK、CoreML到TensorFlow、TensorRT,從CPU、GPU到TPU、FPGA、ARM,技術(shù)發(fā)展體系越來越復雜,對開發(fā)人員的技能要求也變得更高;大量的技術(shù)人員需要不斷授受技術(shù)更新,更多的應用需要考慮額外的遷移成本,更多的市場需要投入大量的資源以充分體現(xiàn)人工智能賦予的價值。如何提供業(yè)界眼前一亮的軟件應用,同時該服務(wù)統(tǒng)籌硬件資源和數(shù)據(jù)資源,產(chǎn)生業(yè)務(wù)價值,進而有效的解決海量數(shù)據(jù)分析問題,驅(qū)動不同行業(yè)如金融、電信、教育等領(lǐng)域的信息化建設(shè),這成為當前眾多IT企業(yè)關(guān)注的熱點之一。針對多個行業(yè)出現(xiàn)TB-PB級海量數(shù)據(jù)的分析難題,如何創(chuàng)造一個容器對海量的數(shù)據(jù)進行存儲,處理,分析,最終得出直觀的結(jié)果,并且通過機器學習技術(shù)對數(shù)據(jù)進行一定程度的挖掘分析,產(chǎn)生商業(yè)價值成為了工業(yè)界發(fā)展的當務(wù)之急。目前業(yè)界開始出現(xiàn)少量技術(shù)使用門檻低、應用開發(fā)方便的機器學習平臺(MLP)或者數(shù)據(jù)科學平臺(DSP),但這些平臺大部分還局限在特定行業(yè)的有限算法應用,需要不斷進行架構(gòu)優(yōu)化、模型擴展和算法增強,融合多種場景下的應用遷移工具,才能形成較為成熟的產(chǎn)品化平臺。星環(huán)科技公司作為國內(nèi)大數(shù)據(jù)和人工智能平臺的領(lǐng)航者,自2013年成立以來,致力于打造一個完整的產(chǎn)業(yè)生態(tài)體系,開發(fā)出同時具有大數(shù)據(jù)分析服務(wù)和機器學習訓練平臺,是目前國內(nèi)大數(shù)據(jù)領(lǐng)域最早掌握核心技術(shù)的企業(yè)。其下應用服務(wù)星環(huán)科技人工智能平臺Sophon是一款集成代碼和頁面的創(chuàng)新性機器學習技術(shù)平臺,數(shù)據(jù)開發(fā)者可以基于該平臺快速完成從數(shù)據(jù)開發(fā)、預處理、搭建機器學習算子進行模型訓練到模型上線的機器學習全工作流開發(fā)工作。綜上所述,隨著使用機器學習平臺的用戶越來越多,應用場景日益廣泛,該大數(shù)據(jù)平臺的使用者以及使用場景越來越多樣化,用戶所分析數(shù)據(jù)集的要求越來越多,所要求的算法越來越復雜,同時平臺的分布式架構(gòu)和性能等要求越來越高,由此該研究運營而生,通過星環(huán)大數(shù)據(jù)平臺實驗研究玩家付費方向的大數(shù)據(jù)機器學習,根據(jù)監(jiān)督學習、回歸模型等特點進行調(diào)參優(yōu)化、性能優(yōu)化、架構(gòu)優(yōu)化、基于基礎(chǔ)模型不斷擴展優(yōu)化。研究現(xiàn)狀目前大數(shù)據(jù)開源技術(shù)一般都是先搭建一個大數(shù)據(jù)平臺對海量數(shù)據(jù)進行存儲,需要數(shù)據(jù)開發(fā)者先學習Hadoop集群搭建的原理,在Hadoop上存儲數(shù)據(jù),使用Spark應用服務(wù)分析數(shù)據(jù),運用Hadoop上的HDFS存儲TB到PB量級海量數(shù)據(jù)的調(diào)度原理。然后,通過Hadoop支持的Spark分布式計算框架,統(tǒng)計和分析HDFS上的海量數(shù)據(jù),通過Hadoop上的Hive提供SQL接口,把SQL翻譯成SparkonSQL,最終提交運行。在Hadoop2.0優(yōu)化后,原來的集群調(diào)用機制采取了一定程度的優(yōu)化,原Hive后臺使用MapReduce作為執(zhí)行引擎,處理速度過慢,采取SQLOnHadoop的框架,使用SparkSQL。同時,對于HDFS中的NameNode高可用提供了實現(xiàn)優(yōu)化方法。方法一,在集群中部署兩臺NameNode作為熱備節(jié)點,分別為ActiveNameNode和StandbyNameNode,防止其中一臺機器宕機導致整個集群崩潰。方法二,若集群中一臺NameNode宕機,改善另一臺備選節(jié)點接管集群策略,通過ZooKeeper集群輔助監(jiān)控NameNode狀態(tài),以及輔助選取ActiveNameNode。同時采用QJM(QuorunJournalManager)共享存儲系統(tǒng)集群優(yōu)化edits文件讀取過程首先快速恢復元數(shù)據(jù)信息,同步edits,fsimage的文件。當大數(shù)據(jù)服務(wù)集群基礎(chǔ)應用服務(wù)搭建完后,需要通過客戶端(client)的linux命令主要通過HDFSPUT命令把需要分析的數(shù)據(jù)源的數(shù)據(jù)存儲到Hadoop集群block塊上,調(diào)用HDFSAPI數(shù)據(jù)接口。數(shù)據(jù)集文件在HDFS中的block塊存儲備份以及后期尋址調(diào)用時的原理流程如圖。圖STYLEREF1\s1-SEQ圖\*ARABIC\s11block塊尋址分配上面敘述的僅僅只是整個大數(shù)據(jù)平臺最基礎(chǔ)的數(shù)據(jù)存儲和調(diào)用過程,對大數(shù)據(jù)的采集,存儲管理,資源分配管理,通用計算,數(shù)據(jù)分析,數(shù)據(jù)展現(xiàn)等流程的實現(xiàn)需要集群中不同的應用服務(wù)同時提供支持。下圖為當前開發(fā)大數(shù)據(jù)平臺主要支持的計算框架集合,紅色字體為星環(huán)大數(shù)據(jù)平臺主要集成的集群服務(wù)。圖STYLEREF1\s1-SEQ圖\*ARABIC\s12技術(shù)框架圖譜研究內(nèi)容本課題的研究內(nèi)容是基于星環(huán)大數(shù)據(jù)平臺的主集群服務(wù)應用,優(yōu)化大數(shù)據(jù)機器學習,并且通過集群監(jiān)控大數(shù)據(jù)的應用服務(wù)狀態(tài)、數(shù)據(jù)集從HDFS到transwarpsophon的上傳和存儲,搭建機器學習工作流。具體功能包括:數(shù)據(jù)集上傳集群;數(shù)據(jù)預處理工程:處理不完整數(shù)據(jù)、錯誤數(shù)據(jù)、重復數(shù)據(jù);數(shù)值轉(zhuǎn)換:空值處理,統(tǒng)一字段類型,過濾不相關(guān)數(shù)據(jù);回歸算法進行機器學習訓練;算子參數(shù)調(diào)參調(diào)優(yōu);模型的可移植性和性能分析;

星環(huán)大數(shù)據(jù)平臺大數(shù)據(jù)平臺特點及優(yōu)勢基于TranswarpSophon平臺的基礎(chǔ)上,數(shù)據(jù)開發(fā)者可以快速完成整個機器學習工作流的數(shù)據(jù)加工處理、并在實驗界面中清晰展示整個工作流算子的搭建過程。除此之外,Sophon平臺內(nèi)嵌的分析工具涵蓋多個領(lǐng)域,運用數(shù)據(jù)集建立知識圖譜,利用數(shù)據(jù)建立實體之間的關(guān)系等,將Sophon平臺打造成一款集數(shù)據(jù)特征工程處理、機器學習算子訓練、以及數(shù)據(jù)分析為一體的人工智能基礎(chǔ)平臺。基于該平臺的機器學習優(yōu)化,能夠快速完成從數(shù)據(jù)處理到機器學習工作流算子搭建、調(diào)參再到機器學習在線訓練模型的整個工作流程。同時,擁有大量面向行業(yè)領(lǐng)域的數(shù)據(jù)分析分析算子,從回歸,分類,聚類,圖計算到自動機器學習等功能均有底層支持,實現(xiàn)細分產(chǎn)品技術(shù)開發(fā)。大數(shù)據(jù)平臺功能組成TranswarpSophon平臺為星環(huán)旗下企業(yè)級一站式數(shù)據(jù)科學平臺,提供了靈活的數(shù)據(jù)接入,數(shù)據(jù)可視化研究,數(shù)據(jù)預處理,挖掘數(shù)值的主要特征,機器學習模型反復訓練調(diào)優(yōu),模型性能校驗,任務(wù)調(diào)度以及不同成員角色之間數(shù)據(jù)開發(fā)共享等功能,該平臺集成了spark和sparkMLlib接口,幫助數(shù)據(jù)開發(fā)者進行機器學習模型構(gòu)建,解決實際業(yè)務(wù)問題,將機器學習與數(shù)據(jù)開發(fā)融為一體的人工智能基礎(chǔ)平臺。圖STYLEREF1\s2-SEQ圖\*ARABIC\s11SophonBase平臺架構(gòu)圖SophonBase主要功能可以從四個維度進行刻畫。數(shù)據(jù)方面,支持多源數(shù)據(jù)接入,數(shù)據(jù)探索,ETL,實時預處理,數(shù)據(jù)閉環(huán),數(shù)據(jù)報表可視化等。模型方面,可通過可視化界面實現(xiàn)拖拽式建模,自動機器學習建模,工作流調(diào)度,自動數(shù)據(jù)特征提取,推薦式建模,實時計算,服務(wù)部署,模型共享等。計算方面,可實現(xiàn)分布式計算,多種計算框架支持,CPU/GPU組合等加快計算速度。業(yè)務(wù)方面,有能力提供國家政府部門,電信網(wǎng)絡(luò),商業(yè)房地產(chǎn),能源制造業(yè),交通鐵路運輸?shù)刃袠I(yè)提供業(yè)務(wù)場景支持。本次實驗數(shù)據(jù)預處理,建模,性能分析等主要通過sophon平臺實現(xiàn)。圖STYLEREF1\s2-SEQ圖\*ARABIC\s12sophon應用功能架構(gòu)圖TranswarpSophonBase實驗算子項目詳情界面是對整個項目數(shù)據(jù)的匯總,項目內(nèi)容包含實驗實現(xiàn)可視化算子拖拽建模、數(shù)據(jù)源接入、數(shù)據(jù)特征超融合處理、python自定義代碼編寫、模型多版本性能比對、運行歷史日志結(jié)果查詢、模型線上部署服務(wù)、HDFS/NFS文件系統(tǒng)管理。圖STYLEREF1\s2-SEQ圖\*ARABIC\s13星環(huán)實驗平臺通過平臺實驗畫布界面功能實現(xiàn)可視化建模,實驗的主界面分為6大功能區(qū),包括:算子選擇、流程區(qū)域、參數(shù)設(shè)置區(qū)域、幫助區(qū)域、實驗操作導航區(qū)域、項目導航區(qū)域。每個區(qū)域都有各自的功能體現(xiàn),如下圖所示。圖STYLEREF1\s2-SEQ圖\*ARABIC\s14實驗界面在左邊算子區(qū)域。SophonBase平臺將智能化建模所用的算法封裝成單個算子,包含特征提取、數(shù)據(jù)清洗、數(shù)據(jù)預處理、機器學習算法分類器、人工神經(jīng)網(wǎng)絡(luò)算子等種類。數(shù)據(jù)挖掘建模整個流程所需要的數(shù)據(jù)操作模塊都集成在此。在右邊參數(shù)設(shè)置區(qū)域。流程框左鍵點擊任一算子,參數(shù)區(qū)域就是顯示該算子所需的所有參數(shù)。為解決算子參數(shù)較多展示混亂問題,sophon將算子參數(shù)進行分類,大致分為三類:IO參數(shù)、算子參數(shù)、高級參數(shù)。參數(shù)類別說明如表。表STYLEREF1\s2-SEQ表\*ARABIC\s11三類算子說明參數(shù)解釋說明IO參數(shù)即輸入輸出參數(shù)。定義是否選取屬性子集以及預測列是否原地置換這樣功能點的參數(shù);算子參數(shù)即算子本身的參數(shù),比如隨機森林的“樹的最大高度”等參數(shù);高級參數(shù)部分算子擁有。該參數(shù)與分布式計算有關(guān),與算法本身無關(guān)。非必填參數(shù)。表STYLEREF1\s2-SEQ表\*ARABIC\s12SophonBase回歸算法算子算法名稱類別簡述應用場景特征XGBoost回歸回歸先對輸入數(shù)據(jù)進行排序,后進行多輪擬合,其中每一輪訓練的決策樹,后面每輪所建的樹均是基于前面決策樹的誤差調(diào)整,最后整合所有樹來確定最終的回歸模型用于回歸問題的預測精度高、速度快,在特征處理時對數(shù)據(jù)排序并保存為block結(jié)構(gòu)用于并行線性回歸回歸用線性回歸的最小二乘法建立一個或多個獨立變量與因變量關(guān)系的模型用于回歸base-line的預測,如經(jīng)濟預測等實現(xiàn)邏輯簡單、運算訓練速度快、節(jié)省資源開銷決策樹回歸回歸基于分支準則(最小平方誤差等)確定樹的建立,從而確定決策樹以進行回歸可以很好地擬合非線性。解釋性強,能夠處理不相關(guān)特征隨機森林回歸回歸分類器,帶有多個決策樹,由決策樹輸出均值決定最終輸出值可以實現(xiàn)并行計算。很少過擬合梯度提升樹回歸回歸每一輪訓練一顆決策樹,后面每輪所建的樹用于矯正前面決策樹的誤差,最終結(jié)合每棵樹的輸出作為輸出值廣義線性回歸回歸提供了高斯分布、二項分布、泊松分布、gamma分布的分布簇用來擬合輸入數(shù)據(jù)保存回歸回歸對給定有限實數(shù)集Y進行分段線性擬合TranswarpSophon性能分析工具表STYLEREF1\s2-SEQ表\*ARABIC\s13驗證與評估算子算子名稱描述輸入?yún)?shù)輸出性能(回歸)該性能評估算子用來檢驗回歸任務(wù),即當標簽屬性具有數(shù)字型值類型時。此算子的輸入為一個測試樣本集,這個樣本集包含一個具有l(wèi)abel角色的屬性以及一個具有預測角色的屬性。該算子會基于這兩個屬性計算并輸出包含性能標準值的性能矢量。此算子還可額外接收另一個性能矢量作為輸入,如果同時輸入測試樣本集和另一個性能矢量,它的輸出將是測試樣本集的性能和另一個性能矢量的平均結(jié)果。名稱:input數(shù)據(jù)類型:data平均絕對誤差(MAE)平均方差(MSE)R2決定系數(shù)R2(R-Square)=1-SSE/SST,其中SSE是真實值與預測值的平方差之和,而SST定義為真實值和均值的平方差之和。利用這兩個指標對傳統(tǒng)的回歸方法進行改進,結(jié)果取值范圍為[0,1],且R2越大則表明模型的擬合效果越好REF_Ref23346\r\h[3]。均方根誤差(RMSE)主要標準(maincriterion)參數(shù)可以選多個選項,選項不同表示評估的主標準不同;后面的點選參數(shù),點選對應參數(shù),則表示使用對應的標準。名稱:Performance數(shù)據(jù)類型:perf性能(分類)此性能評估算子應被用于分類任務(wù),即當標簽屬性具有(多分)字符型值類型時。此算子的輸入為一個測試樣本集,這個樣本集包含一個具有l(wèi)abel角色的屬性以及一個具有預測角色的屬性。該算子會基于這兩個屬性計算并輸出包含性能標準值的性能矢量。此算子還可額外接收另一個性能矢量作為輸入,如果同時輸入測試樣本集和另一個性能矢量,它的輸出將是測試樣本集的性能和另一個性能矢量的平均結(jié)果。名稱:input數(shù)據(jù)類型:data混淆矩陣(confusionmatrix)加權(quán)召回率(weightedrecall)加權(quán)查準率(weightedprecision)加權(quán)F-measure(weightedfmeasure)準確率(accuracy)主要標準(maincriterion)名稱:Performance數(shù)據(jù)類型:perf性能(聚類)此應用性能評估算子可用于評估聚類模型性能。該算子需要輸入一個測試樣本集,樣本集需含有一個具有預測(prediction)角色的列以及一個具有所有特征的列在運行中若出現(xiàn)報錯(Numberofclustersmustbegreaterthanone)仔細檢查后一般書由于算子傳輸?shù)膮?shù)中類簇個數(shù)只有1個或零個。導致樣本數(shù)據(jù)量過少或者引起孤立點之間相互干擾,使得所有數(shù)據(jù)樣本在運行編譯時默認成同一個類簇,造成傳入?yún)?shù)中的數(shù)據(jù)集類簇個數(shù)小于2,致使算子報錯。名稱:input數(shù)據(jù)類型:data輪廓系數(shù)(Silhouette):用于衡量聚類效果的好壞,評估一個點與其所屬的聚類相比于其他聚類的相似度。取值范圍為-1到1,值越大表明該節(jié)點更匹配當前屬類。距離衡量指標(distanceMeasure):用于評估距離的指標,現(xiàn)支持算法為計算余弦距離和歐式距離。名稱:Performance數(shù)據(jù)類型:perf交叉驗證運用該算子執(zhí)行交叉驗證流程,輸入的樣本集S將在運行過程中分割成不同大小的驗證集以及測試集名稱:trainset數(shù)據(jù)類型:dataK折交叉驗證(k_fold)分層采樣(enable_stratified_sampling)機器學習算法原理本次數(shù)據(jù)集應用案例為搭建優(yōu)化玩家付費預測相關(guān)的模型,在已給出的訓練集中明確標注了玩家現(xiàn)實付費金額,所以即可判斷這是機器學習中典型的監(jiān)督學習問題。該類問題的解決辦法也在實際業(yè)務(wù)處理中有著廣泛的運用。例如,在經(jīng)濟和金融計量學中需要常常用到一元以及多因子模型;信用風險預測中對客戶行為進行預測打分也需要運用回歸模型;許多運用場景的基礎(chǔ)底層邏輯均需要運用邏輯回歸。玩家付費數(shù)據(jù)集的數(shù)值特征為連續(xù)型數(shù)值,預測結(jié)果也需為連續(xù)型數(shù)值,根據(jù)算法中專門用于解決數(shù)據(jù)集線性不可分的問題,可以采用回歸模型進行訓練和預測。對于回歸模型,可由多個數(shù)值指標判斷模型優(yōu)劣,包括平均絕對誤差、平均方差、R2以及均方根誤差都可以作為衡量模型優(yōu)劣質(zhì)量的重要指標。星環(huán)Sophon平臺基于所有的數(shù)值判斷標準,形成了一套參數(shù)工具,并且提供了多種回歸機器學習算子,包括線性回歸模型、廣義線性回歸模型、決策樹回歸、隨機森林、XGBoost回歸等。此處主要介紹3種回歸算法以及各個回歸算法的特征優(yōu)點與局限性,最終根據(jù)星環(huán)科技官方提供的數(shù)據(jù)集分析來選取最合適的算法算子。線性回歸線性回歸為統(tǒng)計學和機器學習中最基礎(chǔ)的算法,數(shù)學表達式為y=Ax+B,通過訓練學習找出A和B之間的對應關(guān)系,再通過新的參數(shù)X最終得出Y的對應關(guān)系。在生活場景中普遍存在著變量之間的關(guān)系,例如在一組不同身高體重的冬奧會運動員中,需要預測新來的冬奧會運動員的體重,估計今年參加冬奧會運動員的身體素質(zhì),就可以通過已知運動員組的身高和體重來算出之間未知參數(shù)A和B的大致范圍,來進行預測新來運動員的體重區(qū)間。預測未來房屋銷售價格和銷售面積的關(guān)系,估測人口GDP等實際場景中均需運用該機器學習算法。在星環(huán)大數(shù)據(jù)平臺的算子中,該線性回歸算子主要的參數(shù)說明如下表。表STYLEREF1\s3-SEQ表\*ARABIC\s11線性回歸參數(shù)參數(shù)名稱類型意義solver優(yōu)化方法string是一種調(diào)整參數(shù)以接近預測結(jié)果真實值的方法,有三種選擇:"l-bfgs","normal"和"auto",默認為“auto”。fitIntercept使用截距bool是否使用截距l(xiāng)oss損失函數(shù)string度量預測結(jié)果與真實值偏差的函數(shù),有兩種選擇:"squaredError"和"huber",默認為“squaredError”epsilon鄰域距離閾值number用于控制魯棒性的參數(shù),須設(shè)置成大于1.0的數(shù),默認為1.35。standardization標準化bool是否在訓練模型前標準化輸入特征。默認為true。regParam正規(guī)化number正規(guī)化(正則化),正規(guī)化主要通過額外的數(shù)據(jù)指標判定防止模型過擬合問題。常見的有L1和L2正規(guī)化。maxIter最大迭代次數(shù)integer最大迭代次數(shù),大于0的整數(shù)。默認為100。elasticNetParamelasticnetnumber使用的是elasticNet線性模型進行邏輯回歸,為大于等于0小于等于1中的實數(shù),L1正則項的系數(shù)為regParam*elasticNetParm,L2正則項的系數(shù)為regParam*(1-elasticNetParm)。設(shè)置為0時的懲罰項為L2,設(shè)置為1時的懲罰為L1。如何設(shè)置將根據(jù)訓練的數(shù)據(jù)集特性來進一步研究的問題。缺省0tol停止誤差number如果訓練誤差低于該值,則提前跳出循環(huán),優(yōu)化停止aggregationDepthtreeAggregation方法的深度integer大于等于2的整數(shù),默認為2,當特征的維度很大時,這個參數(shù)應該設(shè)置為更大的值。weightCol權(quán)重列column權(quán)重列(可以為空)。如果未設(shè)置或者為空,將所有實例權(quán)重視為1.0。如何在機器學習的過程中評估線性回歸是否是該模型最佳的算法,可以通過求實際值和預測值之差的平方和即SUMSQUARERESIDUALLOSSFUNCTION來評估模型的好壞,得出的結(jié)果越小,模型的擬合效果越好。但是,普遍適用的線性回歸算法也有限制之處,因為算法兼容的場景比較泛化,缺乏具體性和針對性,導致預測結(jié)果產(chǎn)生的誤差往往會很大,不具備求解非線性分布的能力,如果預測的結(jié)果不是規(guī)律的分布在直線周圍,則很難預測模型的結(jié)果。決策樹回歸決策樹模型可以同時應用于分類及回歸問題。根據(jù)決策樹的樹型結(jié)構(gòu)可以理解其算法起始點位于根節(jié)點,根據(jù)數(shù)據(jù)樣本集進行二節(jié)點分裂,一層層分裂后的節(jié)點能更加精準的在葉子節(jié)點預測目標數(shù)值。在此實驗中,運用決策樹來計算預測連續(xù)值即玩家付費的數(shù)據(jù),則稱為回歸決策樹。運用算子實驗時最重要的一步是如何選擇合適的參數(shù)選擇分割點,如何利用分割點進行分割,以及如何選擇損失函數(shù)。一般情況下,回歸樹會在每個節(jié)點處最小化一個因變量作為連續(xù)類型的損失函數(shù),從而決定數(shù)據(jù)的切分點,默認特征值大于切分點值的數(shù)據(jù)分在右邊節(jié)點,小于切分點值的數(shù)據(jù)分在左邊節(jié)點。此運算機制與隨機森林回歸的模型有相同之處。Sophon集成的回歸決策樹算法主要由底層spark分布式算法實現(xiàn),該算法首先對特征進行抽樣,計算大致的分位點數(shù)值,根據(jù)這些分位點進行分桶,處理連續(xù)型數(shù)值變量需先進行分桶操作,然后對每個分桶進行回歸操作。在實驗中運用此算子可以采用系統(tǒng)默認參數(shù)或者自行調(diào)參。表STYLEREF1\s3-SEQ表\*ARABIC\s12決策樹回歸算子參數(shù)參數(shù)名稱類型意義enableVectorIndexer使用VectorIndexerbool若測試集包含訓練集中未包含的數(shù)據(jù),vectorindexer將會失效,可使用此變量禁用vectorindexermaxCategories最大類別數(shù)integer最大類別數(shù)handelInvalid異常特征值處理string在模型fit過程中,對于異常分類值(訓練集中不包含此分類值)的處理方式,"error"或"skip"。maxDepth樹的最大深度integer大于等于0的整數(shù)。0表示樹只有一個葉子節(jié)點,1表示有一個父節(jié)點和兩個葉子節(jié)點。maxBins最大分桶數(shù)integer大于等于2且大于等于分類特征最大類別數(shù)量的整數(shù)minInstancesPerNode最小分割大小integer不小于0的整數(shù),如果屬性包含的樣本的大小不小于該值,那么該屬性就要做為一個節(jié)點minInfoGain最小增益number限定最小增益,不小于0的實數(shù),如果屬性的增益不小于該值,那么它就要成為一個需要分割的節(jié)點maxMemoryInMB最大內(nèi)存(MB)integer最大內(nèi)存(MB)checkPointInterval檢查點間隔integer檢查點間隔seed種子integer隨機種子的參數(shù)cacheNodeIds是否緩存節(jié)點IDbool是否緩存節(jié)點IDuseYgg是否啟用高性能模式bool選擇原生算法或高性能改進算法,高性能算法使用按列劃分數(shù)據(jù),原有算法對于大特征維度和訓練深度較大的時候會造成巨大的通信開銷造成性能瓶頸,按列分區(qū)數(shù)據(jù)的高性能訓練算法,可以將這種計算節(jié)點間通信最小化迅速訓練出非常深的樹模型.在訓練模型設(shè)置參數(shù)時需注意,在底層每個worker會使用設(shè)置的最大內(nèi)存數(shù)據(jù)進行統(tǒng)計,如果內(nèi)存參數(shù)設(shè)置比較大,可以減少數(shù)據(jù)抽樣次數(shù),這可能加快運算速度;但是,設(shè)置的內(nèi)存過大會造成worker之間的通訊壓力,導致速度變慢。此問題可以通過在高級參數(shù)設(shè)置時勾選useYgg,實現(xiàn)按列分區(qū)數(shù)據(jù),優(yōu)化計算節(jié)點之間的通信速度。隨機森林回歸Randomforest即引導聚合類算法BootstrapAggregation,典型的以弱博強集成算法(ensemblelearning),屬于弱監(jiān)督模型,一般使用決策樹進行決策,在sophon算子中已有默認機器算法的超參數(shù),一般為20個決策樹(NumofLearners),每棵樹默認為5層深度(MaxDepth)。對于數(shù)據(jù)集中的樣本則用隨機采樣整合成不同維度的數(shù)據(jù)集,取多個不同的樣本數(shù)量和特征數(shù)量進行每棵樹的模型訓練,最終一般使用均值將每棵樹的結(jié)果整合。比如,在玩家付費預測的數(shù)值特征有108項,除去不相關(guān)字段以及相關(guān)性不明顯的字段后,還剩有78項數(shù)值特征要分析。再從78項數(shù)值特征的數(shù)據(jù)集中隨機選取n個樣本,x個數(shù)值特征feature,從而保證每個決策樹看問題的角度都不一樣,然后根據(jù)每次采樣,訓練一個決策樹。在sophon平臺中對于隨機森林回歸算子的定義是一個組合(ensemblemodel)模型。在隨機森林中,對于基決策樹的每個節(jié)點,從總的母集中隨機選擇小于母集所有屬性的特征子集,接著從子集subset中選擇一個最優(yōu)屬性來劃分樹的左、右葉子節(jié)點。本算子支持連續(xù)型label,也支持連續(xù)特征和類別特征。表STYLEREF1\s3-SEQ表\*ARABIC\s13隨機森林算子參數(shù)參數(shù)名稱類型意義enableVectorIndexer使用VectorIndexerbool若測試集包含訓練集中未包含的數(shù)據(jù),vectorindexer將會失效,可使用此變量禁用vectorindexermaxCategories最大類別數(shù)integer最大類別數(shù)handelInvalid異常特征值處理string在模型fit過程中,對于異常分類值(訓練集中不包含此分類值)的處理方式,"error"或"skip"。maxDepth樹的最大深度integer大于等于0的整數(shù)。0表示樹只有一個葉子節(jié)點,1表示有一個父節(jié)點和兩個葉子節(jié)點。maxBins最大分桶數(shù)integer大于等于2且大于等于分類特征最大類別數(shù)量的整數(shù),隨機森林算子最大分桶數(shù)默認為32minInstancesPerNode最小分割大小integer不小于0的整數(shù),如果屬性包含的樣本的大小不小于該值,那么該屬性就要做為一個節(jié)點minInfoGain最小增益number限定最小增益,不小于0的實數(shù),如果屬性的增益不小于該值,那么它就要成為一個需要切分的對象maxMemoryInMB最大內(nèi)存(MB)integer所支持占用的開銷checkPointInterval檢查點間隔integer每個檢查項之間的樹seed種子integer隨機種子的參數(shù)cacheNodeIds是否緩存節(jié)點IDbool是否緩存節(jié)點ID該算子的優(yōu)勢是模型最后的整合會包含從不同方向看問題的結(jié)果,隨機性很強,不易過擬合,對于臟數(shù)據(jù)的抗噪性強,對異常點outlier不敏感?;谕婕腋顿M預測的數(shù)據(jù)維度,采用隨機森林回歸算法能夠更加快速處理高維數(shù)據(jù)。通過模型的樹狀結(jié)構(gòu)能夠更加直觀清晰的看出數(shù)值特征的feature重要性,具有更高的可解釋性。該算子也存在一定的局限性,訓練出來的模型預測值過于普遍,缺乏了正確處理過于困難的樣本的能力,進而導致模型的表現(xiàn)往往會受限制。該問題可以通過集成學習中的另一種算法boosting來解決。實驗步驟與結(jié)果準備實驗環(huán)境Sophon安裝硬件要求物理機:≥4臺(標準模式)需進行sophon、workflow、inceptorexector、hdfsNameNode等組件隔離,且保證運行穩(wěn)定,盡量不在虛擬機上進行安裝,本次安裝通過校實驗室機房提供的設(shè)備完成。適用人數(shù):3-4人單臺服務(wù)器配置要求如下:表STYLEREF1\s4-SEQ表\*ARABIC\s11單臺服務(wù)配置配置級別CPU服務(wù)器內(nèi)存系統(tǒng)盤數(shù)據(jù)存放盤GPU(非必須)最低配置2路8核以上超線程x86指令集≥64G2個(≥300G)硬盤2個(≥600G)硬盤1*NVIDIATeslaP4中級配置2路12核以上超線程x86指令集≥128G2個(≥600G)硬盤4個(≥1T)硬盤1-3*NVIDIATeslaP4標準配置(生產(chǎn)環(huán)境)2路16核以上超線程x86指令集≥256G2個(≥600G)硬盤6個(≥2T)硬盤1-3*NVIDIATeslaV100表STYLEREF1\s4-SEQ表\*ARABIC\s12全部資源分配規(guī)則配置級別yarn資源占用(TDH上設(shè)置修改)sophon啟動默認資源占用用戶自由分配啟動session總資源最低配置cpu、內(nèi)存占用1/2CPU:12核內(nèi)存:54G除去前兩者剩余的資源中級配置cpu、內(nèi)存占用3/4CPU:12核內(nèi)存:54G除去前兩者剩余的資源高級配置(生產(chǎn)環(huán)境)cpu、內(nèi)存占用3/4CPU:12核內(nèi)存:54G除去前兩者剩余的資源表STYLEREF1\s4-SEQ表\*ARABIC\s13磁盤資源分配規(guī)則配置級別系統(tǒng)盤數(shù)據(jù)存放盤其他情況最低配置/var/lib/docker≥100G/var/log≥100GTxsql≥200GHdfsdataNode包含inceptor且存大數(shù)據(jù)整個空磁盤≥1T中級配置/var/lib/docker≥300G/var/log≥100GTxsql≥200GHdfsdataNode包含inceptor且存大數(shù)據(jù)整個空磁盤≥1T高級配置(生產(chǎn)環(huán)境)/var/lib/docker≥600G/var/log≥100GTxsql≥200GHdfsdataNode包含inceptor且存大數(shù)據(jù)整個空磁盤≥1T由于該實驗場景在學校實驗室,項目很可能會增加使用人數(shù),此時資源調(diào)整方法如下表。表STYLEREF1\s4-SEQ表\*ARABIC\s14方案策略序號詳情方案1保持單臺服務(wù)器(物理機)配置不變,增加服務(wù)器數(shù)量方案2保持服務(wù)器數(shù)量不變,對單臺服務(wù)器進行相應擴容Sophon分區(qū)要求1、需要swap和加載于”/”的系統(tǒng)分區(qū);2、推薦分區(qū)250G以上,并掛載到”/”;3、為TxSql預留200G以上的空間,并設(shè)置到數(shù)據(jù)盤的目錄;4、每個節(jié)點專門的空的數(shù)據(jù)盤,用作hdfsdataNode;5、給docker分配150G以上的分區(qū)或磁盤,即/var/lib/docker至少需要150G,建議多分一點;6、日志空間,/var/log,100G以上;7、依賴組件的資源占用情況.Sophon安裝的節(jié)點需要避開HDFSNameNode,HDFSStandbyNameNode,Inceptorexector,workflow的節(jié)點;運行軟件環(huán)境要求Sophon可以直接通過Web頁面直接管理集群平臺應用服務(wù),管理平臺支持一下瀏覽器如下表。表STYLEREF1\s4-SEQ表\*ARABIC\s15瀏覽器類型瀏覽器版本GoogleChrome(推薦)62.0及以上Firefox59.0及以上操作系統(tǒng)安裝在安裝TranswarpSophon之前,集群中的所有節(jié)點必須滿足安裝準備和安裝前的星環(huán)科技所提供的檢查列表中所列舉的所有要求。安裝前的檢查:系統(tǒng)磁盤分區(qū),所需的內(nèi)存容量要求,網(wǎng)絡(luò)設(shè)置,安全設(shè)置,集群和網(wǎng)絡(luò)拓撲要求,NTP服務(wù)設(shè)置,系統(tǒng)的推薦設(shè)置(安裝方法同時也需參考TranswarpManager)可以使用兩種方式來安裝集群中的服務(wù)器的操作系統(tǒng),單獨安裝方式和PXE安裝方式。TranswarpManager安裝安裝Sophon需要首先安裝TranswarpManager,目前版本sophon支持安裝在TDH5.2系列和TDH6.0系列上。TranswarpManager的具體安裝步驟需額外參考Manager的安裝手冊。安裝完成后即可登錄TranswarpManager界面進行Sophon服務(wù)的安裝。圖STYLEREF1\s4-SEQ圖\*ARABIC\s11集群應用服務(wù)表STYLEREF1\s4-SEQ表\*ARABIC\s16星環(huán)科技transwarpsophon平臺使用服務(wù)版本說明2022年版前端版本2.5.1-alpha.006.0702.3503290后端微服務(wù)版本notebook2.5.0-SNAPSHOT.0703.4f8acbanotification0.2.0-SNAPSHOT.0630.8e925bdretrieve2.5.0-SNAPSHOT.0628.f943edfgateway2.5.0-SNAPSHOT.0630.ec8052abase2.5.0-SNAPSHOT.0701.07ae8c1approval2.5.0-SNAPSHOT.0630.6be3d2cresource2.5.0-SNAPSHOT.0630.be2c7b1jobmanager2.5.0-SNAPSHOT.0630.841a150audit0.2.0-SNAPSHOT.0630.490b954api-manager2.5.0-SNAPSHOT.0703.7941c98kg3.4.0-SNAPSHOT.0630.33c6878user0.2.0-SNAPSHOT.0630.007a8f4share-server0.4.0-SNAPSHOT.0630.401f2c7研究方法本次基于星環(huán)大數(shù)據(jù)平臺進行機器學習優(yōu)化,因為提交論文時間緊迫,疫情原因無法有充裕的時間在學校實驗室進行詳細的研究設(shè)計和代碼分析,則暫時先通過平臺申請試用環(huán)境進行BI數(shù)據(jù)探索和機器學習算法模型訓練,Sophon內(nèi)置多種圖表分析,例如直方圖,條形圖,點圖,箱線圖,餅圖,雷達圖等。圖表能夠非常直觀的找出數(shù)據(jù)特征之間的關(guān)系,提供二維,三維甚至是多維之間的圖表關(guān)系。平臺提供的數(shù)據(jù)分析和預處理功能模塊相較于普通的數(shù)據(jù)分析工具R等有較快上手,處理速度快等優(yōu)點;通過數(shù)值可視化統(tǒng)計分析,直觀看出變量之間的相關(guān)性,然后過濾出有效的自變量,將原有的數(shù)據(jù)類型轉(zhuǎn)化為機器學習算法的輸入值,并為模型和任務(wù)制定最佳特征。數(shù)值屬性的開發(fā)是機器學習工作流程中關(guān)鍵的步驟,因為適當?shù)奶卣骺梢越档徒5膹碗s度,并使機器學習訓練得出的模型產(chǎn)出更優(yōu)質(zhì)的預測結(jié)果,為玩家付費預測行為領(lǐng)域的機器學習優(yōu)化的探索奠定基礎(chǔ)。首先,在平臺創(chuàng)建單獨的玩家付費預測項目,之后若項目其他成員加入可直接共享實驗數(shù)據(jù)和模型訓練進度,和機器學習模型新的迭代版本。創(chuàng)建好項目后,進入項目詳情頁。下一步,數(shù)據(jù)導入。將項目案例所提供的原始數(shù)據(jù)準備好導入至sophon平臺。點擊導航欄中【數(shù)據(jù)集】進入數(shù)據(jù)集模塊。大數(shù)據(jù)集直接本地導入一般會出現(xiàn)耗時過長的問題,一般可以通過TDH-client環(huán)境寫入到HDFS再進行數(shù)據(jù)集上傳。此次因為疫情限制原因無法應用實驗室的機房環(huán)境進行數(shù)據(jù)集操作,故直接采取本地端上傳數(shù)據(jù)的訓練集和驗證集,耗時1分鐘。平臺提供多種形式的數(shù)據(jù)集寫入操作,可以根據(jù)數(shù)據(jù)集大小及其是否為離線數(shù)據(jù)集使用多種數(shù)據(jù)集創(chuàng)建方式。圖STYLEREF1\s4-SEQ圖\*ARABIC\s12數(shù)據(jù)集上傳點擊之后即可看到數(shù)據(jù)集列表頁面,圖為當前已創(chuàng)建的數(shù)據(jù)集文件圖STYLEREF1\s4-SEQ圖\*ARABIC\s13數(shù)據(jù)倉庫列表具體數(shù)據(jù)集介紹詳見4.5節(jié)數(shù)據(jù)來源,進行數(shù)據(jù)分析和特征工程。訓練集統(tǒng)計約有200W多條數(shù)據(jù)。圖STYLEREF1\s4-SEQ圖\*ARABIC\s14訓練數(shù)據(jù)集圖STYLEREF1\s4-SEQ圖\*ARABIC\s15測試數(shù)據(jù)集 數(shù)據(jù)預處理訓練集有200W條數(shù)據(jù),測試集有80W條數(shù)據(jù),初步分析數(shù)據(jù)缺失值率為0%,即不存在缺失值。圖STYLEREF1\s4-SEQ圖\*ARABIC\s16數(shù)據(jù)分布詳情除去user_id,register_time,pay_price,pay_count從其余104條特征找與pay_price數(shù)據(jù)條數(shù)的相關(guān)性。采用的方法即利用箱線圖和散點圖在數(shù)據(jù)自變量之間找與pay_price因變量的關(guān)系,觀察圖形變化趨勢和特殊截斷點。在實際建模中,分箱一般都是針對連續(xù)型數(shù)據(jù)(如價格、銷量、年齡)進行的。在本次玩家付費預測的建模中,經(jīng)過分箱后的數(shù)據(jù),有利于分析數(shù)據(jù)可取值的范圍,同時數(shù)據(jù)的可取值會更加確定與穩(wěn)定,之前取值范圍不定的數(shù)據(jù)經(jīng)過分箱后,變成了取值固定的數(shù)據(jù)。數(shù)據(jù)中信息會變得模糊,這樣特征的精準度降低,模型的泛化能力增強,抗噪性增強。分箱后的數(shù)據(jù)增強了魯棒性,避免模型訓練時過擬合,加快模型訓練速度,能夠有效包容數(shù)據(jù)中的異常值,對使用數(shù)據(jù)集規(guī)模大、模型運行效率或響應速度有要求的以及需要部署上線的模型比較合適。前期數(shù)據(jù)預處理采用箱線圖進行數(shù)據(jù)分區(qū)域和趨勢分析,數(shù)據(jù)按固定計數(shù)單位上漲的數(shù)值用箱線圖,樣本中數(shù)值型數(shù)據(jù)無固定上漲數(shù)值單位,故先考慮進行分箱操作。由圖可以直觀看到,treatment_acceleraion_add_value以及其他數(shù)據(jù)特征均無呈現(xiàn)明顯的相關(guān)性,在不規(guī)則變化數(shù)值類型中,本次實驗數(shù)據(jù)多偏為0,很難明顯看到數(shù)據(jù)的變化趨勢。圖STYLEREF1\s4-SEQ圖\*ARABIC\s17箱線圖分析中期重新分析數(shù)值的樣本數(shù)量以及特性,改用散點圖兼顧均勻分箱的方法,每個箱中的數(shù)值視情況進行調(diào)參,參數(shù)范圍取300-500。數(shù)值有明顯的趨勢范圍,主要呈現(xiàn)負相關(guān)和正相關(guān)性,以及部分數(shù)值特征表現(xiàn)出無相關(guān)特性,便于之后機器學習流程中將其數(shù)值特征過濾。圖STYLEREF1\s4-SEQ圖\*ARABIC\s18負相關(guān)性縮小區(qū)域數(shù)值范圍視圖,能夠更加直觀看到變量點與點之間的對應關(guān)系。圖STYLEREF1\s4-SEQ圖\*ARABIC\s19縮小范圍散點圖圖STYLEREF1\s4-SEQ圖\*ARABIC\s110負相關(guān)性參數(shù)同時也有呈正相關(guān)性的參數(shù)圖。圖STYLEREF1\s4-SEQ圖\*ARABIC\s111呈線性上升圖STYLEREF1\s4-SEQ圖\*ARABIC\s112前期正相關(guān)明顯圖STYLEREF1\s4-SEQ圖\*ARABIC\s113呈線性增長圖STYLEREF1\s4-SEQ圖\*ARABIC\s114散點分布呈正相關(guān)部分數(shù)值特征呈現(xiàn)復雜的變化趨勢,在初期機器學習訓練時,需先將其過濾圖STYLEREF1\s4-SEQ圖\*ARABIC\s115圖STYLEREF1\s4-SEQ圖\*ARABIC\s116圖STYLEREF1\s4-SEQ圖\*ARABIC\s117訓練模型搭建機器學習工作流前期先從數(shù)據(jù)預處理算子搭建。從數(shù)據(jù)池中導入原始數(shù)據(jù)集,使用過濾運算符刪除掉不完整數(shù)據(jù)、不正確的數(shù)據(jù)和重復的數(shù)據(jù)參數(shù),節(jié)省磁盤運行內(nèi)存,縮減計算時間;下一步,選擇屬性算子可以選取部分數(shù)據(jù)子集,數(shù)據(jù)子集的選取范圍由前期數(shù)據(jù)圖像化后分析選取108項中成正相關(guān)和負相關(guān)特性的參數(shù),同時也過濾掉無意義的參數(shù);最終選取設(shè)置角色算子,將需要機器學習的預測結(jié)果pay_price打上標簽。圖STYLEREF1\s4-SEQ圖\*ARABIC\s118預處理算子流程選中過濾算子,參數(shù)設(shè)置如下。參數(shù)名取值過濾條件customFilters自定義過濾表達式用戶可自定義表達式對樣本數(shù)據(jù)進行過濾,表達式通過sql語句表達,本實驗設(shè)置為“pay_price<260”選中選擇屬性算子,參數(shù)設(shè)置如下。參數(shù)名取值篩選類型Subset額外列選擇除“user_id,register_time,infantry_reduce_value,cavalry_reduce_value,shaman_reduce_value,wound_infantry_add_value,wound_cavalry_add_value,wound_shaman_add_value,treatment_acceleraion_add_value,training_acceleration_add_value,treatment_acceleration_reduce_value,sr_infantry_tier_3_level,sr_cavalry_tier_3_level,sr_shaman_tier_3_level,sr_troop_defense_level,sr_infantry_def_level,sr_cavalry_def_level,sr_shaman_def_level,sr_infantry_hp_level,sr_cavalry_hp_level,sr_shaman_hp_level,sr_infantry_tier_4_level,sr_cavalry_tier_4_level,sr_shaman_tier_4_level,sr_troop_attack_level,sr_rss_b_gather_level,sr_outpost_tier_4_level,sr_guest_troop_capacity_level,sr_march_size_level,sr_rss_help_bonus_level,avg_online_minutes”以外的字段。上述字段經(jīng)分析后為與因變量不相關(guān)字段,特以去除,加速模型訓練效率。反向選擇勾選選中設(shè)置角色算子,參數(shù)設(shè)置如下。參數(shù)名取值列名Pay_price目標角色Label至此,數(shù)據(jù)預處理環(huán)節(jié)的設(shè)計和調(diào)參完成。機器學習訓練算子搭建圖STYLEREF1\s4-SEQ圖\*ARABIC\s119機器學習流程算子搭建完成后,選中算子設(shè)置參數(shù)。選中樣本切分算子,設(shè)置切分比例為9:1(訓練集:測試集)因為后續(xù)還有測試集可供驗證,可以設(shè)置訓練的數(shù)據(jù)量盡量大;選中隨機森林回歸算子,參數(shù)設(shè)置如下。參數(shù)名取值一鍵開啟超參優(yōu)化開啟開啟后將啟動該算子的AutoML自動調(diào)參(黑箱超參優(yōu)化)。調(diào)參系統(tǒng)會建議一組或多組參數(shù),并交給機器學習模型訓練得到反饋結(jié)果,然后根據(jù)反饋結(jié)果產(chǎn)生下一組建議的參數(shù)。迭代次數(shù)(超參優(yōu)化)20超參優(yōu)化算法Bayes樹的最大深度(勾選超參優(yōu)化)數(shù)值區(qū)間[5,17],在此區(qū)間內(nèi)隨著數(shù)值越大,訓練的模型擬合效果越好選擇范圍1,13采樣類型UNIFORM最大分桶數(shù)32最小葉子樣本數(shù)1最小分割增益(勾選超參優(yōu)化)0.0選擇范圍0.1,0.9子集抽樣比率1.0特征子集策略Auto樹的棵樹(勾選超參優(yōu)化)10選擇范圍10,40不純度Variance交叉驗證(超參優(yōu)化)10初始隨機輪數(shù)(bayes)10獲取函數(shù)(bayes)Ucb實驗VectorIndexer不勾選最大內(nèi)存(MB)256隨機數(shù)種子可自定義選擇性能(回歸)算子,進行參數(shù)設(shè)置參數(shù)名取值平均絕對誤差不勾選平均方差不勾選R2勾選均方根誤差勾選主要標準均方根誤差至此,主流程算子搭建完成,點擊運行開始訓練。圖STYLEREF1\s4-SEQ圖\*ARABIC\s120大數(shù)據(jù)機器學習工作流第一輪結(jié)果,勾選均方根誤差RMSE(rootmeansquarederror)和R2_score兩個標準來判斷模型的好壞。R2_score表示模型擬合數(shù)據(jù)集的好壞,越接近1表示擬合效果越好。R2_score=0.77表示模型解釋了77%的不確定性,模型效果良好。均方根誤差RMSE(rootmeansquarederror)表示模型的偏離程度,越接近0越好。此處2的含義就是說68%的玩家付費價格和真實付費之間的差值在2(元)之間,95%預測付費價格和真實付費之間的差值在4(元)之間。圖STYLEREF1\s4-SEQ圖\*ARABIC\s121性能參數(shù)圖STYLEREF1\s4-SEQ圖\*ARABIC\s122性能參數(shù)第二次模型參數(shù)優(yōu)化,將最大分桶數(shù)的默認參數(shù)32,改為500,優(yōu)化模型過擬合的現(xiàn)象。參數(shù)優(yōu)化后的模型性能指標r2_score值為86%,RMSE為12.4,MAE為4.0。圖STYLEREF1\s4-SEQ圖\*ARABIC\s123隨機森林性能參數(shù)圖STYLEREF1\s4-SEQ圖\*ARABIC\s124隨機森林計算過程在隨機森林回歸模型結(jié)果中,總共計算出29種樹型結(jié)果。在模型詳情中也可以看到有8項參數(shù)值對該模型的非常重要的相關(guān)性,如圖圖STYLEREF1\s4-SEQ圖\*ARABIC\s125參數(shù)重要性表格中前8項指標的重要性比較高,分別是pay_count(付費次數(shù)),bd_barrack_level(建筑:兵營等級),bd_dolmen_level(建筑:智慧神廟等級),bd_stronghold_level(建筑:要塞等級),bd_healing_spring_level(建筑:治療之泉等級),sr_outpost_tier_3_level(科研:據(jù)點三),bd_outpost_portal_level(建筑:據(jù)點傳送門等級),ivory_reduce_value(象牙消耗數(shù)量)由此分析可以得出這幾個參數(shù)會對玩家是否在游戲中付費的產(chǎn)生較大的影響,未來在游戲策劃運營過程中可以首先根據(jù)這幾個因素判斷未來游戲公司收入是否處于一個合理范圍。圖STYLEREF1\s4-SEQ圖\*ARABIC\s126后臺運行日志為了進一步找出最合適的機器學習算法,提升整個模型的精確度,在原有的實驗基礎(chǔ)上加入線性回歸算子和決策樹回歸算子,進行實驗結(jié)果比對和有關(guān)spark層高級參數(shù)的調(diào)優(yōu)。首先是隨機森林回歸算子和決策樹回歸算子的模型性能比對,兩個算法的底層思路均為回歸樹模型?;谇懊骐S機森林回歸調(diào)參得出適用該實驗需求的最大分桶數(shù)為500,樹的最大深度為10,啟用運算高性能模式,得出實驗對比結(jié)果。圖STYLEREF1\s4-SEQ圖\*ARABIC\s127隨機森林和回歸決策樹算子表STYLEREF1\s4-SEQ表\*ARABIC\s17決策樹回歸參數(shù)設(shè)置參數(shù)名取值樹的最大深度5從主節(jié)點到葉子節(jié)點總共有5層最大分桶數(shù)500參數(shù)默認值為32,增加到500的分桶數(shù)能夠降低模型過擬合的風險最小分割大小1每個數(shù)值特征屬性作為一個分割值最小增益0.0種子5最大類別數(shù)20異常特征值處理Skip最大內(nèi)存256MB檢查點間隔10是否緩存節(jié)點ID勾選是否啟用高性能模式勾選使用VectorIndexter勾選下圖為回歸決策樹模型的概述和結(jié)果,可以清晰直觀的看到?jīng)Q策樹如何根據(jù)玩家付費金額樣本進行節(jié)點分裂,樹的深度,每個父子節(jié)點之間的聯(lián)系和葉子節(jié)點停止分割的最小增益。圖STYLEREF1\s4-SEQ圖\*ARABIC\s128決策樹模型計算結(jié)果在108項參數(shù)中,主要影響決策樹回歸模型計算的參數(shù)只有4項。圖STYLEREF1\s4-SEQ圖\*ARABIC\s129決策樹回歸參數(shù)重要性圖STYLEREF1\s4-SEQ圖\*ARABIC\s130隨機森林性能結(jié)果圖STYLEREF1\s4-SEQ圖\*ARABIC\s131決策樹回歸性能結(jié)果從以上得出的性能結(jié)果數(shù)值可以看出,在隨機森林算子中模型的擬合程度R2可以達到86%,決策樹回歸算子的模型擬合程度R2在79%;模型的偏離程度RMSE在隨機森林算子中的誤差也越小?;谠摂?shù)值初步得出結(jié)論:隨機森林算子的機器學習模型效果更好。接下來選擇隨機森林算子與線性回歸算子進行實驗比對,最終找出最佳的機器學習模型。圖STYLEREF1\s4-SEQ圖\*ARABIC\s132隨機森林和線性回歸算子隨機森林回歸算子樹的最大深度在5-15區(qū)間模型R2數(shù)值越趨近與1,模型擬合度越好,但是運算開銷變大。依次對其中參數(shù)樹的個數(shù)從20-30,種子參數(shù)從5-15調(diào)整找出更好擬合的機器模型。圖STYLEREF1\s4-SEQ圖\*ARABIC\s133隨機森林分支圖STYLEREF1\s4-SEQ圖\*ARABIC\s134線性回歸模型結(jié)果圖STYLEREF1\s4-SEQ圖\*ARABIC\s135隨機森林模型結(jié)果經(jīng)過多次實驗調(diào)參,隨機森林的模型優(yōu)化趨近于R2為86%和線性回歸的模型優(yōu)化趨近于R2為80%的性能結(jié)果。隨機森林機器學習模型在RMSE即model的偏離程度上比線性回歸更小,模型表現(xiàn)效果越好。經(jīng)過上述實驗的反復調(diào)參性能結(jié)果對比,可以找出目前最優(yōu)的模型算子為隨機森林算子,由于沒有完全絕對最佳取值的參數(shù)參考,具體參數(shù)設(shè)置需根據(jù)數(shù)據(jù)集的特征來進行調(diào)整。當然,目前實驗結(jié)果還有望進一步優(yōu)化,爭取模型的擬合程度達到90%以上的準確率。

數(shù)據(jù)來源本次實驗數(shù)據(jù)集玩家付費數(shù)據(jù)由星環(huán)官方提供CSV文件,為2018年初季度的游戲平臺客戶7日內(nèi)的操作數(shù)據(jù),數(shù)據(jù)主要由系統(tǒng)自動錄入,不存在人為輸入極端值造成數(shù)據(jù)的分布影響。訓練集和測試集提供的數(shù)據(jù)約達到300萬條數(shù)據(jù)量。有108維數(shù)值特征,特征的數(shù)據(jù)類型除去時間timestamp主要為數(shù)值型數(shù)據(jù)int,double類型。原始數(shù)據(jù)集數(shù)據(jù)字段解釋如圖,總共有108條數(shù)據(jù)字段,需先根據(jù)原始的數(shù)據(jù)字段篩選出最具特征的數(shù)據(jù)指標,進而通過學習到的模型預測prediction_pay_price。表STYLEREF1\s5-SEQ表\*ARABIC\s18數(shù)據(jù)集字段含義名稱類型數(shù)據(jù)有效期變量性質(zhì)玩家ID身份(類別特征)int永久ID玩家注冊時間string永久自變量木頭獲取數(shù)量intdays自變量木頭消耗數(shù)量intdays自變量石頭獲取數(shù)量intdays自變量石頭消耗數(shù)量intdays自變量象牙獲取數(shù)量intdays自變量象牙消耗數(shù)量intdays自變量肉獲取數(shù)量intdays自變量肉消耗數(shù)量intdays自變量魔法獲取數(shù)量intdays自變量魔法消耗數(shù)量intdays自變量勇士招募數(shù)量intdays自變量勇士損失數(shù)量intdays自變量馴獸師招募數(shù)量intdays自變量馴獸師損失數(shù)量intdays自變量薩滿招募數(shù)量intdays自變量薩滿損失數(shù)量intdays自變量勇士傷兵產(chǎn)生數(shù)量intdays自變量勇士傷兵恢復數(shù)量intdays自變量馴獸師傷兵產(chǎn)生數(shù)量intdays自變量馴獸師傷兵恢復數(shù)量intdays自變量薩滿傷兵產(chǎn)生數(shù)量intdays自變量薩滿傷兵恢復數(shù)量intdays自變量通用加速獲取數(shù)量intdays自變量通用加速使用數(shù)量intdays自變量建筑加速獲取數(shù)量intdays自變量建筑加速使用數(shù)量intdays自變量科研加速獲取數(shù)量intdays自變量科研加速使用數(shù)量intdays自變量訓練加速獲取數(shù)量intdays自變量訓練加速使用數(shù)量intdays自變量治療加速獲取數(shù)量intdays自變量治療加速使用數(shù)量intdays自變量建筑:士兵小屋等級intdays自變量建筑:治療小井等級intdays自變量建筑:要塞等級intdays自變量建筑:據(jù)點傳送門等級intdays自變量建筑:兵營等級intdays自變量建筑:治療之泉等級intdays自變量建筑:智慧神廟等級intdays自變量建筑:聯(lián)盟大廳等級intdays自變量建筑:倉庫等級intdays自變量建筑:瞭望塔等級intdays自變量建筑:魔法幸運樹等級intdays自變量建筑:戰(zhàn)爭大廳等級intdays自變量建筑:聯(lián)盟貨車等級intdays自變量建筑:占卜臺等級intdays自變量建筑:祭壇等級intdays自變量建筑:冒險傳送門等級intdays自變量科研:偵查等級intdays自變量科研:訓練速度等級intdays自變量科研:守護者intdays自變量科研:巨獸馴獸師intdays自變量科研:吟唱者intdays自變量科研:勇士攻擊intdays自變量科研:馴獸師攻擊intdays自變量科研:薩滿攻擊intdays自變量科研:戰(zhàn)斗大師intdays自變量科研:高階巨獸騎兵intdays自變量科研:圖騰大師intdays自變量科研:部隊防御intdays自變量科研:勇士防御intdays自變量科研:馴獸師防御intdays自變量科研:薩滿防御intdays自變量科研:勇士生命intdays自變量科研:馴獸師生命intdays自變量科研:薩滿生命intdays自變量科研:狂戰(zhàn)士intdays自變量科研:龍騎兵intdays自變量科研:神諭者intdays自變量科研:部隊攻擊intdays自變量科研:建造速度intdays自變量科研:資源保護intdays自變量科研:部隊消耗intdays自變量科研:木材生產(chǎn)intdays自變量科研:石頭生產(chǎn)intdays自變量科研:象牙生產(chǎn)intdays自變量科研:肉類生產(chǎn)intdays自變量科研:木材采集intdays自變量科研:石頭采集intdays自變量科研:象牙采集intdays自變量科研:肉類生產(chǎn)intdays自變量科研:部隊負重intdays自變量科研:魔法采集intdays自變量科研:魔法生產(chǎn)intdays自變量科研:據(jù)點耐久intdays自變量科研:據(jù)點二intdays自變量科研:醫(yī)院容量intdays自變量科研:領(lǐng)土采集獎勵intdays自變量科研:治療速度intdays自變量科研:據(jù)點三intdays自變量科研:聯(lián)盟行軍速度intdays自變量科研:戰(zhàn)斗行軍速度intdays自變量科研:采集行軍速度intdays自變量科研:據(jù)點四intdays自變量科研:增援部隊容量intdays自變量科研:行軍大小intdays自變量科研:資源幫助容量intdays自變量PVP次數(shù)intdays自變量主動發(fā)起PVP次數(shù)intdays自變量PVP勝利次數(shù)intdays自變量PVE次數(shù)intdays自變量主動發(fā)起PVE次數(shù)intdays自變量PVE勝利次數(shù)intdays自變量在線時長doubledays自變量付費金額doubledays自變量付費次數(shù)intdays自變量45日付費金額double45days因變量經(jīng)由數(shù)據(jù)分析可視化后的圖表找出每條數(shù)據(jù)特征的特性,分別列出了正相關(guān)性、負相關(guān)性、無相關(guān)性的數(shù)值字段。表STYLEREF1\s5-SEQ表\*ARABIC\s19相關(guān)性字段分類正相關(guān)性變量數(shù)據(jù)名稱數(shù)據(jù)有效期木頭獲取數(shù)量days木頭消耗數(shù)量days石頭獲取數(shù)量days石頭消耗數(shù)量days象牙獲取數(shù)量days象牙消耗數(shù)量days肉獲取數(shù)量days肉消耗數(shù)量days魔法獲取數(shù)量days魔法消耗數(shù)量days勇士招募數(shù)量days馴獸師招募數(shù)量days薩滿招募數(shù)量days勇士傷兵產(chǎn)生數(shù)量days勇士傷兵恢復數(shù)量days薩滿傷兵恢復數(shù)量days通用加速獲取數(shù)量days通用加速使用數(shù)量days建筑加速獲取數(shù)量days建筑加速使用數(shù)量days科研加速獲取數(shù)量days科研加速使用數(shù)量days訓練加速使用數(shù)量days建筑:士兵小屋等級days建筑:治療小井等級days建筑:要塞等級days建筑:據(jù)點傳送門等級days建筑:兵營等級days建筑:治療之泉等級days建筑:智慧神廟等級days建筑:聯(lián)盟大廳等級days建筑:倉庫等級days建筑:瞭望塔等級days建筑:魔法幸運樹等級days建筑:戰(zhàn)爭大廳等級days建筑:聯(lián)盟貨車等級days建筑:占卜臺等級days建筑:祭壇等級days建筑:冒險傳送門等級days科研:馴獸師攻擊days科研:薩滿攻擊days科研:建造速度days科研:資源保護days科研:部隊消耗days科研:木材生產(chǎn)days科研:象牙生產(chǎn)days科研:肉類生產(chǎn)days科研:木材采集days科研:象牙采集days科研:肉類生產(chǎn)days科研:部隊負重days科研:魔法采集days科研:魔法生產(chǎn)days科研:據(jù)點耐久days科研:據(jù)點二days科研:醫(yī)院容量days科研:領(lǐng)土采集獎勵days科研:治療速度days科研:據(jù)點三days科研:聯(lián)盟行軍速度days科研:戰(zhàn)斗行軍速度days科研:采集行軍速度daysPVE次數(shù)days主動發(fā)起PVE次數(shù)daysPVE勝利次數(shù)days付費次數(shù)days負相關(guān)性變量字段名數(shù)據(jù)有效期科研:偵查等級days科研:訓練速度等級days科研:守護者days科研:巨獸馴獸師days科研:吟唱者days科研:勇士攻擊days科研:石頭生產(chǎn)daysPVP次數(shù)days主動發(fā)起PVP次數(shù)daysPVP勝利次數(shù)days無相關(guān)性字段名數(shù)據(jù)有效期勇士損失數(shù)量daysdays馴獸師損失數(shù)量days勇士傷兵產(chǎn)生數(shù)量days馴獸師傷兵產(chǎn)生數(shù)量days薩滿傷兵產(chǎn)生數(shù)量days訓練加速獲取數(shù)量days治療加速獲取數(shù)量days治療加速使用數(shù)量days科研:戰(zhàn)斗大師days科研:高階巨獸騎兵days科研:圖騰大師days科研:部隊防御days科研:勇士防御days科研:馴獸師防御days科研:薩滿防御days科研:勇士生命days科研:馴獸師生命days科研:薩滿生命days科研:狂戰(zhàn)士days科研:龍騎兵days科研:神諭者days科研:部隊攻擊days科研:據(jù)點四days科研:增援部隊容量days科研:行軍大小days科研:資源幫助容量days科研:據(jù)點四days在線時長days機器學習模型驗證基于前面多次實驗驗證訓練出了優(yōu)化后準確值較高的模型,再單獨搭建模型model寫入算子,將優(yōu)化好的模型導出到Sophon平臺算子內(nèi),便于后續(xù)直接應用該模型進行其他數(shù)據(jù)集的預測。圖STYLEREF1\s4-SEQ圖\*ARABIC\s136隨機森林model導出模型寫入Sophon平臺算子參數(shù)字段定義如下。參數(shù)名稱類型意義create_new_model創(chuàng)建新的模型bool創(chuàng)建新的模型model_name模型名稱string寫入的模型名model_description模型描述string模型描述model_version_prefix模型版本名稱前綴stri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論