版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)算法python線性回歸實(shí)驗(yàn)【實(shí)驗(yàn)名稱】Python線性回歸實(shí)驗(yàn)【實(shí)驗(yàn)要求】掌握Python線性回歸模型應(yīng)用過程,根據(jù)模型要求進(jìn)行數(shù)據(jù)預(yù)處理,建模,評價(jià)與應(yīng)用;【背景描述】線性回歸是利用數(shù)理統(tǒng)計(jì)中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關(guān)系的一種統(tǒng)計(jì)分析方法,運(yùn)用十分廣泛。其表達(dá)形式為y二w'x+e,e為誤差服從均值為0的正態(tài)分布?!局R準(zhǔn)備】了解線性回歸模型的使用場景,數(shù)據(jù)標(biāo)準(zhǔn)。了解Python/Spark數(shù)據(jù)處理一般方法。了解spark模型調(diào)用,訓(xùn)練以及應(yīng)用方法【實(shí)驗(yàn)設(shè)備】Windows或Linux操作系統(tǒng)的計(jì)算機(jī)。部署Python,本實(shí)驗(yàn)提供centos6.8環(huán)境?!緦?shí)驗(yàn)說明】采用成績數(shù)據(jù)集作為算法數(shù)據(jù),對模型進(jìn)行訓(xùn)練和回歸。【實(shí)驗(yàn)環(huán)境】Pyrhon3.X,實(shí)驗(yàn)在命令行python中進(jìn)行,或者把代碼寫在py腳本,由于本次為實(shí)驗(yàn),以學(xué)習(xí)模型為主,所以在命令行中逐步執(zhí)行代碼,以便更加清晰地了解整個(gè)建模流程。【實(shí)驗(yàn)步驟】第一步:啟動(dòng)python:
命令行鍵入python,啟動(dòng)python終端第二步:導(dǎo)入用到的包,并讀取數(shù)據(jù):(1).導(dǎo)入包:importnumpyasnpimportpandasaspdimportstatsmodels.formula.apiassmfimportscipy⑵?讀取數(shù)據(jù)并隨機(jī)打SL文件路徑為:/opt/algorithm/scoreset/scoregather.txtdf=pd.read_csv("/opt/algorithm/scoreset/scoregather.txt",index_col=0,header=0).sample(frac=1)⑶?展示數(shù)據(jù)df.head()?>>?AR?>inpDirtnumpyasnpinportpandsssspdimportstatsmodels.formula?^pi恥smfijipo『?>>?AR?>inpDirtnumpyasnpinportpandsssspdimportstatsmodels.formula?^pi恥smfijipo『tscipy#址取藪拾并踱機(jī)燈亂d1-pd.read_csv('7opt/algdnthm/scoresat/scoragathe「?t:<thrindex_col-&rheader-O)津展示救指df.head()己修弭1己施別2己惟利3己檜科A己毬斜5己磁亂5己性利7己檜科戰(zhàn)己儲(chǔ)科9?£白1|卩1口1彳口£-1]己儲(chǔ)耳址...己儲(chǔ)別17 \56375494策鬼汩77835;S486a5s6ae58別弱0699913S8S]關(guān)盟75関65罰77956753旳88-音1610學(xué)謳S162481C967669gs0976 3488 9490 9587 S76D 88已檢料罰94728D8585B95?2OJ7-joQ-9w-67cg0B&7&982購sgffi強(qiáng)已ttr^23已怯科“已怯利巧冃標(biāo)學(xué)拜07 9088 7586 7092 9506 97第三步:數(shù)據(jù)預(yù)處理說明,數(shù)據(jù)集包含25門已修學(xué)科,以及一門目標(biāo)學(xué)科⑴?劃分訓(xùn)練A測試集PP=0.8df_train=df.iloc[:int(np.ceil(len(df)*PP))]df_test=df.iloc[int(np.ceil(len(df)*PP)):](2).數(shù)據(jù)標(biāo)準(zhǔn)化,獲取每列均值,標(biāo)準(zhǔn)差avg_col=df_train.mean()td_col=df_train.std()(3).標(biāo)準(zhǔn)化結(jié)果df_train_norm=(df_train-avg_col)/td_coldf_train_norm.head()>?#說明」數(shù)據(jù)倉包管25門三樓學(xué)科「以及一門目標(biāo)學(xué)科...#劃分訓(xùn)綜隼「測試隼...PP=0.8?>dftrain=df.iloc[:int(np.ceil(len(df)*PP)】]?>df_test=df,.iloc[int(np.ceil(len(df)*PPJ):]AAAfl晝培標(biāo)準(zhǔn)化「扶取毎列力值「標(biāo)湊差...avg_col=df_train.mean()?>td_col=df_train.std()>?#祐準(zhǔn)化結(jié)東...df_t^ain_norm=(df_train-a^g_col)/td_colaaat「minnanr.hedij〔、 —三桂科1 三烤科2三修科4 三催科5M癮科6三樓科7 \學(xué)號1Q60.5517751.148897 0.8613750.026243-0.402354-0.2643591.09617251G.698563■G.122947G.1S-1S99-G.51S745G.527762G.5S1132G.2S2222629.273194■0.972510-0.018117-0.140890-1.7975270.1484120.67&252480.2781940.5S31830.7147930.7269431.2253490.561182-1.4053491G-30.5517761.007470-0.0181171.4276430.0627041.3867231.304632三修牡8 三■愜科9三慨科19 \學(xué)尋1G61.,0078130.5D64490.9707931.2996131.091047-0.617823510.0596590.458437-0.632933-1.052337-0.5327520.97984062■1.,267752■1.5&1164-1.234326-2.3L2311-1.1310811.246117486.4339190.368608 1.371724? ■m6.9030201.2534270.84G7Q11G20.8161930.919972 1.171258?B亠0.7116250.522717-0.085269三惱科21三修科22E.W23 三螫科碧H^Sl-25目標(biāo)芋科學(xué)號106-0.0594721.376713-0.784379-0.5L&38S1.3872310.3317786.506330511.222414■0.955129 1.9439171.32262B0.9566990.5Q0510-1.592913521.4727G301G71S40,338995-1.502725-1,2749320.163045-2,292662400.3583940.422781-0.1424500.1599911.1020961.17544D1.2060851G-30.4976830.422781 1.1414070.9975891.2921850.1630451.485935第四步:特征提取及線性回歸模型訓(xùn)練基于F檢驗(yàn)的特征選擇(1).由于建模需要標(biāo)準(zhǔn)化字符串,故需重命名表頭list_columns_to_train=df_train_norm.columnschange_columns=['A'+str(zr+1)forzrinnp.arange(len(list_columns_to_train))]df_train_norm.columns=change_columnsco=dict(zip(change_columns,list_columns_to_train))defR_transform(data=[],k=0):r_L=data[k][k]shape=np.mat(data).shapeR_t=np.zeros(shape)foriinnp.arange(shape[0]):forjinnp.arange(shape[1]):if(i==k)&(j!=k):R_t[i][j]=data[k][j]/r_Lelif(i!=k)&(j==k):R_t[i][j]=-1*data[i][k]/r_Lelif(i==k)&(j==k):R_t[i][j]=1.0/r_Lelif(i!=k)&(j!=k):R_t[i][j]=data[i][j]-data[i][k]*data[k][j]/r_LreturnR_tdefforward_step(data,response="",F_in=0.01,F_out=0.5):remaining=list(data.columns)last_drop=""Vld="mark"n=len(data)#因變量選擇列selected=[]l=len(selected)#計(jì)算相關(guān)系數(shù)矩陣corr_R=data.corr()mark=1while(mark):#首次變量選擇ifl!=(len(data.columns)-1):r_taget=pd.Series(np.diagonal(np.mat(corr_R)))r_taget.index=remainingVi=corr_R[response]**2/r_tagetVc=Vi.drop(selected+[response],axis=0).sort_values()[-1]Vl=Vi.drop(selected+[response],axis=0).sort_values().index[-1]ifVld==last_drop:mark=0elifVld!=last_drop:Fi=Vc*(n-l-2)/(r_taget[response]-Vc)F_test=scipy.stats.f.isf(F_in,1,(n-l-2))ifFi>F_test:selected.append(Vl)l=len(selected)#協(xié)方差矩陣轉(zhuǎn)換corr_R=pd.DataFrame(R_transform(np.array(corr_R),remaining.index(Vl)))corr_R.index=data.columnscorr_R.columns=data.columnsifl>=2:#考慮剔除變量foriinnp.arange(len(selected)):rd_taget=pd.Series(np.diagonal(np.mat(corr_R)))rd_taget.index=remainingVid=corr_R[response]**2/rd_tagetVcd=Vid[selected].sort_values(ascending=False)[-1]Vld=Vid[selected].sort_values(ascending=False).index[-1]Fd=Vcd*(n-(l-1)-2)/rd_taget[response]F_test_out=scipy.stats.f.isf(F_out,1,(n-(l-1)-2))if(Fd<F_test_out):selected.remove(Vld)last_drop=Vldcorr_R=pd.DataFrame(R_transform(np.array(corr_R),remaining.index(Vld)))corr_R.index=data.columnscorr_R.columns=data.columnsl=len(selected)else:mark=0else:mark=0returnselectedselect_list=forward_step(df_train_norm,response=change_columns[-1])select_list=change_columns[:2]#線性回歸模型訓(xùn)練formula="{}~{}+1".format(change_columns[-1],'+'.join(select_list))model=smf.ols(formula,df_train_norm).fit()print(model.summary())
OLSRegressionResults,Variatile:A26R-squared:0.1.96Model:OLSAdj.R-squared:0.1.77Method;LeastSquaresF-statistic;1&.46Ddtv Thud13^?r2019Prab{F-statistic);8.57e-05Time:15:34:12Log-Likelihood:-116.09No.Observations:89AIC:238.2DfRasiduals:86旳匚:245.6DfModel:2CavarianceType:nonrobustcaefstderr1 P>|t|[95.9%Conf.Dkt.]litereept-9.489e-150.096-9.37e-15 1.000-0.1910.1.91Al Q.G11&B.&9S&,118 0.9G6-9.1830.206A2 Q.44D&G.&984.5G8 0.BG0G.246Q.&25Omnibus:7.052Durbin-Watson:2.192Prob(Cmnibjs):0.029Jarque-Eera(JE):7.155Skew:■fl.094Prob(JB):0.0279Kjrtosis:2-906Cond.No.1.16 第五步:模型預(yù)測展示與結(jié)果對比#模型預(yù)測展示#利用訓(xùn)練集的統(tǒng)計(jì)信息標(biāo)準(zhǔn)化測試數(shù)據(jù)df_test_norm=(df_test-avg_col)/td_coldf_test_norm.columns=change_columnsdf_test_norm.head
?>#模里預(yù)測昵示#利用譏僚案的統(tǒng)計(jì)涪息折準(zhǔn)化測富髯雄l(lBBdf_te5t_nann={df_test-avg_GDl>/td_coldf_te5t_nann■匚oluinns=chang巳—匸Dlumnsdftestnarm?11皂呂日<boundnethodNDFrame.head口f AlA2A3MA5A6A7\孚號15-0.952928-0.540229-0.010117-D.516745-0.4023540.1404120.05907299-0.2699(72-1.396792-2.216&46-D.518745-2.0900560.561132-0.960420e9.263972-3?235344-2.656592D?9605100.0527042.212264-1.196068&60.551776Qb15S9D70.275G47D.259610-0.159625-Q.6771291.096172&Q0.27B1940.4417611.5942641.7290661.4570780.9729520.867712@6o.saassa1?GC747D0.861275D.101955-0.169025G.146412-0.779966300.6995680.156907-0.010117-0.6301600.295233-1.5G267D-0.369046650B141402G.300334-0.010117-O.44069Q-0.4023540.140412-0.36904613-0.91S137Qb2CO33*-1.337354-D.051612-0.159025-3.153751Q.05307229-0.132180?0?eaiQB20?714792D?026243-2.03DO56G.1484120.57150B69-1.5099931.4317510.457063-0.5107450.295222-1.069999-0.363046609.263972Qb15S9D70.1204651.2719220.295222G.1464120.867712220.4L4995-0?9725100.560211D?6047990.2952330.9739S30.4707&221-1.953902Q.G174BD0.120465D.5712321.4576780.5611320.05907294-2.320841-0.97251D-0.010117-D.6744570.5277620.5611320.8677121010.8252591.5721780.714752-0.12946S1.4578780.9720621.09617270.5517761B14^37Q?56S2111.1162211.457878-G.6771250.67925222-4.272711-Qn4G^02-0.751G26-1.998001-2.020056-G.264955fl.57150852-B.1221801?GG747D1.5942S41?1940771.457878G.5611821.096172550.551776G.2GG224-G?S576GSD?1S19550.295233G.5611820.679252740.U1402-1.538SL9S.01B117-1.608722G.527762-G.2642591.096172269.551776G"2G62241.4477G2-D?4408&QG.295223G.9720620.47Q7G2#模型預(yù)測展示#利用訓(xùn)練集的統(tǒng)計(jì)信息標(biāo)準(zhǔn)化測試數(shù)據(jù)df_test_norm=(df_test-avg_col)/td_coldf_test_norm.columns=change_columns#預(yù)測結(jié)果還原百分制predict=model.predict(df_test_norm)predict_df=predict*td_col[-1]+avg_col[-1]#被選擇特征反編碼select_list_old=[co[z]forzinselect_list]print(predict_df)[84.57745256M.61047822M.765367991.40266519[84.57745256M.61047822M.765367991.4026651981.5512361481.9526126285.9291455886.360655890.0444017987.37306915]75.1747252287.2291735283.3547716434.7402111786.9278470487.2&Q0827586.3244453739.5426869S87.7955941782.75479959S3.12880&84S7.37306915print(select_list_old[0]);print(select_list_old[1])>?print(selectlistnldt^]):print(select_LLst_Ql(l[1]]三儲(chǔ)科1三儲(chǔ)瞬2#結(jié)果對比F=pd.DataFrame(df_test["目標(biāo)學(xué)科"]).join(pd.DataFrame(predict_df))#回歸殘差,以及結(jié)果相關(guān)系數(shù)corr=F.corr()["目標(biāo)學(xué)科"][0]stds=abs(F["目標(biāo)學(xué)科"]-F[0]).sum()/len(F)#輸出程序運(yùn)行摘要print("程序選擇特征%s,預(yù)測結(jié)果相關(guān)系數(shù)is%s,回歸殘差is%s分"%(",".join(select_list_old),corr,stds))#律麋對比…?F=pdtDataFrane<df_tk11["s,B}}\oin(pd.DstaFrane(predict_dt))A* 歸炭差”以圧里無柜黃譽(yù)融...csrr-F.corrC)[-冃標(biāo)學(xué)科■][$]arstds=afcsCF嚴(yán)目塀孚制■"】-F[0D.surf)/len(Fl...print("程宇拙擇斡征弼”預(yù)U1埜果相關(guān)至迪is%5.回歸聶擔(dān)15粘另'*富t"□"rjoii(3elect_list_olikuurr.stds)}程底選擇峙證三齒科1,2焙科宀茨測注果相關(guān)系數(shù)LS&.4547512S3141.叵一曰荒歪is1.0918677240&359§7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肇慶學(xué)院《管理會(huì)計(jì)模擬實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)員工績效質(zhì)量個(gè)人貢獻(xiàn)度評價(jià)體系
- 保險(xiǎn)行業(yè)投資分析模板
- 20XX年度績效總結(jié)模板
- 房地產(chǎn)經(jīng)紀(jì)操作實(shí)務(wù)-2019年房地產(chǎn)經(jīng)紀(jì)人協(xié)理《房地產(chǎn)經(jīng)紀(jì)操作實(shí)務(wù)》真題匯編
- 人資行政崗位述職報(bào)告模板
- 有關(guān)保護(hù)環(huán)境的調(diào)查報(bào)告
- 二零二五版帶利息支付的商業(yè)匯票貼現(xiàn)合同樣本3篇
- 陜西省西安市部分學(xué)校2024-2025學(xué)年高一上學(xué)期第四次階段性檢測化學(xué)試卷(含答案)
- 二零二五年度高速公路鋼筋材料供應(yīng)協(xié)議3篇
- 宮頸癌篩查及預(yù)防講課課件
- 《跟單信用證統(tǒng)一慣例》UCP600中英文對照版
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- SMA分子檢測進(jìn)展
- 醫(yī)師定期考核機(jī)構(gòu)信息登記表
- 風(fēng)力發(fā)電風(fēng)機(jī)拆除方案
- 杭州出租車區(qū)域考試復(fù)習(xí)備考題庫(含答案)
- 普通高中地理課程標(biāo)準(zhǔn)簡介課件
- 根號2有多大?數(shù)學(xué)課件
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- GB/T 13634-2000試驗(yàn)機(jī)檢驗(yàn)用測力儀的校準(zhǔn)
評論
0/150
提交評論