《大數(shù)據(jù)分析技術(shù)》 課件 第10章-深度學(xué)習(xí)_第1頁
《大數(shù)據(jù)分析技術(shù)》 課件 第10章-深度學(xué)習(xí)_第2頁
《大數(shù)據(jù)分析技術(shù)》 課件 第10章-深度學(xué)習(xí)_第3頁
《大數(shù)據(jù)分析技術(shù)》 課件 第10章-深度學(xué)習(xí)_第4頁
《大數(shù)據(jù)分析技術(shù)》 課件 第10章-深度學(xué)習(xí)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第10章深度學(xué)習(xí)BigData目錄§10.1神經(jīng)網(wǎng)絡(luò)§10.2深度學(xué)習(xí)本章首先介紹神經(jīng)網(wǎng)絡(luò),這是深度學(xué)習(xí)的基礎(chǔ);再介紹幾類深度學(xué)習(xí)模型,作為從傳統(tǒng)數(shù)據(jù)分析技術(shù)轉(zhuǎn)向大數(shù)據(jù)處理的一個過渡,引導(dǎo)同學(xué)們向大數(shù)據(jù)分析技術(shù)縱深探索。從神經(jīng)網(wǎng)絡(luò)到深度學(xué)習(xí),研究歷程可謂充滿波折,歷經(jīng)“三起兩落”的演進(jìn)階段(詳見后頁發(fā)展歷程圖)。這一過程中,數(shù)學(xué)理論的突破與工程實踐的創(chuàng)新共同推動了深度學(xué)習(xí)從概念走向應(yīng)用。本課程采用“應(yīng)用導(dǎo)向”的教學(xué)理念:(1)聚焦實戰(zhàn):通過典型案例解析算法核心思想,弱化抽象的數(shù)理推導(dǎo)。(2)分層掌握:優(yōu)先建立模型設(shè)計直覺,后續(xù)可結(jié)合數(shù)學(xué)基礎(chǔ)深化理解?!?0.0導(dǎo)言從神經(jīng)網(wǎng)絡(luò)到深度學(xué)習(xí)的發(fā)展歷程神經(jīng)網(wǎng)絡(luò)的集大成者是多層感知機(jī)(MultilayerPerceptron,MLP),也是一類既能用于分類又能用于回歸的機(jī)器學(xué)習(xí)方法。右圖是一個MLP的工作原理圖。該MLP的結(jié)構(gòu)是:§10.1神經(jīng)網(wǎng)絡(luò)一、概念

二、基于python的實現(xiàn)Python實現(xiàn)MLP的模塊是sklearn.neural_network,其中分類器是MLPClassifier,回歸器是MLPRegressor,二者區(qū)別主要在于損失項(優(yōu)化目標(biāo))的不同,在此僅介紹分類器的用法:MLPClassifier(hidden_layer_sizes=(100,),activation='relu’,solver='adam’)主要輸入?yún)?shù):(1)hidden_layer_sizes:隱藏層神經(jīng)元的數(shù)量(2)activation:激活函數(shù),取值有四個{‘identity’,‘logistic’,‘tanh’,‘relu’}

