機器學習書籍庫圖書庫功能工程和可解釋模型的選擇:數據科學家的第二課程
MetaheuristicsFS模塊有助於識別最佳結果的功能組合。搜索最佳組合的過程稱為“特徵選擇”。該庫使用基於元催化的算法,例如遺傳算法,模擬退火,螞蟻菌落優化和粒子群優化,以執行特徵選擇。
機器學習參數:這些對於所有算法都是常見的
columns_list :x_train_dataframe和x_test中存在的列名,將用作搜索最佳功能列表的輸入列表。
data_dict :X和Y訓練和測試數據以字典格式提供。以下是與密鑰的5倍交叉驗證數據的示例。 {0:{'x_train':x_train_dataframe,'y_train':y_train_array,'x_test':x_test_dataframe,'y_test':y_test_array}, 1:{'x_train':x_train_dataframe,'y_train':y_train_array,'x_test':x_test_dataframe,'y_test':y_test_array},y_test_array}, 2:{'x_train':x_train_dataframe,'y_train':y_train_array,'x_test':x_test_dataframe,'y_test':y_test_array}, 3:{'x_train':x_train_dataframe,'y_train':y_train_array,'x_test':x_test_dataframe,'y_test':y_test_array}, 4:{'x_train':x_train_dataframe,'y_train':y_train_array,'x_test':x_test_dataframe,'y_test':y_test_array}}}}}
如果您只有火車和測試數據並且不希望進行交叉驗證,請使用上述字典格式,只有一個密鑰。
use_validation_data :無論是否要將驗證數據用作布爾的true或false。默認值是正確的。如果false,則不需要提供x_validation_dataframe和y_validation_dataframe
x_validation_dataframe :包含有效性數據集的功能的dataFrame。默認值為空白pandas dataframe。
y_validation_dataframe :包含驗證數據集的因變量的dataFrame。默認值為空白pandas dataframe。
model :模型對象。它應該具有.fit和.predict屬性
cost_function_improvement :目標是在隨後的迭代期間是否增加或降低成本。對於回歸,應該是“減少”,為分類應該是“增加”
cost_function :根據回歸或分類問題,在實際和預測值之間查找成本的成本功能。成本功能應接受“實際”和“預測”作為數組,並接受兩者的回報成本。
average :平均要使用。這對於層次化指標很有用,例如'f1_score','jaccard_score','fbeta_score','precision_score','reception_score'和roc_auc_score'
遺傳算法特徵選擇(遺傳學)參數
generations :運行遺傳算法的世代數。 100作為DeAfult
population :單個染色體的數量。 50為默認值。如果可能的置換次數和特徵集的組合很小,則應保持較低的數量。
prob_crossover :交叉的概率。 0.9默認
prob_mutation :突變的概率。 0.1為默認值
run_time :運行算法的分鐘數。這是幾代人之間的檢查。在每一代開始時,檢查運行時是否超過了分配的時間。如果案例運行時間確實超過了所提供的限制,那麼到目前為止執行的幾代人的最佳結果將作為輸出給出。默認值為2小時。即120分鐘。
模擬退火特徵選擇(模擬Annealingfs)參數
temperature :退火的初始溫度。默認值為1500
iterations :模擬退火的次數將搜索解決方案。默認值為100。
n_perturb :功能集的次數將在迭代中受到干擾。默認值為1。
n_features_percent_perturb :在每個擾動過程中將被擾動的功能百分比。價值在1到100之間。
alpha :降溫係數。默認值為0.9。
run_time :運行算法的分鐘數。這是幾代人之間的檢查。在每一代開始時,檢查運行時是否超過了分配的時間。如果案例運行時間確實超過了所提供的限制,那麼到目前為止執行的幾代人的最佳結果將作為輸出給出。默認值為2小時。即120分鐘。
螞蟻菌落優化特徵選擇(Antcolonyoptimizationfs)參數
iterations :螞蟻菌落優化的次數將搜索解決方案。默認值為100。
N_ants :每次迭代中的螞蟻數量。默認值為100。
evaporation_rate :蒸發率。值在0到1之間。如果它太大,那麼找到全局Optima的可能性更高,但計算昂貴。如果很低,找到全球Optima的機會較小。默認值保持為0.8。
Q :信息素更新係數。值在0到1之間。它會影響收斂速度。如果很大,ACO將被卡在當地的Optima上。默認值保持為0.2。
run_time :運行算法的分鐘數。這是幾代人之間的檢查。在每一代開始時,檢查運行時是否超過了分配的時間。如果案例運行時間確實超過了所提供的限制,那麼到目前為止執行的幾代人的最佳結果將作為輸出給出。默認值為2小時。即120分鐘。
粒子群優化特徵選擇(顆粒攝取量)參數
iterations :粒子群優化的次數將搜索解決方案。默認值為100。
swarmSize :每次迭代中的群體大小。默認值為100。
run_time :運行算法的分鐘數。這是幾代人之間的檢查。在每一代開始時,檢查運行時是否超過了分配的時間。如果案例運行時間確實超過了所提供的限制,那麼到目前為止執行的幾代人的最佳結果將作為輸出給出。默認值為2小時。即120分鐘。
MD Azimul Haque(2022)。可解釋模型的功能工程和選擇:數據科學家的第二課程。 Lulu Press,Inc。
pip install MetaHeuristicsFS