ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序

ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序

目录

基于mpg数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序

# 1、定义数据集

# 2、数据集预处理

# 3、模型建立和训练

# 3.1、数据集切分

# 4、对模型进行PFI可视化

# T1、基于模型本身的解释—如随机森林树模型,但模型可能会存在偏差

扫描二维码关注公众号,回复: 14428342 查看本文章

# T2、基于模型度量的解释—PFI置换特征重要性并可视化


相关文章
ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序
ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序实现

基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序

# 1、定义数据集

mpg cylinders displacement horsepower weight acceleration model_year origin name
18 8 307 130 3504 12 70 usa chevrolet chevelle malibu
15 8 350 165 3693 11.5 70 usa buick skylark 320
18 8 318 150 3436 11 70 usa plymouth satellite
16 8 304 150 3433 12 70 usa amc rebel sst
17 8 302 140 3449 10.5 70 usa ford torino

# 2、数据集预处理

before (398, 9)
    mpg  cylinders  displacement  ...  model_year  origin                       name
0  18.0          8         307.0  ...          70     usa  chevrolet chevelle malibu
1  15.0          8         350.0  ...          70     usa          buick skylark 320
2  18.0          8         318.0  ...          70     usa         plymouth satellite
3  16.0          8         304.0  ...          70     usa              amc rebel sst
4  17.0          8         302.0  ...          70     usa                ford torino

[5 rows x 9 columns]
after dropna and drop (392, 8)
    mpg  cylinders  displacement  ...  acceleration  model_year  origin
0  18.0          8         307.0  ...          12.0          70     usa
1  15.0          8         350.0  ...          11.5          70     usa
2  18.0          8         318.0  ...          11.0          70     usa
3  16.0          8         304.0  ...          12.0          70     usa
4  17.0          8         302.0  ...          10.5          70     usa

# 3、模型建立和训练

# 3.1、数据集切分

X_feature_ns: ['mpg', 'cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'model_year']
 

# 4、对模型进行PFI可视化

# T1、基于模型本身的解释—如随机森林树模型,但模型可能会存在偏差

    <style>
    table.eli5-weights tr:hover {
        filter: brightness(85%);
    }
</style>

        <table class="eli5-weights eli5-feature-importances" style="border-collapse: collapse; border: none; margin-top: 0em; table-layout: auto;">
    <thead>
    <tr style="border: none;">
        <th style="padding: 0 1em 0 0.5em; text-align: right; border: none;">Weight</th>
        <th style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">Feature</th>
    </tr>
    </thead>
    <tbody>
    
        <tr style="background-color: hsl(120, 100.00%, 80.00%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.2846
                
                    &plusmn; 0.2878
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                displacement
            </td>
        </tr>
    
        <tr style="background-color: hsl(120, 100.00%, 85.66%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.1770
                
                    &plusmn; 0.2423
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                weight
            </td>
        </tr>
    
        <tr style="background-color: hsl(120, 100.00%, 86.61%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.1604
                
                    &plusmn; 0.1535
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                horsepower
            </td>
        </tr>
    
        <tr style="background-color: hsl(120, 100.00%, 87.85%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.1397
                
                    &plusmn; 0.1684
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                mpg
            </td>
        </tr>
    
        <tr style="background-color: hsl(120, 100.00%, 89.82%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.1085
                
                    &plusmn; 0.0800
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                acceleration
            </td>
        </tr>
    
        <tr style="background-color: hsl(120, 100.00%, 92.40%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.0715
                
                    &plusmn; 0.0545
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                model_year
            </td>
        </tr>
    
        <tr style="background-color: hsl(120, 100.00%, 93.41%); border: none;">
            <td style="padding: 0 1em 0 0.5em; text-align: right; border: none;">
                0.0583
                
                    &plusmn; 0.1736
                
            </td>
            <td style="padding: 0 0.5em 0 0.5em; text-align: left; border: none;">
                cylinders
            </td>
        </tr>
    
    
    </tbody>
</table>

# T2、基于模型度量的解释—PFI置换特征重要性并可视化

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/126093854