(3)solver:求解器,取值有三個{‘lbfgs’,‘sgd’,‘a(chǎn)dam’}主要輸出項:(1)classes_:類別標(biāo)簽主要方法:(1)fit(X,y):訓(xùn)練(2)predict(X):使用MLP進(jìn)行預(yù)測(3)predict_proba(X):概率估計(4)score(X,y):返回給定測試數(shù)據(jù)和標(biāo)簽上的平均準(zhǔn)確度【實驗10.1】大氣污染類別分析應(yīng)用MLP解決大氣污染類別識別問題,相關(guān)知識庫見下表(前5行):氯硫化氫二氧化碳碳4環(huán)氧氯丙烷環(huán)已烷污染分類0.0560.0840.0310.0380.00810.02210.040.0550.10.110.0220.007310.050.0740.0410.0480.0710.0210.0450.050.110.10.0250.006310.0380.130.0790.170.0580.0432三、案例分析待識別數(shù)據(jù)見下表(4個樣本點(diǎn)):氯硫化氫二氧化碳碳4環(huán)氧氯丙烷環(huán)已烷污染分類0.0520.0840.02110.0370.00710.022待識別0.0410.0550.110.110.0210.00730.030.1120.0720.160.0560.0210.0740.0830.1050.190.021【實驗結(jié)果】1.模型評估結(jié)果:模型表現(xiàn)優(yōu)異,預(yù)測結(jié)果可信。準(zhǔn)確率查準(zhǔn)率查全率f1值1111【實驗過程】該問題已在第4章Logistic回歸中實驗過,通過神經(jīng)網(wǎng)絡(luò)來解決該問題,流程基本一致:數(shù)據(jù)模塊→分析模塊→應(yīng)用模塊。2.模型預(yù)測結(jié)果氯硫化氫二氧化碳碳4環(huán)氧氯丙烷環(huán)已烷污染分類0.0520.0840.02110.0370.00710.02210.0410.0550.110.110.0210.007310.030.1120.0720.160.0560.02120.0740.0830.1050.190.0212實驗結(jié)果與實驗4.1一致!#%%實驗10.1-基于MLP的大氣污染類別分析####1.數(shù)據(jù)模塊###1.1讀入數(shù)據(jù)importpandasaspdfile=r“..\數(shù)據(jù)\【實驗4.1】大氣污染類別分析.xlsx"data=pd.read_excel(file,sheet_name='污染等級已知')###1.2分離變量X=data.iloc[:,:-1]y=data.iloc[:,-1]##因為二分類問題約定正類數(shù)值化為1,負(fù)類數(shù)值化為0或-1,所以需對y施以下數(shù)變換y_mapped=y.replace({1:0,2:1})###1.3特征數(shù)據(jù)標(biāo)準(zhǔn)化-此處無須標(biāo)準(zhǔn)化###1.4分割數(shù)據(jù)-因為數(shù)據(jù)量太小,所以全部數(shù)據(jù)用于訓(xùn)練、全部數(shù)據(jù)用于評估,不必分割####2.分析模塊-這是最簡單最規(guī)范化的模塊###2.1建模fromsklearn.neural_networkimportMLPClassifiermodel=MLPClassifier()###2.2訓(xùn)練model.fit(X,y_mapped)###2.3評估-是本模塊相對難的部分,我們已二次開發(fā)模型評估自建庫model_evaluatorfrommodel_evaluatorimportclassification_evaluatorresults=classification_evaluator(model,X,y_mapped,labels=y.unique())####3.應(yīng)用模塊:解決待識別數(shù)據(jù)對應(yīng)的污染類別問題##3.1讀入待識別數(shù)據(jù)xnew=pd.read_excel(file,sheet_name='污染待識別')##3.2識別并恢復(fù)目標(biāo)變量的取值ynew=pd.Series(model.predict(xnew)).replace({0:1,1:2})實驗10.1程序【實驗10.2】波士頓房價預(yù)測問題應(yīng)用MLP解決波士頓房價預(yù)測分析問題,相關(guān)知識庫見下表(前5行):待識別數(shù)據(jù)見下表(6個樣本點(diǎn)):接下來看兩個回歸的案例,一個截面數(shù)據(jù),一個時間序列。CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTATTarget0.00632182.3100.5386.57565.24.09129615.3396.94.98240.0273107.0700.4696.42178.94.9671224217.8396.99.1421.60.0272907.0700.4697.18561.14.9671224217.8392.834.0334.70.0323702.1800.4586.99845.86.0622322218.7394.632.9433.40.0690502.1800.4587.14754.26.0622322218.7396.95.3336.2序號CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT18.7921018.100.5845.56570.62.06352466620.23.6517.1620.117512.57.8700.5246.00982.96.2267531115.2396.913.2733.6931018.100.7136.37688.42.56712466620.2391.4314.6540.0871012.8300.4376.1445.84.0905539818.7386.9610.2751.2735019.5810.6056.2592.61.7984540314.7338.925.560.139104.0500.515.57288.52.5961529616.6396.914.69【實驗結(jié)果】1.模型評估:當(dāng)按默認(rèn)參數(shù)建模時,模型精確性如下左表(不如第6章SVR模型),當(dāng)將模型結(jié)構(gòu)參數(shù)設(shè)置為(50,100,30),即三個中間層,神經(jīng)元個數(shù)依次為50,100,30時,模型精確性如下右表(已比第6章顯著提高)【實驗過程】該問題已在第6章支持向量機(jī)中實驗過,通過神經(jīng)網(wǎng)絡(luò)來解決該問題,流程一致,程序只需將SVR模型換為MLP模型即可。SVR(C=5)MLP(hidden_layer_sizes=(100,))MLP(hidden_layer_sizes=(50,100,30))評估指標(biāo)指標(biāo)得分評估指標(biāo)指標(biāo)得分評估指標(biāo)指標(biāo)得分(1)R方-r2_score0.7433(1)R方-r2_score0.6293(1)R方-r2_score0.9083(2)平均絕對誤差(MAE)2.5567(2)平均絕對誤差(MAE)3.7866(2)平均絕對誤差(MAE)2.2685(3)平均相對誤差(MAPE)0.1442(3)平均相對誤差(MAPE)0.1966(3)平均相對誤差(MAPE)0.1159(4)均方誤差(MSE)14.76(4)均方誤差(MSE)30.2638(4)均方誤差(MSE)8.8908(5)均方根誤差(RMSE)3.8419(5)均方根誤差(RMSE)5.5013(5)均方根誤差(RMSE)2.9817(6)可解釋方差(EVS)0.7438(6)可解釋方差(EVS)0.635(6)可解釋方差(EVS)0.9086(7)中位數(shù)絕對誤差1.6174(7)中位數(shù)絕對誤差2.9932(7)中位數(shù)絕對誤差1.7206(8)中位數(shù)相對誤差0.0785(8)中位數(shù)相對誤差0.1467(8)中位數(shù)相對誤差0.08192.評估可視化(hidden_layer_sizes=(50,100,30))4幅圖都能看出,預(yù)測值和觀測值吻合程度高,預(yù)測結(jié)果可信度較高。3.房價預(yù)測結(jié)果(hidden_layer_sizes=(50,100,30))序號CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT預(yù)測值18.79212018.100.5845.56570.62.06352466620.23.6517.1616.991520.1174712.57.8700.5246.00982.96.2267531115.2396.913.2720.126333.69311018.100.7136.37688.42.56712466620.2391.4314.6518.537840.08707012.8300.4376.1445.84.0905539818.7386.9610.2719.769651.27346019.5810.6056.2592.61.7984540314.7338.925.532.087760.1391404.0500.515.57288.52.5961529616.6396.914.6922.4826實驗10.2程序#%%實驗10.2-基于MLP的波士頓房價影響因素分析importnumpyasnp,pandasaspd,matplotlib.pyplotaspltplt.rcParams.update({'font.family':['kaiti','Helvetica’],'axes.unicode_minus':False,'mathtext.fontset':'cm'})###1.數(shù)據(jù)模塊:讀入數(shù)據(jù)→分離變量→數(shù)據(jù)標(biāo)準(zhǔn)化→分割數(shù)據(jù)file=r“..\數(shù)據(jù)\【實驗6.1】波士頓房價數(shù)據(jù)集.xlsx"data=pd.read_excel(file)X0,y=data.iloc[:,:-1],data.iloc[:,-1]fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler()X=scaler.fit_transform(X0)fromsklearn.model_selectionimporttrain_test_splitX_train,X_test,y_train,y_test=train_test_split(X,y)###2.分析模塊:建?!?xùn)練→評估fromsklearn.neural_networkimportMLPRegressormodel=MLPRegressor(hidden_layer_sizes=(50,100,30))model.fit(X_train,y_train)frommodel_evaluatorimportregression_evaluatorresults=regression_evaluator(model,X_test,y_test)###3.應(yīng)用模塊:讀入數(shù)據(jù)→數(shù)據(jù)標(biāo)準(zhǔn)化→預(yù)測xnew0=pd.read_excel(file,sheet_name=1).iloc[:,1:]xnew=scaler.transform(xnew0)ynew=model.predict(xnew)【實驗10.3】熱銷蔬菜銷量預(yù)測問題數(shù)據(jù)集“【實驗10.3】熱銷蔬菜銷售量數(shù)據(jù).xlsx”是某超市11個熱銷蔬菜單品從2020年7月1日至2023年6月30日的銷售數(shù)據(jù)(單位:千克),前10行數(shù)據(jù)見下表:銷售日期云南生菜上海青大白菜云南油麥菜紫茄子(2)西峽香菇(1)西蘭花凈藕(1)螺絲椒蕪湖青椒(1)黃白菜(2)2020/7/141.9711.4814.7532.5817.667.6934.55-6.7314.9941.556.552020/7/244.876.8111.2327.0614.4317.3530.11-6.615.8441.084.812020/7/336.3113.1210.4536.7117.5515.2926.46-3.149.1044.599.992020/7/451.2128.199.6443.3333.0514.5342.827.0810.6854.0118.432020/7/534.2512.049.7012.5926.9718.4142.375.3415.6454.1014.812020/7/636.5313.4614.1011.058.9613.3524.43-4.5610.3644.348.632020/7/730.069.8614.8328.2114.6014.5323.05-3.9511.9642.158.902020/7/821.3412.576.819.7318.5914.8324.648.2420.0443.5513.702020/7/933.1110.1823.1414.219.9510.5425.21-2.359.9243.598.302020/7/1013.5812.7816.7628.2815.7910.1727.936.4521.3447.6111.60試預(yù)測這些蔬菜單品今后一個月內(nèi)的銷量。

