机器学习书籍库图书库功能工程和可解释模型的选择:数据科学家的第二课程
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