特征工程-特征稳定性

1、PSI概念及计算公式

PSI(Population Stability Index)是一种用于衡量两个分布之间差异的指标,常用于评估模型在不同时间段或不同群体上的稳定性。

PSI的计算公式如下:

PSI = ∑((P_i - Q_i) * ln(P_i / Q_i))

其中,P_i和Q_i分别表示两个分布中第i个区间的占比。

PSI值的计算步骤如下:

  1. 将数据集分为两个时间段或两个群体,分别计算每个时间段或群体中每个区间的占比。

  2. 对于每个区间,计算P_i和Q_i的值,分别表示两个时间段或群体中该区间的占比。

  3. 计算(P_i - Q_i) * ln(P_i / Q_i)的值,并将所有区间的结果求和,得到PSI值。

PSI值的范围通常在0到正无穷之间,值越大表示两个分布之间的差异越大,稳定性越低。

2、定义PSI函数

import pandas as pd
import numpy as np


def filter_high_psi_features(train_data, test_data,psi_threshold):
    # 计算每个特征的PSI值
    psi, psi_values = calculate_psi(train_data, test_data)

    # 找到PSI值超过阈值的特征
    high_psi_features = psi_values[psi> psi_threshold].index

    # 过滤掉PSI值过大的特征
    filtered_train_data = train_data.drop(columns=high_psi_features)

    return filtered_train_data


def calculate_psi(train_data, test_data, num_bins=10):
    """
    计算PSI值

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值