………………………

【實驗結(jié)果】1.模型評估:當(dāng)時間步長設(shè)置為7、模型結(jié)構(gòu)參數(shù)設(shè)置為(100,200,60)時,模型精確性如下表所示:【實驗過程】與實驗10.1相比在數(shù)據(jù)模塊多了一個數(shù)據(jù)轉(zhuǎn)換的操作,其余不變。數(shù)據(jù)轉(zhuǎn)換中k是一個超參數(shù),需要多次實驗才能找到相對優(yōu)秀的參數(shù)值。

我們僅示例“云南生菜”的預(yù)測,其余蔬菜的預(yù)測流程相同。從評估結(jié)果看,模型說不上多優(yōu)秀評估指標(biāo)指標(biāo)得分(1)R方-r2_score0.4462(2)平均絕對誤差(MAE)6.7263(3)平均相對誤差(MAPE)3.7049(4)均方誤差(MSE)90.2844(5)均方根誤差(RMSE)9.5018(6)可解釋方差(EVS)0.4467(7)中位數(shù)絕對誤差4.6327(8)中位數(shù)相對誤差0.31722.評估可視化從評估可視化看,模型表現(xiàn)也是一般3.未來60日銷量預(yù)測結(jié)果日期銷量日期銷量日期銷量日期銷量日期銷量2023/7/13.522023/7/136.432023/7/2512.052023/8/68.522023/8/188.962023/7/211.182023/7/145.272023/7/266.652023/8/79.712023/8/1914.952023/7/314.692023/7/155.722023/7/275.132023/8/811.072023/8/2010.802023/7/413.932023/7/1612.902023/7/285.432023/8/96.722023/8/217.962023/7/57.052023/7/1717.802023/7/293.752023/8/105.342023/8/227.302023/7/67.132023/7/1812.072023/7/3013.502023/8/117.752023/8/237.342023/7/77.242023/7/196.252023/7/3115.362023/8/129.852023/8/246.442023/7/86.722023/7/206.282023/8/114.492023/8/1312.152023/8/2513.522023/7/911.762023/7/215.182023/8/26.212023/8/148.052023/8/2614.932023/7/1019.542023/7/224.472023/8/34.322023/8/158.212023/8/2710.592023/7/1111.722023/7/2314.072023/8/42.922023/8/166.682023/8/288.482023/7/126.992023/7/2418.942023/8/51.522023/8/177.332023/8/297.904.預(yù)測結(jié)果可視化實驗10.3程序#%%實驗10.3-基于MLP的熱銷蔬菜銷售量預(yù)測importpandasaspdfromtimeSeriesRegressorimportTimeSeriesRegressor#讀入數(shù)據(jù)(數(shù)據(jù)轉(zhuǎn)換已放在訓(xùn)練模塊)file=r“..\數(shù)據(jù)\【實驗10.3】熱銷蔬菜銷售量數(shù)據(jù).xlsx"ts=pd.read_excel(file).iloc[:,1]#云南生菜#建模:時間步長設(shè)置為timestep_sizetimestep_size=7ts_regressor=TimeSeriesRegressor(model_type='mlp',timestep_size=timestep_size)#訓(xùn)練ts_regressor.fit(ts)#評估evaluation=ts_regressor.evaluate()print(evaluation)#預(yù)測:預(yù)測期數(shù)設(shè)置為future_lengthfuture_length=60future_predictions=ts_regressor.predict(future_length=future_length)小結(jié):神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程波瀾壯闊,堪稱一部跌宕起伏的科技史詩,歷經(jīng)“三起兩落”的曲折變遷:從單層感知機(jī)的橫空出世(第一起),到其無法求解非線性問題的局限暴露(第一落);繼而多層感知機(jī)與反向傳播算法帶來復(fù)興曙光(第二起),卻因深層網(wǎng)絡(luò)訓(xùn)練中的梯度消失難題而再度受挫(第二落);直至深度信念網(wǎng)絡(luò)等預(yù)訓(xùn)練方法的突破(第三起),最終推動深度學(xué)習(xí)時代到來,修成正果,開啟人工智能新篇章。神經(jīng)網(wǎng)絡(luò)憑借其強(qiáng)大的非線性映射能力,在處理復(fù)雜非線性問題上優(yōu)勢顯著,堪稱小樣本數(shù)據(jù)分析的利器之一。針對時間序列分析,我們基于多種經(jīng)典模型構(gòu)建了一個集成回歸器timeSeriesRegressor,其中融入了多層感知機(jī)(MLP)等核心算法。實驗10.3即采用該回歸器進(jìn)行建模與分析,驗證了其在時序預(yù)測任務(wù)中的有效性與穩(wěn)健性。課程思政:神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的發(fā)展,貫穿著科學(xué)家們不斷嘗試、失敗、再嘗試的探索歷程。這種對未知領(lǐng)域的持續(xù)鉆研精神,值得我們學(xué)習(xí)、繼承與發(fā)揚(yáng)?!?0.2深度學(xué)習(xí)21世紀(jì)初,隨著計算能力的大幅提升(尤其是GPU的應(yīng)用),以及大規(guī)模數(shù)據(jù)集的出現(xiàn),深度信念網(wǎng)絡(luò)(DBN)等模型的成功應(yīng)用標(biāo)志著神經(jīng)網(wǎng)絡(luò)研發(fā)的第三次崛起。特別是2012年,AlexNet在ImageNet競賽中的壓倒性勝利,正式開啟了深度學(xué)習(xí)的新時代。此后,卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)及其變種如長短期記憶網(wǎng)絡(luò)(LSTM)和門控循環(huán)單元(GRU)等,在圖像識別、自然語言處理等領(lǐng)域取得了突破性的成就。深度學(xué)習(xí)發(fā)展關(guān)鍵時間、關(guān)鍵事件請見后頁深度學(xué)習(xí)發(fā)展歷程導(dǎo)圖一、前言二、PyTorch#創(chuàng)建張量(類似NumPy)importtorchx=torch.tensor([1,2,3])#語法與np.array([1,2,3])幾乎一致layer_output=model(x)print(layer_output.shape)#直接打印維度,調(diào)試網(wǎng)絡(luò)結(jié)構(gòu)

