python 特征筛选

本文详细探讨了Python中用于特征筛选的各种技术,包括基于统计的方法(如方差阈值、互信息)、基于模型的方法(如递归特征消除)以及如何在实际机器学习项目中应用这些方法来提高模型性能。通过实例代码,读者可以了解到如何有效地从大量特征中挑选出最相关的特征,以减少过拟合风险并优化模型训练速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


#特征初筛
#如果是分类问题:对于分类变量,分析较多类的变迁分布是否差异明显,此类变量不删除
#这里回归问题 则 不考虑
def Remove_singleValue_var(df,var_list):
    # 变量取值同一性,删除
    Sigle_var = [i for i in df
                      if df[i].value_counts().sort_values(ascending=False)
                      .values[0]/len(df) > 0.99]
    return Sigle_var


def Remove_low_variance(df,var_list,std_lower=1):
    
    low_variance_var=[]
    for i in var_list:
        if  (len(df[i].value_counts())>10) and (df[i].std()<std_lower):
            low_variance_var.append(i)
    
    return low_variance_var
            
    
#树模型重要度特征选择
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import KFold
def Select_feature(df,label,col_num=100,n_folds=3):
    #X是不含id 的數據,X=self.allldata[:len(self.train)]
    '''使用extra tree 进行特征选择'''
    '''param:data 数据'''
    '''param:col_num 每
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值