Biblioteca de Machine Learning Book Engineering & Seleção para modelos explicáveis: um segundo curso para cientistas de dados
O módulo Metaheuristicsfs ajuda a identificar a combinação de recursos que fornecem o melhor resultado. O processo de pesquisa da melhor combinação é chamado de 'Seleção de Recursos'. Esta biblioteca usa algoritmos baseados em metaheurística, como algoritmo genético, recozimento simulado, otimização da colônia de formigas e otimização de enxame de partículas, para executar a seleção de recursos.
Parâmetros de aprendizado de máquina: são comuns para todos os algoritmos
columns_list : nomes de colunas presentes em x_train_dataframe e x_test, que serão usados como lista de entrada para pesquisar a melhor lista de recursos.
data_dict : X e Y Training e Dados de teste fornecidos no formato de dicionário. Abaixo está o exemplo de dados de validação cruzada de 5 vezes com chaves. {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}, 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}}
Se você possui apenas dados de trem e teste e não deseja fazer validação cruzada, use o formato acima do dicionário, com apenas uma chave.
use_validation_data : se você deseja usar os dados de validação como um verdadeiro booleano ou falso. O valor padrão é verdadeiro. Se false, o usuário não precisa fornecer x_validação_dataframe e y_validation_dataframe
x_validation_dataframe : DataFrame contendo recursos do conjunto de dados Validatoin. O padrão está em branco Pandas DataFrame.
y_validation_dataframe : DataFrame contendo variável dependente do conjunto de dados de validação. O padrão está em branco Pandas DataFrame.
model : Model Object. Deveria ter.
cost_function_improvement : Objetivo é se aumentar ou diminuir o custo durante as iterações subsequentes. Para regressão, deve ser 'diminuição' e, para classificação, deve ser 'aumentar'
cost_function : Função de custo para encontrar o custo entre valores reais e previstos, dependendo do problema de regressão ou classificação. A função de custo deve aceitar 'real' e 'prevista' como matrizes e custo de retorno para ambos.
average : média a ser usada. Isso é útil para métricas de clasificação, como 'f1_score', 'jaccard_score', 'fbeta_score', 'precision_score', 'Recall_score' e 'roc_auc_score' quando a variável dependente é multi-classa
Algoritmo genético Seleção de características (genéticagorithmfs) Parâmetros
generations : Número de gerações para executar o algoritmo genético. 100 como Deafult
population : Número de cromossomos individuais. 50 como padrão. Deve ser mantido como número baixo se o número de permutação possível e a combinação de conjuntos de recursos forem pequenos.
prob_crossover : probabilidade de crossover. 0,9 como padrão
prob_mutation : probabilidade de mutação. 0.1 como padrão
run_time : número de minutos para executar o algoritmo. Isso é verificado entre gerações. No início de cada geração, é verificado se o tempo de execução tiver excedido do que o tempo atribuído. Se o tempo de execução do caso excede o limite fornecido, o melhor resultado de gerações executadas até agora é fornecido como saída. O padrão é de 2 horas. ou seja, 120 minutos.
Parâmetros de seleção de recursos de recozimento simulados (SimulateNealingFS)
temperature : temperatura inicial para recozimento. O padrão é 1500
iterations : o número de vezes o recozimento simulado procurará soluções. O padrão é 100.
n_perturb : o número de vezes o conjunto de recursos será perturbado em uma iteração. O padrão é 1.
n_features_percent_perturb : Porcentagem de recursos que serão perturbados durante cada perturbação. O valor está entre 1 e 100.
alpha : fator de redução de temperatura. Os padrões são 0,9.
run_time : número de minutos para executar o algoritmo. Isso é verificado entre gerações. No início de cada geração, é verificado se o tempo de execução tiver excedido do que o tempo atribuído. Se o tempo de execução do caso excede o limite fornecido, o melhor resultado de gerações executadas até agora é fornecido como saída. O padrão é de 2 horas. ou seja, 120 minutos.
Parâmetros de seleção de recursos de otimização de colônias de formigas (AntcolononOptimizationfs)
iterations : Número de vezes a otimização da colônia de formigas procurará soluções. O padrão é 100.
N_ants : Número de formigas em cada iteração. O padrão é 100.
evaporation_rate : taxa de evaporação. Os valores estão entre 0 e 1. Se for muito grande, as chances são mais altas para encontrar o Optima Global, mas computacionalmente caro. Se for baixo, as chances de encontrar o Optima global são menores. O padrão é mantido como 0,8.
Q : Coeficiente de atualização do feomeno. Valor entre 0 e 1. Afeta a velocidade de convergência. Se for grande, o ACO ficará preso no Optima local. O padrão é mantido como 0,2.
run_time : número de minutos para executar o algoritmo. Isso é verificado entre gerações. No início de cada geração, é verificado se o tempo de execução tiver excedido do que o tempo atribuído. Se o tempo de execução do caso excede o limite fornecido, o melhor resultado de gerações executadas até agora é fornecido como saída. O padrão é de 2 horas. ou seja, 120 minutos.
Parâmetros de otimização do enxame de partículas (Partleswarmoptimizationfsfs) Parâmetros
iterations : Número de vezes a otimização de enxame de partículas procurará soluções. O padrão é 100.
swarmSize : tamanho do enxame em cada iteração. O padrão é 100.
run_time : número de minutos para executar o algoritmo. Isso é verificado entre gerações. No início de cada geração, é verificado se o tempo de execução tiver excedido do que o tempo atribuído. Se o tempo de execução do caso excede o limite fornecido, o melhor resultado de gerações executadas até agora é fornecido como saída. O padrão é de 2 horas. ou seja, 120 minutos.
Md azimul Haque (2022). Engenharia e seleção de recursos para modelos explicáveis: um segundo curso para cientistas de dados. Lulu Press, Inc.
pip install MetaHeuristicsFS