




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
綜合案例2第十四章:實戰(zhàn)案例(二)1.簡介2.
計算回歸準確率3.
保存數(shù)據(jù)模型4.創(chuàng)建嶺回歸器準備工作
線性回歸的目標是提取輸入變量與輸出變量的關聯(lián)線性模型,這就要求實際輸出與線性方程預測的輸出的殘差平方和(sumofsquaresofdifferences)最小化。這種方法被稱為普通最小二乘法(OrdinaryLeastSquares,OLS)。詳細步驟
步驟一:創(chuàng)建一個Python文件regressor.pyimportsysimportnumpyasnpfilename=sys.argv[1]X=[]y=[]withopen(filename,'r')asf:forlineinf.readlines():xt,yt=[float(i)foriinline.split(',')]X.append(xt)y.append(yt)詳細步驟
步驟二:把數(shù)據(jù)分成訓練數(shù)據(jù)集與測試數(shù)據(jù)集:num_training=int(0.8*len(X))num_test=len(X)-num_training#訓練數(shù)據(jù)X_train=np.array(X[:num_training]).reshape((num_training,1))y_train=np.array(y[:num_training])#測試數(shù)據(jù)X_test=np.array(X[num_training:]).reshape((num_test,1))y_test=np.array(y[num_training:])詳細步驟
步驟三:創(chuàng)建一個回歸器對象fromsklearnimportlinear_model#創(chuàng)建線性回歸對象linear_regressor=linear_model.LinearRegression()#用訓練數(shù)據(jù)集訓練模型linear_regressor.fit(X_train,y_train)詳細步驟
步驟四:擬合importmatplotlib.pyplotasplty_train_pred=linear_regressor.predict(X_train)plt.figure()plt.scatter(X_train,y_train,color='green')plt.plot(X_train,y_train_pred,color='black',linewidth=4)plt.title('Trainingdata')plt.show()詳細步驟
步驟五:在命令行工具中執(zhí)行$pythonregressor.pydata_singlevar.txt詳細步驟
步驟六:在前面的代碼中,我們用訓練的模型預測了訓練數(shù)據(jù)的輸出結果,但這并不能說明模型對未知的數(shù)據(jù)也適用,因為我們只是在訓練數(shù)據(jù)上運行模型。這只能體現(xiàn)模型對訓練數(shù)據(jù)的擬合效果。從步驟五中可以看到,模型訓練的效果很好。詳細步驟
步驟七:用模型對測試數(shù)據(jù)集進行預測y_test_pred=linear_regressor.predict(X_test)plt.scatter(X_test,y_test,color='green')plt.plot(X_test,y_test_pred,color='black',linewidth=4)plt.title('Testdata')plt.show()第十四章:1.簡介2.
計算回歸準確率3.
保存數(shù)據(jù)模型4.創(chuàng)建嶺回歸器準備工作平均絕對誤差(meanabsoluteerror):這是給定數(shù)據(jù)集的所有數(shù)據(jù)點的絕對誤差平均值。均方誤差(meansquarederror):這是給定數(shù)據(jù)集的所有數(shù)據(jù)點的誤差的平方的平均值。中位數(shù)絕對誤差(medianabsoluteerror):這是給定數(shù)據(jù)集的所有數(shù)據(jù)點的誤差的中位數(shù)。解釋方差分(explainedvariancescore):這個分數(shù)用于衡量我們的模型對數(shù)據(jù)集波動的解釋能力。詳細步驟importsklearn.metricsassmprint"Meanabsoluteerror=",round(sm.mean_absolute_error(y_test,y_test_pred),2)print"Meansquarederror=",round(sm.mean_squared_error(y_test,y_test_pred),2)print"Medianabsoluteerror=",round(sm.median_absolute_error(y_test,y_test_pred)2)print"Explainedvariancescore=",round(sm.explained_variance_score(y_test,y_test_pred),2)print"R2score=",round(sm.r2_score(y_test,y_test_pred),2)
每個指標都描述得面面俱到是非常乏味的,因此只選擇一兩個指標來評估我們的模型。通常的做法是盡量保證均方誤差最低,而且解釋方差分最高。第十四章:1.簡介2.
計算回歸準確性3.
保存模型數(shù)據(jù)4.創(chuàng)建嶺回歸器詳細步驟
步驟一:在Python文件regressor.py中加入以下代碼:importcPickleaspickleoutput_model_file='saved_model.pkl'withopen(output_model_file,'w')asf:pickle.dump(linear_regressor,f)詳細步驟
步驟二:回歸模型會保存在saved_model.pkl文件中withopen(output_model_file,'r')asf:model_linregr=pickle.load(f)y_test_pred_new=model_linregr.predict(X_test)print"\nNewmeanabsoluteerror=",round(sm.mean_absolute_error(y_test,y_test_pred_new),2)
步驟三:把回歸模型從Pickle文件加載到model_linregr變量中第十四章:1.簡介2.
計算回歸準確率3.
保存模型數(shù)據(jù)4.創(chuàng)建嶺回歸器準備工作
普通最小二乘法在建模時會考慮每個數(shù)據(jù)點的影響,因此,最終模型就會像左圖顯示的直線那樣。顯然,我們發(fā)現(xiàn)這個模型不是最優(yōu)的。為了避免這個問題,我們引入正則化項的系數(shù)作為閾值來消除異常值的影響。這個方法被稱為嶺回歸。詳細步驟
步驟一:
你可以從data_multi_variable.txt文件中加載數(shù)據(jù)。這個文件的每一行都包含多個數(shù)值。除了最后一個數(shù)值外,前面的所有數(shù)值構成輸入特征向量。步驟二:把下面的代碼加入regressor.py文件中,用一些參數(shù)初始化嶺回歸器:ridge_regressor=linear_model.Ridge(alpha=0.01,fit_intercept=True,max_iter=10000)詳細步驟
步驟三:alpha參數(shù)控制回歸器的復雜程度。當alpha趨于0時,嶺回歸器就是用普通最小二乘法的線性回歸器。因此,如果你希望模型對異常值不那么敏感,就需要設置一個較大的alpha值。這里把alpha值設置為0.01。詳細步驟
步驟四:訓練嶺回歸器ridge_regressor.fit(X_train,y_train)y_test_pred_ridge=ridge_regressor.predict(X_test)print"Meanabsoluteerror=",round(sm.mean_absolute_error(y_test,y_test_pred_ridge),2)print"Meansquarederror=",round(sm.mean_squared_error(y_test,y_test_pred_ridge),2)print"Medianabsoluteerror=",round(sm.median_absolute_error(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版移動互聯(lián)網(wǎng)技術服務協(xié)議范本
- 2025版大數(shù)據(jù)股東合作協(xié)議書合同
- 二零二五年高品質打印室圖像定制輸出協(xié)議
- 2025版機械安全設施設計與施工監(jiān)理合同
- 二零二五年度大型工程項目建筑咨詢服務全面合作協(xié)議
- 2025年電力線路搶修項目現(xiàn)場安全警示標識制作與安裝服務合同
- 二零二五年度公司法務團隊外包服務合同
- 2025年版大數(shù)據(jù)分析與挖掘服務合同
- 2025版雞肉產(chǎn)品廢棄物處理與資源化利用合同
- 2025版第五章國際貨物買賣合同法國際貿易糾紛處理與調解
- 2025年高考英語全國一卷真題(含答案)
- 2025年內蒙古通遼市科左后旗部分事業(yè)單位引進急需緊缺人才39人筆試模擬試題及參考答案詳解1套
- 2025年母嬰市場消費洞察
- 浙政釘管理暫行辦法
- 中醫(yī)養(yǎng)生與科學減重健康指南
- 新興產(chǎn)業(yè)背景下高職院校技術成果轉化機制創(chuàng)新研究
- 傳感器網(wǎng)絡中多傳感器選擇與分布式估計的關鍵問題與優(yōu)化策略研究
- 特色文化旅游產(chǎn)業(yè)發(fā)展策略研究
- 2025至2030鋁合金汽車零部件行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 藥品專業(yè)知識與技能的培訓
- 政務大廳窗口培訓
評論
0/150
提交評論