程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python實現人工神經網絡回歸模型(MLPRegressor算法)並基於網格搜索(GridSearchCV)進行優化項目實戰

編輯:Python

說明:這是一個機器學習實戰項目(附帶數據+代碼+文檔+視頻講解),如需數據+代碼+文檔+視頻講解可以直接到文章最後獲取。

1.項目背景

經濟廣告是指以營利為目的的廣告,通常是商業廣告,它是為推銷商品或提供服務,以付費方式通過廣告媒體向消費者或用戶傳播商品或服務信息的手段。商品廣告就是這樣的經濟廣告。為促進產品的銷售,廠商經常會通過多個渠道投放廣告。本項目將根據某公司在電視、廣播和報紙上的廣告投放數據預測廣告收益,作為公司制定廣告策略的重要參考依據。

本項目通過通過人工神經網絡回歸模型來進行廣告投放數據的預測,並通過網格搜索算法進行模型的調優,使模型達到最優的效果。

2.數據獲取

本次建模數據來源於網絡(本項目撰寫人整理而成),數據項統計如下:

數據詳情如下(部分展示):

3.數據預處理

3.1 用Pandas工具查看數據

使用Pandas工具的head()方法查看前五行數據:

關鍵代碼:

 

3.2數據缺失查看

使用Pandas工具的info()方法查看數據信息:

從上圖可以看到,總共有5個變量,數據中無缺失值,共1000條數據。

關鍵代碼:

3.3數據描述性統計

通過Pandas工具的describe()方法來查看數據的平均值、標准差、最小值、分位數、最大值。

關鍵代碼如下:

 

4.探索性數據分析

4.1 收益的趨勢圖

用Matplotlib工具的plot()方法繪制折線圖:

4.2 收益分布直方圖

用Matplotlib工具的hist()方法繪制直方圖:

從上圖可以看出,收益主要分布在150~250之間。

4.3 電視廣告投放方式與收益的散點圖與擬合線

用seaborn工具的lmplot ()方法繪制散點圖與擬合線:

從上圖可以看出,電視廣告投入方式和收益呈現很好的線性關系。

4.4 相關性分析

從上圖中可以看到,數值越大相關性越強,正值是正相關、負值是負相關。

5.特征工程

5.1 建立特征數據和標簽數據

關鍵代碼如下:

 

5.2 數據集拆分

通過train_test_split()方法按照80%訓練集、20%測試集進行劃分,關鍵代碼如下:

6.構建人工神經網絡回歸模型

主要使用MLPRegressor算法和網格搜索優化算法,用於目標回歸。

6.1默認參數構建模型

 

6.2 通過網格搜索尋找的最優參數

關鍵代碼:

 最優參數:

6.3 最優參數值構建模型

 

7.模型評估

7.1評估指標及結果

評估指標主要包括可解釋方差值、平均絕對誤差、均方誤差、R方值等等。

 

從上表可以看出,R方為0.9412 較默認參數優有較大的提升;可解釋方差值為0.6777 較默認參數優有較大的提升,優化後的回歸模型效果良好。

關鍵代碼如下:

7.2 真實值與預測值對比圖

 

從上圖可以看出真實值和預測值波動基本一致,模型擬合效果良好。

8.結論與展望

綜上所述,本文采用了人工神經網絡回歸算法的來構建回歸模型,通過網格搜索算法找到最優的隱藏層數量和神經元數量,最終證明了我們提出的模型效果很好,可用於實際生產中進行預測,使企業發展得更好,利潤更多。

本次機器學習項目實戰所需的資料,項目資源如下:

項目說明:
鏈接:https://pan.baidu.com/s/1dW3S1a6KGdUHK90W-lmA4w 
提取碼:bcbp

網盤如果失效,可以添加博主微信:zy10178083


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved