ML の FE の FS: 特徴選択のためのフィルター フィルター — タイタニック タイタニック データ セットに基づいて、分散しきい値 (P 値計算と組み合わせて)、F 検定 (P 値計算と組み合わせて)、MI 相互情報量法の適用ケースを使用

ML の FE の FS: 特徴選択のためのフィルター フィルター — タイタニック タイタニック データ セットに基づいて、分散しきい値 (P 値計算と組み合わせて)、F 検定 (P 値計算と組み合わせて)、MI 相互情報量法の適用ケースを使用

目次

機能エンジニアリング/データ前処理 - フィルター フィルターを使用した機能選択 - タイタニック タイタニック データ セットに基づいて、分散しきい値 (最適なスクリーニング機能数を計算するための P 値に基づく)、F 検定 (最適なスクリーニング機能数を計算するための P 値に基づく) を使用します。ベストスクリーニング機能番号番号)、MI 相互情報量方式適用事例実装コード

# 1. データセットを定義する

# データ機能タイプの分割

# 2. データの前処理/特徴エンジニアリング

# 2.1、欠損値埋め

# 2.2. デジタル機能の定義

# 2.3. 機能とラベルを分離する

# 2.4、機能スクリーニング

# T1、分散に基づいて特徴をフィルタリングします (P 値に基づいてフィルタリングする特徴の最適な数を計算します)

# 2.4.1. p 値に基づいて最適な k 値を見つける

# 2.4.2. カイ二乗値 + k 値に基づくスクリーニング機能の実現

# 2.4.3、出力選択機能

# T2、F 検定に従って特徴をフィルタリングします (P 値に基づいてスクリーニング特徴の最適な数を計算します)

# 2.4.1. p 値に基づいて最適な k 値を見つける

# 2.4.2. F検定+k値によるスクリーニング機能の実現

# 2.4.3、出力選択機能

# T3、MI 相互情報量法による特徴のフィルタリング

#相互情報方式

# MI に基づいて機能をフィルタリングする

# 選択した特徴を出力する


関連記事
ML の FE の FS: 特徴選択のためのフィルター フィルター — タイタニック タイタニック データ セットに基づき、分散しきい値 (P 値の計算と組み合わせて)、F 検定 (P 値の計算と組み合わせて) に基づく FE の FS を使用します。 MI 相互情報量
法 : 特徴選択のためのフィルター フィルター — タイタニック タイタニック データセットに基づいて、コードは分散しきい値 (P 値計算と組み合わせて)、F 検定 (P 値計算と組み合わせて)、および MI 相互情報量法を使用して実現されます。

機能エンジニアリング/データ前処理 - フィルター フィルターを使用した機能選択 - タイタニック タイタニック データ セットに基づいて、分散しきい値 (最適なスクリーニング機能数を計算するための P 値に基づく)、F 検定 (最適なスクリーニング機能数を計算するための P 値に基づく) を使用します。ベストスクリーニング機能番号番号)、MI 相互情報量方式適用事例実装コード

# 1. データセットを定義する

# データ機能タイプの分割

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64  
 3   Name         891 non-null    object 
 4   Sex          891 non-null    object 
 5   Age          714 non-null    float64
 6   SibSp        891 non-null    int64  
 7   Parch        891 non-null    int64  
 8   Ticket       891 non-null    object 
 9   Fare         891 non-null    float64
 10  Cabin        204 non-null    object 
 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
None
   PassengerId  Survived  Pclass  ...     Fare Cabin  Embarked
0            1         0       3  ...   7.2500   NaN         S
1            2         1       1  ...  71.2833   C85         C
2            3         1       3  ...   7.9250   NaN         S
3            4         1       1  ...  53.1000  C123         S
4            5         0       3  ...   8.0500   NaN         S

[5 rows x 12 columns]
num_features_Init 7 ['PassengerId', 'Survived', 'Pclass', 'Age', 'SibSp', 'Parch', 'Fare']
cat_features_Init 5 ['Name', 'Sex', 'Ticket', 'Cabin', 'Embarked']

# 2. データの前処理/特徴エンジニアリング

# 2.1、欠損値埋め

# 2.2. デジタル機能の定義

# 2.3. 機能とラベルを分離する

# 2.4、機能スクリーニング

# T1、分散に基づいて特徴をフィルタリングします (P 値に基づいてフィルタリングする特徴の最適な数を計算します)

# 2.4.1. p 値に基づいて最適な k 値を見つける

Chi2_value [3.31293407e+00 3.08736994e+01 2.16491630e+01 2.58186538e+00
 1.00974991e+01 4.51831909e+03]
Chi2_p_value [6.87366651e-02 2.75378563e-08 3.27352826e-06 1.08094210e-01
 1.48470676e-03 0.00000000e+00]

Chi2_k_value 4

# 2.4.2. カイ二乗値 + k 値に基づくスクリーニング機能の実現

# 2.4.3、出力選択機能

FS_filter_chi2_features 4 ['Pclass', 'Age', 'Parch', 'Fare']

# T2、F 検定に従って特徴をフィルタリングします (P 値に基づいてスクリーニング特徴の最適な数を計算します)

# 2.4.1. p 値に基づいて最適な k 値を見つける

Ftest_value [2.22848123e-02 1.15031272e+02 3.76152805e+00 1.11057220e+00
 5.96346384e+00 6.30307642e+01]
Ftest_p_value [8.81365777e-01 2.53704739e-25 5.27606885e-02 2.92243929e-01
 1.47992454e-02 6.12018934e-15]
Ftest_k_value 3

# 2.4.2. F検定+k値によるスクリーニング機能の実現

# 2.4.3、出力選択機能

FS_filter_Ftest_features 3 ['Pclass', 'Parch', 'Fare']


# T3、MI 相互情報量法による特徴のフィルタリング

#相互情報方式

# MI に基づいて機能をフィルタリングする

# 選択した特徴を出力する

MI_value [0.01790968 0.08543871 0.04263315 0.00411559 0.         0.1296199 ]
MI_k_value 5
FS_filter_MI_features 5 ['PassengerId', 'Pclass', 'Age', 'SibSp', 'Fare']

おすすめ

転載: blog.csdn.net/qq_41185868/article/details/130377391