用模擬退火算法進行特征選擇


曾經的我只知道,這台電腦缺一個好的顯卡;現在的我還知道,原來這台電腦還缺一個好的CPU。
——作者

模擬退火算法介紹

源碼

一、算法

1.生成初始隨機解x

一個解x大概長這樣:[0,1,1,0,0,1,0,1,1,0,1]
1表示選擇這個特征,0表示不選擇這個特征
解的長度為特征的個數
初始化時0和1隨機選,生成一個隨機解

2.解對應的能量

E = 適應度 = 交叉驗證cross_val_score(解,y)的結果

3.生成新解

隨機選擇一個點取反
0變成1,1變成0

二、效果

沒有進行特征選擇時,交叉驗證的得分是0.6257839721254356

用模擬退火算法進行特征選擇:

三、逼逼幾句

這個空間復雜度沒有遺傳算法那么高,因為一次只有一個解,不像遺傳算法一次一個種群,好幾個染色體
但是時間復雜度也是好好好好高,運行的時候風扇呼呼轉,電量嘩嘩掉
更多:用遺傳算法進行特征選擇


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM