版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第回歸預(yù)測分析python數(shù)據(jù)化運營線性回歸總結(jié)目錄內(nèi)容介紹一般應(yīng)用場景線性回歸的常用方法線性回歸實現(xiàn)線性回歸評估指標(biāo)線性回歸效果可視化數(shù)據(jù)預(yù)測
內(nèi)容介紹
以Python使用線性回歸簡單舉例應(yīng)用介紹回歸分析。
線性回歸是利用線性的方法,模擬因變量與一個或多個自變量之間的關(guān)系;
對于模型而言,自變量是輸入值,因變量是模型基于自變量的輸出值,適用于x和y滿足線性關(guān)系的數(shù)據(jù)類型的應(yīng)用場景。
用于預(yù)測輸入變量和輸出變量之間的關(guān)系,特別是當(dāng)輸入變量的值發(fā)生變化時,輸出變量的值也隨之發(fā)生變化。
回歸模型正是表示從輸入變量到輸出變量之間映射的函數(shù)。
線性回歸幾乎是最簡單的模型了,它假設(shè)因變量和自變量之間是線性關(guān)系的,一條直線簡單明了。
一般應(yīng)用場景
連續(xù)性數(shù)據(jù)的預(yù)測:例如房價預(yù)測、銷售額度預(yù)測、貸款額度預(yù)測。
簡單來說就是用歷史的連續(xù)數(shù)據(jù)去預(yù)測未來的某個數(shù)值。
線性回歸的常用方法
最小二乘法、貝葉斯嶺回歸、彈性網(wǎng)絡(luò)回歸、支持向量機回歸、支持向量機回歸等。
線性回歸實現(xiàn)
importnumpyasnp#numpy庫
fromsklearn.linear_modelimportBayesianRidge,LinearRegression,ElasticNet,Lasso#批量導(dǎo)入要實現(xiàn)的回歸算法
fromsklearn.svmimportSVR#SVM中的回歸算法
fromsklearn.ensemble.gradient_boostingimportGradientBoostingRegressor#集成算法
fromsklearn.model_selectionimportcross_val_score#交叉檢驗
fromsklearn.metricsimportexplained_variance_score,mean_absolute_error,mean_squared_error,r2_score#批量導(dǎo)入指標(biāo)算法
importpandasaspd#導(dǎo)入pandas
importmatplotlib.pyplotasplt#導(dǎo)入圖形展示庫
importrandom
#隨機生成100組包含5組特征的數(shù)據(jù)
feature=[[random.random(),random.random(),random.random(),random.random(),random.random()]foriinrange(100)]
dependent=[round(random.uniform(1,100),2)foriinrange(100)]
#訓(xùn)練回歸模型
n_folds=6#設(shè)置交叉檢驗的次數(shù)
model_br=BayesianRidge()#建立貝葉斯嶺回歸模型對象
model_lr=LinearRegression()#建立普通線性回歸模型對象
model_etc=ElasticNet()#建立彈性網(wǎng)絡(luò)回歸模型對象
model_svr=SVR()#建立支持向量機回歸模型對象
model_la=Lasso()#建立支持向量機回歸模型對象
model_gbr=GradientBoostingRegressor()#建立梯度增強回歸模型對象
model_names=['BayesianRidge','LinearRegression','ElasticNet','SVR','Lasso','GBR']#不同模型的名稱列表
model_dic=[model_br,model_lr,model_etc,model_svr,model_la,model_gbr]#不同回歸模型對象的集合
cv_score_list=[]#交叉檢驗結(jié)果列表
pre_y_list=[]#各個回歸模型預(yù)測的y值列表
formodelinmodel_dic:#讀出每個回歸模型對象
scores=cross_val_score(model,feature,dependent,cv=n_folds)#將每個回歸模型導(dǎo)入交叉檢驗?zāi)P椭凶鲇?xùn)練檢驗
cv_score_list.append(scores)#將交叉檢驗結(jié)果存入結(jié)果列表
pre_y_list.append(model.fit(feature,dependent).predict(feature))#將回歸訓(xùn)練中得到的預(yù)測y存入列表
線性回歸評估指標(biāo)
model_gbr:擬合貝葉斯嶺模型,以及正則化參數(shù)lambda(權(quán)重的精度)和alpha(噪聲的精度)的優(yōu)化。
model_lr:線性回歸擬合系數(shù)w=(w1,…)的線性模型,wp)將觀測到的目標(biāo)與線性近似預(yù)測的目標(biāo)之間的殘差平方和降到最小。
model_etc:以L1和L2先驗組合為正則元的線性回歸。
model_svr:線性支持向量回歸。
model_la:用L1先驗作為正則化器(又稱Lasso)訓(xùn)練的線性模型
#模型效果指標(biāo)評估
model_metrics_name=[explained_variance_score,mean_absolute_error,mean_squared_error,r2_score]#回歸評估指標(biāo)對象集
model_metrics_list=[]#回歸評估指標(biāo)列表
foriinrange(6):#循環(huán)每個模型索引
tmp_list=[]#每個內(nèi)循環(huán)的臨時結(jié)果列表
forminmodel_metrics_name:#循環(huán)每個指標(biāo)對象
tmp_score=m(dependent,pre_y_list[i])#計算每個回歸指標(biāo)結(jié)果
tmp_list.append(tmp_score)#將結(jié)果存入每個內(nèi)循環(huán)的臨時結(jié)果列表
model_metrics_list.append(tmp_list)#將結(jié)果存入回歸評估指標(biāo)列表
df1=pd.DataFrame(cv_score_list,index=model_names)#建立交叉檢驗的數(shù)據(jù)框
df2=pd.DataFrame(model_metrics_list,index=model_names,columns=['ev','mae','mse','r2'])#建立回歸指標(biāo)的數(shù)據(jù)框
線性回歸效果可視化
#模型效果可視化
plt.figure()#創(chuàng)建畫布
plt.plot(np.arange(len(feature)),dependent,color='k',label='truey')#畫出原始值的曲線
color_list=['r','b','g','y','p','c']#顏色列表
linestyle_list=['-','.','o','v',':','*']#樣式列表
fori,pre_yinenumerate(pre_y_list):#讀出通過回歸模型預(yù)測得到的索引及結(jié)果
plt.plot(np.arange(len(feature)),pre_y_list[i],color_list[i],label=model_names[i])#畫出每條預(yù)測結(jié)果線
plt.title('regressionresultcomparison')#標(biāo)題
plt.legend(loc='upperright')#圖例位置
plt.ylabel('realandpredictedvalue')#y軸標(biāo)題
plt.show()#展示圖像
數(shù)據(jù)預(yù)測
#模型應(yīng)用
new_point_set=[[random.random(),random.random(),random.random(),random.random(),random.random()],
[random.random(),random.random(),random.random(),random.random(),random.random()],
[random.random(),random.random(),random.random(),random.random(),random.random()],
[random.random(),random.random(),random.random(),random.random(),random.random()]]#要預(yù)測的新數(shù)據(jù)集
print("貝葉斯嶺回歸模型預(yù)測結(jié)果:")
fori,new_pointinenumerate(new_point_set):#循環(huán)讀出每個要預(yù)測的數(shù)據(jù)點
new_pre_y=model_gbr.predict(np.array(new_point).reshape(1,-1))
print('預(yù)測隨機數(shù)值%d是:%.2f'%(i+1,new_pre_y))#打印輸出每個數(shù)據(jù)點的預(yù)測信息
print(50*'-')
print("普通線性回歸模型預(yù)測結(jié)果:")
fori,new_pointinenumerate(new_point_set):#循環(huán)讀出每個要預(yù)測的數(shù)據(jù)點
new_pre_y=model_lr.predict(np.array(new_point).reshape(1,-1))
print('預(yù)測隨機數(shù)值%d是:%.2f'%(i+1,new_pre_y))#打印輸出每個數(shù)據(jù)點的預(yù)測信息
print(50*'-')
print("彈性網(wǎng)絡(luò)回歸模型預(yù)測結(jié)果:")
fori,new_pointinenumerate(new_point_set):#循環(huán)讀出每個要預(yù)測的數(shù)據(jù)點
new_pre_y=model_etc.predict(np.array(new_point).reshape(1,-1))
print('預(yù)測隨機數(shù)值%d是:%.2f'%(i+1,new_pre_y))#打印輸出每個數(shù)據(jù)點的預(yù)測信息
print(50*'-')
print("支持向量機回歸模型預(yù)測結(jié)果:")
fori,new_pointinenumerate(new_point_set):#循環(huán)讀出每個要預(yù)測的數(shù)據(jù)點
new_pre_y=model_svr.predict(np.array(new_point).reshape(1,-1))
print('預(yù)測隨機數(shù)值%d是:%.2f'%(i+1,new_pre_y))#打印輸出每個數(shù)據(jù)點的預(yù)測信息
print(50*'-')
print("拉索回歸模型預(yù)測結(jié)果:")
fori,new_pointi
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稀土磁性材料成型工安全知識能力考核試卷含答案
- 高處作業(yè)吊籃安裝拆卸工崗前工作技巧考核試卷含答案
- 中國墻面支架行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 2026年連續(xù)變量量子密鑰分發(fā)項目可行性研究報告
- 2025年寧夏中考道法真題卷含答案解析
- 2025年西藏中考道法真題卷含答案解析
- 2025年康復(fù)考核試題庫及答案
- 2026初中數(shù)學(xué)教師個人工作總結(jié)
- 現(xiàn)場施工企業(yè)三級安全教育試題答卷及參考答案
- 2025年基本公共衛(wèi)生服務(wù)專項培訓(xùn)考試試題(附答案)
- 畢業(yè)設(shè)計(論文)-自動展開曬衣架設(shè)計
- T/CCMA 0164-2023工程機械電氣線路布局規(guī)范
- GB/T 43590.507-2025激光顯示器件第5-7部分:激光掃描顯示在散斑影響下的圖像質(zhì)量測試方法
- 2025四川眉山市國有資本投資運營集團有限公司招聘50人筆試參考題庫附帶答案詳解
- 2024年山東濟南中考滿分作文《為了這份繁華》
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院單招職業(yè)傾向性測試題庫新版
- 《煤礦安全生產(chǎn)責(zé)任制》培訓(xùn)課件2025
- 項目進度跟進及完成情況匯報總結(jié)報告
- 2025年常州機電職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 民間融資居間合同
- 2024-2025學(xué)年冀教版九年級數(shù)學(xué)上冊期末綜合試卷(含答案)
評論
0/150
提交評論