機械学習のコンパニオンライブラリ説明説明可能なモデルのためのエンジニアリングと選択:データサイエンティストのための2番目のコース
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}、 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}}}
列車とテストデータのみがあり、クロス検証を希望しない場合は、1つのキーのみを使用して、辞書形式上記の形式を使用してください。
use_validation_data :検証データをブールのtrueまたはfalseとして使用するかどうか。デフォルト値は真です。 falseの場合、ユーザーはx_validation_dataframeとy_validation_dataframeを提供する必要はありません
x_validation_dataframe :validatoinデータセットの機能を含むデータフレーム。デフォルトは空白のPandasデータフレームです。
y_validation_dataframe :検証データセットの従属変数を含むデータフレーム。デフォルトは空白のPandasデータフレームです。
model :モデルオブジェクト。 .fitおよび.redict属性が必要です
cost_function_improvement :目的は、後続の反復中にコストを増やすか減少させるかです。回帰のためには「減少」し、分類のためには「増加」する必要があります
cost_function :回帰または分類の問題に応じて、実際の値と予測値の間のコストを見つけるためのコスト関数。コスト関数は、「実際の」および「予測」をアレイとして受け入れ、両方の返品コストを受け入れる必要があります。
average :使用する平均。これは、「f1_score」、「jaccard_score '、' fbeta_score '、' precision_score '、' recall_score '、' roc_auc_score 'などの凝集メトリックにも役立ちます。
遺伝的アルゴリズム機能の選択(GeneticalGorithMFS)パラメーター
generations :遺伝的アルゴリズムを実行する世代の数。耳が聞こえない100
population :個々の染色体の数。デフォルトとして50。可能な順列の数と機能セットの組み合わせが小さい場合は、少ない数として保持する必要があります。
prob_crossover :クロスオーバーの確率。デフォルトとして0.9
prob_mutation :突然変異の確率。デフォルトとして0.1
run_time :アルゴリズムを実行するための分数。これは世代間でチェックインされます。各世代の開始時に、ランタイムが割り当てられた時間よりも超えているかどうかを確認します。ケースの実行時間が限界を超えた場合、これまでに実行された世代からの最良の結果は、出力として与えられます。デフォルトは2時間です。すなわち120分。
シミュレートアニーリング機能選択(SimulatedAnnealingFS)パラメーター
temperature :アニーリングの初期温度。デフォルトは1500です
iterations :シミュレートされたアニーリングの回数は、ソリューションを検索します。デフォルトは100です。
n_perturb :機能セット数は、反復で混乱します。デフォルトは1です。
n_features_percent_perturb :各摂動中に摂動する機能の割合。値は1〜100です。
alpha :温度低下係数。デフォルトは0.9です。
run_time :アルゴリズムを実行するための分数。これは世代間でチェックインされます。各世代の開始時に、ランタイムが割り当てられた時間よりも超えているかどうかを確認します。ケースの実行時間が限界を超えた場合、これまでに実行された世代からの最良の結果は、出力として与えられます。デフォルトは2時間です。すなわち120分。
Ant Colony Optimization Featureの選択(ANTCOLONYOPTIMIZATIONFS)パラメーター
iterations :ANTコロニーの最適化の回数は、ソリューションを検索します。デフォルトは100です。
N_ants :各反復のアリの数。デフォルトは100です。
evaporation_rate :蒸発率。値は0〜1の間です。大きすぎると、グローバルな最適化を見つけるためには高くなりますが、計算上は高価です。それが低い場合、グローバルなオプティマを見つける可能性は低くなります。デフォルトは0.8として保持されます。
Q :フェロメン更新係数。値は0〜1。収束速度に影響します。それが大きい場合、ACOはLocal Optimaで立ち往生します。デフォルトは0.2として保持されます。
run_time :アルゴリズムを実行するための分数。これは世代間でチェックインされます。各世代の開始時に、ランタイムが割り当てられた時間よりも超えているかどうかを確認します。ケースの実行時間が限界を超えた場合、これまでに実行された世代からの最良の結果は、出力として与えられます。デフォルトは2時間です。すなわち120分。
粒子群群最適化特徴の選択(粒子筋壁化FS)パラメーター
iterations :粒子群最適化の回数は、ソリューションを検索します。デフォルトは100です。
swarmSize :各反復の群れのサイズ。デフォルトは100です。
run_time :アルゴリズムを実行するための分数。これは世代間でチェックインされます。各世代の開始時に、ランタイムが割り当てられた時間よりも超えているかどうかを確認します。ケースの実行時間が限界を超えた場合、これまでに実行された世代からの最良の結果は、出力として与えられます。デフォルトは2時間です。すなわち120分。
MD Azimul Haque(2022)。説明可能なモデルの機能エンジニアリングと選択:データサイエンティスト向けの2番目のコース。 Lulu Press、Inc。
pip install MetaHeuristicsFS