机器学习实验——回归预测算法
一、目的和要求
1、理解監督學習和回歸預測的基本概念。
2、掌握回歸預測五種算法的算法流程。
3、學會編寫回歸預測五種算法的Python編程方法。
4、會使用回歸預測評價方法測評不同的算法性能
二、設備或環境
個人電腦、Anaconda2、Python2.7.10和網絡
三、實驗步驟??
1、設計算法步驟和流程
2、根據算法編寫Python程序
3、運行機器學習算法程序并調試
四、內容
針對美國波士頓地區房價數據預測問題,設計不同的回歸模型進行預測。
(一):線性回歸器
1、寫出本例中所用數據的數據描述
該數據共有506條美國波士頓地區房價的數據,每條數據包括對指定房屋的13項數值型特征描述和目標房價。
2、運行Chapter_2.1.2 粘貼線性回歸器相關的實驗結果,并分別對每一個結果做出解釋
數據描述
數據分割:
?
數據標準化處理:
?使用線性回歸模型進行房價預測:
?使用回歸評價機制對模型的回歸性能做出評價:
3、在代碼中添加查看數據規模和特征維度的語句,粘貼結果。
數據規模506 特征維度13
?
4、在代碼中添加語句用于查看原始數據,粘貼結果。
?
5 、對訓練集和測試集的目標值標準化之后,添加代碼查看標準化之后的y_train和y_test,對比數據標準化之后數據有什么變化?
標準化之前:
?標準化之后:
?數據標準化后將原來的數據進行重新調整,使他們具有標準正態分布的屬性
(二):支持向量機
1運行Chapter_2.1.2 粘貼支持向量機相關的實驗結果、并分別對每一個結果做出解釋
?
2 說明支持向量機中核函數的作用
答:可以通過配置不同的核函數來改變模型性能,通過某種函數計算,將原有的特征映射到更高維度的空間,從而盡可能達到新的高維度特征線性可分的程度。
3說明本例中使用的三種核函數(linear’, ‘poly’, ‘rbf’),分析這三種核函數對結果的準確率的影響。
答:liner是最準確的
????linear:線性核函數,是在數據線性可分的情況下使用的,運算速度快,效果好。不足在于它不能處理線性不可分的數據。
poly:多項式核函數,多項式核函數可以將數據從低維空間映射到高維空間,但參數比較多,計算量大。
rbf:高斯核函數(默認),高斯核函數同樣可以將樣本映射到高維空間,但相比于多項式核函數來說所需的參數比較少,通常性能不錯,所以是默認使用的核函數。
(三):K近鄰回歸
1運行Chapter_2.1.2 粘貼K近鄰回歸相關的實驗結果、并分別對每一個結果做出解釋
?
2 說明KNeighborsRegressor函數的作用和各參數的含義
作用:用于實現k近鄰算法的分類器
n_neighbors:默認情況下kneighbors查詢使用的鄰居數。就是k的值,選取最近的k個點。
Weights:默認是uniform,參數可以是uniform、distance,也可以是用戶自己定義的函數。uniform是均等的權重,就說所有的鄰近點的權重都是相等的。distance是不均等的權重,距離近的點比距離遠的點的影響大。用戶自定義的函數,接收距離的數組,返回一組維數相同的權重。
3在程序中修改KNeighborsRegressor函數的兩個參數,觀察和記錄模型的R_squred、MSE、MAE的變化,找到最優的參數并記錄。
(四):回歸樹與集成模型
1運行Chapter_2.1.2 粘貼回歸樹和三種集成模型相關的實驗結果、并分別對每一個結果做出解釋
回歸樹:
集成回歸:
?
?
2 通過分析Chapter_2.1.2所有算法的性能指標,說明不同算法對波士頓房價預測的性能差異。
答:使用非線性回歸樹模型,特別是集成模型,能夠取得更高的性能表現
五、實驗結果與分析
六、調試和運行程序過程中產生的問題及采取的措施??
七、思考題
1、簡述sklearn庫中計算R_squared的兩種函數方法及其使用。
答:使用LinearRegression模型自帶的評估模塊,使用SGDRegressor模型自帶的評估模塊
2、簡述sklearn庫中class sklearn.svm.SVR()的含義,并說明其核函數的種類和使用方法。
答:SVR非線性回歸,linear:線性核函數,是在數據線性可分的情況下使用的,運算速度快,效果好。不足在于它不能處理線性不可分的數據。
poly:多項式核函數,多項式核函數可以將數據從低維空間映射到高維空間,但參數比較多,計算量大。
rbf:高斯核函數(默認),高斯核函數同樣可以將樣本映射到高維空間,但相比于多項式核函數來說所需的參數比較少,通常性能不錯,所以是默認使用的核函數。
使用kernel調用和函數,kernel:?str參數?默認為‘rbf’
算法中采用的核函數類型,可選參數有:
‘linear’:線性核函數
‘poly’:多項式核函數
‘rbf’:徑像核函數/高斯核
‘sigmod’:sigmod核函數
‘precomputed’:核矩陣
precomputed表示自己提前計算好核函數矩陣,這時候算法內部就不再用核函數去計算核矩陣,而是直接用你給的核矩陣。
總結
以上是生活随笔為你收集整理的机器学习实验——回归预测算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cgi备份还原(cgi备份还原失败)
- 下一篇: java 简单类继承