對于深度學(xué)習(xí)初學(xué)者,PyTorch是最友好、易上手的框架之一,主要體現(xiàn)在以下方面:1.像寫Python一樣寫深度學(xué)習(xí)代碼

語法直觀:PyTorch的API設(shè)計貼近原生Python和NumPy,幾乎沒有“魔法”語法。

無需學(xué)習(xí)新編程范式:直接使用if、for等Python控制流,無需像TensorFlow1.x那樣定義靜態(tài)計算圖。2.調(diào)試簡單,錯誤信息友好

動態(tài)計算圖:代碼逐行執(zhí)行,可以隨時用print()檢查中間變量:layer_output=model(x)print(layer_output.shape)#直接打印維度,調(diào)試網(wǎng)絡(luò)結(jié)構(gòu)錯誤提示清晰:PyTorch的報錯信息通常直接指向問題根源(如張量形狀不匹配會明確提示Expected[64,10],got[64,20])。3.學(xué)習(xí)資源豐富,社區(qū)活躍官方教程完善:PyTorch官網(wǎng)提供交互式教程(如手寫數(shù)字識別),適合邊學(xué)邊練。社區(qū)支持強(qiáng):遇到問題時:StackOverflow上90%的深度學(xué)習(xí)問題有PyTorch解答。GitHub上有大量開源實現(xiàn)(從CNN到Transformer)可參考。4.從零搭建模型的“腳手架”清晰classMyModel(nn.Module):def__init__(self):super().__init__()self.layer1=nn.Linear(10,20)#定義層defforward(self,x):returnself.layer1(x)#前向傳播自動微分透明:只需loss.backward()即可自動計算梯度,無需手動推導(dǎo)數(shù)學(xué)公式。5.適合“從小白到進(jìn)階”的平滑學(xué)習(xí)路徑PyTorch的設(shè)計哲學(xué)是“讓研究人員和開發(fā)者感覺自然”,這正是它成為初學(xué)者首選的原因——你不需要先成為框架專家,就能成為深度學(xué)習(xí)實踐者。學(xué)習(xí)階段PyTorch支持第一步:理解基礎(chǔ)通過

