說明:這是一個機器學習實戰項目(附帶數據+代碼+文檔+視頻講解),如需數據+代碼+文檔+視頻講解可以直接到文章最后獲取。
1.項目背景
人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一種新穎的基于群智能的全局優化算法,其直觀背景來源于蜂群的采蜜行為,蜜蜂根據各自的分工進行不同的活動,并實現蜂群信息的共享和交流,從而找到問題的最優解。人工蜂群算法屬于群智能算法的一種。?
本項目通過ABC人工蜂群優化算法優化隨機森林回歸模型。???
2.數據獲取
本次建模數據來源于網絡(本項目撰寫人整理而成),數據項統計如下:
編號 | 變量名稱 | 描述 |
1 | x1 | |
2 | x2 | |
3 | x3 | |
4 | x4 | |
5 | x5 | |
6 | x6 | |
7 | x7 | |
8 | x8 | |
9 | x9 | |
10 | x10 | |
11 | y | 因變量 |
數據詳情如下(部分展示):
3.數據預處理
3.1?用Pandas工具查看數據
使用Pandas工具的head()方法查看前五行數據:
關鍵代碼:
3.2數據缺失查看
使用Pandas工具的info()方法查看數據信息:
從上圖可以看到,總共有11個變量,數據中無缺失值,共2000條數據。
關鍵代碼:??
3.3數據描述性統計
通過Pandas工具的describe()方法來查看數據的平均值、標準差、最小值、分位數、最大值。
關鍵代碼如下: ?
4.探索性數據分析
4.1 y變量分布直方圖
用Matplotlib工具的hist()方法繪制直方圖:
4.2 相關性分析
從上圖中可以看到,數值越大相關性越強,正值是正相關、負值是負相關。
5.特征工程
5.1 建立特征數據和標簽數據
關鍵代碼如下:
5.2 數據集拆分
通過train_test_split()方法按照80%訓練集、20%測試集進行劃分,關鍵代碼如下:
6.構建ABC人工蜂群優化算法優化隨機森林回歸模型?
主要使用ABC人工蜂群優化算法優化隨機森林回歸算法,用于目標回歸。?
6.1?ABC人工蜂群優化算法尋找最優參數值?
最優參數:
6.2?最優參數值構建模型??
編號 | 模型名稱 | 參數 |
1 | 隨機森林回歸模型? | max_depth=max_depth |
2 | n_estimators=n_estimators |
7.模型評估
7.1評估指標及結果?
評估指標主要包括R方、均方誤差、解釋性方差、絕對誤差等等。
模型名稱 | 指標名稱 | 指標值 |
測試集 | ||
隨機森林回歸模型? | R方 | 0.8485 |
均方誤差 | 6774.9446 | |
解釋方差分 | 0.8487 | |
絕對誤差 | 64.7433 |
從上表可以看出,R方分值為0.8455,說明模型效果比較好。
關鍵代碼如下: ?
7.2 真實值與預測值對比圖
從上圖可以看出真實值和預測值波動基本一致,模型效果良好。???
8.結論與展望
綜上所述,本文采用了ABC人工蜂群優化算法尋找隨機森林回歸算法的最優參數值來構建回歸模型,最終證明了我們提出的模型效果良好。此模型可用于日常產品的預測。??
# 本次機器學習項目實戰所需的資料,項目資源如下:# 項目說明:# 獲取方式一:# 項目實戰合集導航:https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2# 獲取方式二:鏈接:https://pan.baidu.com/s/14UQ4yVpQvxn_fuaodiYwtQ
提取碼:6nay