說明:這是一個機器學(xué)習(xí)實戰(zhàn)項目(附帶數(shù)據(jù)+代碼+文檔+視頻講解),如需數(shù)據(jù)+代碼+文檔+視頻講解可以直接到文章最后獲取。
1.項目背景
灰狼優(yōu)化算法(GWO),由澳大利亞格里菲斯大學(xué)學(xué)者 Mirjalili 等人于2014年提出來的一種群智能優(yōu)化算法。靈感來自于灰狼群體捕食行為。優(yōu)點:較強的收斂性能,結(jié)構(gòu)簡單、需要調(diào)節(jié)的參數(shù)少,容易實現(xiàn),存在能夠自適應(yīng)調(diào)整的收斂因子以及信息反饋機制,能夠在局部尋優(yōu)與全局搜索之間實現(xiàn)平衡,因此在對問題的求解精度和收斂速度方面都有良好的性能。缺點:存在著易早熟收斂,面對復(fù)雜問題時收斂精度不高,收斂速度不夠快。
灰狼群體中有嚴(yán)格的等級制度,一小部分擁有絕對話語權(quán)的灰狼帶領(lǐng)一群灰狼向獵物前進(jìn)。灰狼群一般分為4個等級:αβδω(權(quán)利從大到?。┠M領(lǐng)導(dǎo)階層。集體狩獵是灰狼的一種社會行為,社會等級在集體狩獵過程中發(fā)揮著重要的作用,捕食的過程在α的帶領(lǐng)下完成。主要包括三個步驟:
- 跟蹤和接近獵物
- 騷擾、追捕和包圍獵物,直到它停止移動
- 攻擊獵物
本項目通過GWO灰狼優(yōu)化算法優(yōu)化XGBoost分類模型。
2.數(shù)據(jù)獲取
本次建模數(shù)據(jù)來源于網(wǎng)絡(luò)(本項目撰寫人整理而成),數(shù)據(jù)項統(tǒng)計如下:
數(shù)據(jù)詳情如下(部分展示):
?
3.數(shù)據(jù)預(yù)處理
3.1 用Pandas工具查看數(shù)據(jù)
使用Pandas工具的head()方法查看前五行數(shù)據(jù):
關(guān)鍵代碼:
3.2數(shù)據(jù)缺失查看
使用Pandas工具的info()方法查看數(shù)據(jù)信息:
從上圖可以看到,總共有10個變量,數(shù)據(jù)中無缺失值,共1000條數(shù)據(jù)。
關(guān)鍵代碼:
3.3數(shù)據(jù)描述性統(tǒng)計
通過Pandas工具的describe()方法來查看數(shù)據(jù)的平均值、標(biāo)準(zhǔn)差、最小值、分位數(shù)、最大值。
關(guān)鍵代碼如下: ?
4.探索性數(shù)據(jù)分析
4.1 y變量柱狀圖
用Matplotlib工具的plot()方法繪制直方圖:
4.2 y=1樣本x1變量分布直方圖
用Matplotlib工具的hist()方法繪制直方圖:
4.3 相關(guān)性分析
?
從上圖中可以看到,數(shù)值越大相關(guān)性越強,正值是正相關(guān)、負(fù)值是負(fù)相關(guān)。
5.特征工程
5.1 建立特征數(shù)據(jù)和標(biāo)簽數(shù)據(jù)
關(guān)鍵代碼如下:
5.2 數(shù)據(jù)集拆分
通過train_test_split()方法按照80%訓(xùn)練集、20%測試集進(jìn)行劃分,關(guān)鍵代碼如下:
6.構(gòu)建GWO灰狼優(yōu)化算法優(yōu)化XGBoost分類模型
主要使用GWO灰狼優(yōu)化算法優(yōu)化XGBClassifier算法,用于目標(biāo)分類。
6.1 GWO灰狼優(yōu)化算法尋找的最優(yōu)參數(shù)
關(guān)鍵代碼:
每次迭代的過程數(shù)據(jù):
最優(yōu)參數(shù):
----------------4. 最優(yōu)結(jié)果展示----------------- The best n_estimators is 100 The best learning_rate is 0.05 |
?6.2 最優(yōu)參數(shù)值構(gòu)建模型
7.模型評估
7.1評估指標(biāo)及結(jié)果
評估指標(biāo)主要包括準(zhǔn)確率、查準(zhǔn)率、查全率、F1分值等等。
從上表可以看出,F(xiàn)1分值為0.8691,說明模型效果比較好。
關(guān)鍵代碼如下:
7.2 查看是否過擬合
?
從上圖可以看出,訓(xùn)練集和測試集分值相當(dāng),無過擬合現(xiàn)象。
7.3 分類報告
從上圖可以看出,分類為0的F1分值為0.88;分類為1的F1分值為0.87。
7.4 混淆矩陣
?
從上圖可以看出,實際為0預(yù)測不為0的 有13個樣本;實際為1預(yù)測不為1的 有12個樣本,整體預(yù)測準(zhǔn)確率良好。 ?
8.結(jié)論與展望
綜上所述,本文采用了GWO灰狼優(yōu)化算法尋找XGBoost分類算法的最優(yōu)參數(shù)值來構(gòu)建分類模型,最終證明了我們提出的模型效果良好。此模型可用于日常產(chǎn)品的預(yù)測。
# 本次機器學(xué)習(xí)項目實戰(zhàn)所需的資料,項目資源如下:
# 項目說明:
# 鏈接:https://pan.baidu.com/s/1b75WXn1We2fezyp1-jnIEA
# 提取碼:t5ib
?更多項目實戰(zhàn),詳見機器學(xué)習(xí)項目實戰(zhàn)合集列表:文章來源:http://www.zghlxwxcb.cn/news/detail-412476.html
機器學(xué)習(xí)項目實戰(zhàn)合集列表_機器學(xué)習(xí)實戰(zhàn)項目_胖哥真不錯的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-412476.html
到了這里,關(guān)于Python實現(xiàn)GWO智能灰狼優(yōu)化算法優(yōu)化XGBoost分類模型(XGBClassifier算法)項目實戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!