torch.Tensor

autograd

學(xué)習(xí)張量操作和梯度計算(類似NumPy+微積分)。第二步:搭建模型用

nn.Module

快速實現(xiàn)CNN/RNN,官方提供經(jīng)典模型代碼(如ResNet、LSTM)。第三步:實戰(zhàn)項目直接調(diào)用TorchVision加載數(shù)據(jù)集(如MNIST),快速驗證想法。第四步:深入優(yōu)化使用Lightning或自定義訓(xùn)練循環(huán),靈活控制細(xì)節(jié)。三、基于PyTorch的深度學(xué)習(xí)模型自建庫關(guān)于深度學(xué)習(xí),我們也是通過案例分析來深入理解和掌握其核心精髓。深度學(xué)習(xí)在數(shù)據(jù)分析領(lǐng)域具有以下幾個顯著特點(diǎn):數(shù)學(xué)原理較為復(fù)雜,技術(shù)迭代迅速,模型架構(gòu)通常具有可堆疊性,同時在編程實現(xiàn)上兼具靈活性與挑戰(zhàn)性。針對這些特點(diǎn),我們分別構(gòu)建了面向分類、回歸和時間序列分析任務(wù)的深度分類器、深度回歸器和深度時間序列回歸器。這些工具在接口設(shè)計上采用類scikit-learn風(fēng)格,力求降低深度學(xué)習(xí)模型的應(yīng)用門檻,幫助我們更高效地將其應(yīng)用于實際問題。因為具有類scikit-learn風(fēng)格,所以在使用上與前面講過的有監(jiān)督學(xué)習(xí)分析流程(程序風(fēng)格)一般無二,區(qū)別在于模型具有更多的對分析效果有較大影響的超參數(shù)。從建模語句看,此處示例的是建立兩層架構(gòu)的LSTM模型1.深度分類器——deep_classifier,分析模塊代碼:#建立模型fromdeep_classifierimportDeepLearningClassifiermodel=DeepLearningClassifier(model_type='LSTM',layer=2,input_size=4,hidden_size=64,num_classes=3,epochs=20,device='cpu’)#run=訓(xùn)練+評估+預(yù)測+可視化,并輸出結(jié)果results=model.run(X_train,y_train,X_test,y_test)模型的run方法集“訓(xùn)練、評估、預(yù)測、可視化”于一身,并輸出所有所需的數(shù)值結(jié)果模型的get_results方法集“評估、預(yù)測、可視化”于一身,并輸出所有所需的數(shù)值結(jié)果2.深度回歸器——deep_regressor,分析模塊代碼:#建?!蓪蛹軜?gòu)的LSTM模型fromdeep_regressorimportDeepLearningRegressorlstm_reg=DeepLearningRegressor(model_type='lstm',layers=2,hidden_size=64,sequence_length=5,epochs=100,batch_size=32,lr=0.001)#訓(xùn)練lstm_reg.fit(X_df,y_series,test_size=0.2,random_state=42)#獲取結(jié)果lstm_results=lstm_reg.get_results(X_df,y_series)其中“獲取完整結(jié)果”包含了訓(xùn)練集評估、測試集評估和未來預(yù)測相關(guān)結(jié)果及可視化#建立模型——建立兩層架構(gòu)的LSTM模型fromdeep_timeseries_regressorimportDeepTimeSeriesRegressormodel=DeepTimeSeriesRegressor(model_type='lstm',layers=2,hidden_size=64,timestep=20,epochs=50,batch_size=32,learning_rate=0.001,dropout=0.2)#訓(xùn)練模型model.fit(series,test_size=0.2,random_state=42,verbose=1)#獲取完整結(jié)果full_results=model.get_full_results(future_length=30)3.深度時間序列回歸器——deep_timeseries_regressor,分析模塊代碼:四、案例分析

【實驗10.4】信貸審核自動審核機(jī)制研究數(shù)據(jù)集“【實驗10.4】信貸自動審核機(jī)制研究.xlsx”是某銀行信貸業(yè)務(wù)數(shù)據(jù)集,“已審核”工作表是1526名信貸申請者審核結(jié)果,前5行數(shù)據(jù)如下所示:“待審核”工作表是34名信貸申請者信息。請根據(jù)已審核結(jié)果預(yù)測待審核信貸申請者是否能獲得信用貸款。ID年齡性別學(xué)歷工齡職稱工資產(chǎn)權(quán)房信用情況審核結(jié)果148男大專28中級6774無非常好否225女大專6初級3617無非常好否347女大專26中級8149無非常好是453女大專33高級5652有非常好是554男高中33副高級6796無非常好否【實驗過程】本案例有兩個模塊:數(shù)據(jù)模塊→分析模塊。

數(shù)據(jù)模塊主要是:讀入數(shù)據(jù),然后應(yīng)用數(shù)據(jù)變換自建庫data_converter對數(shù)據(jù)中的定性變量賦值;

分析模塊主要是:建立模型(兩層架構(gòu)的LSTM模型)→通過run方法完成“訓(xùn)練、評估、預(yù)測”【實驗結(jié)果】(1)訓(xùn)練集和測試集評估結(jié)果及可視化:指標(biāo)訓(xùn)練集測試集準(zhǔn)確率0.96720.9585查準(zhǔn)率0.96740.9588查全率0.96720.9585f1值0.96690.9586從評估結(jié)果看,模型表現(xiàn)優(yōu)異,從而預(yù)測結(jié)果可信訓(xùn)練集混淆矩陣及ROC曲線:AUC=0.9965,0.95CI=(0.992,1)測試集混淆矩陣及ROC曲線:AUC=0.9914,0.95CI=(0.9807,1)ID年齡性別學(xué)歷工齡職稱工資產(chǎn)權(quán)房信用情況預(yù)測結(jié)果143男高中24副高級5484有非常好是235男研究生9中級3806無非常好否334女大專14初級3429有非常好否456女高中38中級5813無好否522男高中1初級3280有非常好否626男大專8中級3475有一般否727女本科5中級2872有一般否859男大專39初級5509無一般否949男研究生21副高級6376無非常好是1059男大專41副高級6800無好否1144男研究生16高級5343有好是1240男大專20中級5261有好否1339男研究生12高級6187無非常好是1455男本科34中級7131有一般否1542男高中24初級5205有非常好否1650男高中30初級6244無一般否1742女本科21中級4905無好否1841男大專22副高級5507有非常好是1940男大專21副高級6348無非常好否2065女本科44副高級7179有好是2135男大專17副高級4963無非常好否2238女大專19中級5715有一般否2347男大專27初級6521無非常好否2453男高中34副高級5837無好否2552女大專32初級7578無非常好否2634女本科12高級5261有非常好是2750男本科30副高級8376無好是2859男研究生35副高級7983無一般否2950女本科29中級5532無好否3035女研究生8中級3675有好否3143男大專22中級5964有一般否3253男高中34副高級7353無非常好否3336女研究生8副高級3649有非常好是3426女本科6中級3335無一般否預(yù)測結(jié)果#%%實驗10.4-信貸自動審核機(jī)制研究importpandasaspdfromdata_converterimportUltimateDataConverterfromdeep_classifierimportDeepLearningClassifierfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_split###1.數(shù)據(jù)模塊file=r“..\數(shù)據(jù)\【實驗10.4】信貸自動審核機(jī)制研究.xlsx"##1.1讀入知識庫data=pd.read_excel(file).iloc[:,1:]##1.2分離特征和目標(biāo)變量X=data.iloc[:,:-1]y=data.iloc[:,-1]##1.3讀入新數(shù)據(jù)X_new=pd.read_excel(file,sheet_name=1).iloc[:,1:]##1.4數(shù)據(jù)變換本案例程序程序未完,見后頁#1.4.1建立變換模型converter=UltimateDataConverter(numeric_transform=0)#1.4.2實施數(shù)據(jù)變換X_transformed,y_transformed=converter.fit_transform(X,y)X_new_transformed=converter.transform(X_new)#1.5數(shù)據(jù)分割X_train,X_test,y_train,y_test=train_test_split(X_transformed,y_transformed,test_size=0.3,random_state=42)###2.分析模塊##2.1建立模型model=DeepLearningClassifier(model_type='LSTM',layer=2,input_size=18,hidden_size=64,num_classes=2,epochs=20,device='cpu’)##2.2訓(xùn)練→評估→預(yù)測results=model.run(X_train,y_train,X_test,y_test,X_new=X_new_transformed)ynew=list(converter.inverse_transform_target(results['預(yù)測結(jié)果']))續(xù)前頁

【實驗10.5】自建點(diǎn)空氣質(zhì)量監(jiān)測數(shù)據(jù)校準(zhǔn)研究數(shù)據(jù)集“【實驗10.5】自建點(diǎn)空氣質(zhì)量監(jiān)測數(shù)據(jù)校準(zhǔn)研究.xlsx”是來自某氣象站空氣質(zhì)量監(jiān)測同時刻的國控點(diǎn)數(shù)據(jù)和自建點(diǎn)數(shù)據(jù),“自建點(diǎn)和國控點(diǎn)同時刻數(shù)據(jù)”工作表數(shù)據(jù)前5行數(shù)據(jù)如下所示:國控點(diǎn)時間自建點(diǎn)PM2.5_xPM10_xCO_xNO2_xSO2_xO3_xPM2.5_yPM10_yCO_yNO2_ySO2_yO3_y風(fēng)速壓強(qiáng)降水量溫度濕度PM2.5_xPM10_xCO_xNO2_xSO2_xO3_x33640.804926882018/11/1412:0046890.74116701.51018.589.8185237790.768847772018/11/1416:0048940.75415662.11017.489.8175640920.994781222018/11/1419:00591040.731161070.31018.189.8156655850.919936572018/11/1423:00731270.87516980.81018.789.8147130470.743923642018/11/154:0043870.75315402.31017.989.91473一般來說控國點(diǎn)數(shù)據(jù)比和自建點(diǎn)數(shù)據(jù)準(zhǔn)確,現(xiàn)要根據(jù)上述數(shù)據(jù)建立自建點(diǎn)數(shù)據(jù)校準(zhǔn)機(jī)制,并校準(zhǔn)“自建點(diǎn)待校準(zhǔn)數(shù)據(jù)”工作表中的空氣質(zhì)量數(shù)據(jù)?!緦嶒炦^程】本案例是一個有多個目標(biāo)變量的回歸問題,流程也僅有兩個模塊:數(shù)據(jù)模塊→分析模塊,其中

數(shù)據(jù)模塊主要是:讀入知識庫→分離特征和目標(biāo)變量→讀入新數(shù)據(jù);

分析模塊主要是:建立模型(此處建立的是1層CNN模型)→應(yīng)用模型的get_results()方法完成“訓(xùn)練→評估→預(yù)測”流程。【實驗結(jié)果】(1)首先看評估結(jié)果,包括訓(xùn)練集和測試集:評估指標(biāo)訓(xùn)練集測試集PM2.5PM10CONO2SO2O3PM2.5PM10CONO2SO2O3R方0.900.700.050.550.630.680.900.460.000.550.600.68平均絕對誤差(MAE)8.3515.800.3912.189.0116.358.9216.930.3812.769.1016.86平均相對誤差(MAPE)0.180.250.510.580.551.620.190.270.510.600.571.57均方誤差(MSE)136.65873.090.27281.57169.20470.37145.832259.070.25297.68165.54487.09均方根誤差(RMSE)11.6929.550.5216.7813.0121.6912.0847.530.5017.2512.8722.07可解釋方差0.900.700.070.550.630.690.900.470.030.560.600.68中位數(shù)絕對誤差6.0211.130.318.976.2512.606.9011.490.309.626.1513.22訓(xùn)練集六個目標(biāo)預(yù)測評估測試集六個目標(biāo)預(yù)測評估【實驗結(jié)果】(2)自建點(diǎn)空氣質(zhì)量監(jiān)測數(shù)據(jù)校準(zhǔn)結(jié)果(共有234717行,下面展示前10行):時間自建點(diǎn)校準(zhǔn)值PM2.5_yPM10_yCO_yNO2_ySO2_yO3_yPM2.5PM10CONO2SO2O32018/11/1410:0250980.862154642.5075.300.8833.4622.5944.522018/11/1410:06501040.757165142.5373.341.0226.6322.9252.572018/11/1410:06521010.757155343.8476.250.9631.7922.4750.072018/11/1410:0949960.758154941.0972.850.9131.5622.0348.992018/11/1410:1049940.759155039.9770.600.9330.3120.6053.842018/11/1410:1448970.762154741.3373.420.9531.1521.9450.512018/11/1410:1648970.758155041.0172.440.9829.3621.7254.442018/11/1410:1848970.759155141.9575.280.9632.4522.9149.462018/11/1410:1952980.760165044.3676.851.0132.7920.7455.342018/11/1410:2348940.858155240.2771.580.9830.0621.0856.24#%%實驗10.5-自建點(diǎn)空氣質(zhì)量監(jiān)測數(shù)據(jù)校準(zhǔn)研究importpandasaspdfromdeep_regressorimportMultiTargetDeepRegressor###1.數(shù)據(jù)模塊file=r"..\數(shù)據(jù)\【實驗10.5】自建點(diǎn)空氣質(zhì)量監(jiān)測數(shù)據(jù)校準(zhǔn)研究.xlsx"##1.1讀入知識庫data=pd.read_excel(file)##1.2分離變量y,X=data.iloc[:,:6],data.iloc[:,7:]##1.3讀入新數(shù)據(jù)X_new=pd.read_excel(file,sheet_name='自建點(diǎn)待校準(zhǔn)數(shù)據(jù)').iloc[:,1:]###2.分析模塊cnn_reg=MultiTargetDeepRegressor(model_type='cnn’,layers=1,hidden_size=32,epochs=80,batch_size=32,lr=0.001)cnn_reg.fit(X,y,test_size=0.2,random_state=42)cnn_results=cnn_reg.get_results(X,y,X_new=X_new)本案例程序,單層CNN模型【實驗10.6】應(yīng)用深度時間序列分析方法為【實驗10.3】熱銷蔬菜銷量預(yù)測問題提供一個解決方案?!緦嶒灲Y(jié)果】1.模型評估:【實驗過程】在此也僅示例“云南生菜”的預(yù)測,其余蔬菜的預(yù)測流程相同。數(shù)據(jù)模塊:讀入數(shù)據(jù),沒有冗余的操作;分析模塊:建立兩層transformer模型→訓(xùn)練→評估應(yīng)用模塊:預(yù)測今后60期蔬菜銷售量及其0.95區(qū)間評估指標(biāo)訓(xùn)練集評估測試集評估1.R方0.61850.51212.平均絕對誤差(MAE)5.83455.95923.平均相對誤差(MAPE)2.36872.03464.均方誤差(MSE)63.537979.24965.均方根誤差(RMSE)7.97118.902

溫馨提示

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

最新文檔

評論

0/150

提交評論