特征筛选9——根据重要性SelectFromModel筛选特征(有监督筛选)

2023-11-09

策略思想:

  1. 使用能够进行特征重要性评估的模型(一般带有feature_importances或coef_参数)训练特征
  2. 如果结果重要性的得分小于阈值,就会被认为是不重要的特征比如小于0.1*mean(重要性)

示例代码

import pandas as pd


def load_data():
    """用来生成训练、测试数据"""
    from sklearn.datasets import make_classification
    data_x, data_y = make_classification(n_samples=1000, n_classes=4, n_features=10, n_informative=8)
    df_x = pd.DataFrame(data_x, columns=['f_1', 'f_2', 'f_3', 'f_4', 'f_5', 'f_6', "f_7", "f_8", "f_9", "f_10"])
    df_y = pd.Series(data_y)
    return df_x, df_y


def select_from_model(x_data, y_data):
    from sklearn.feature_selection import SelectFromModel
    from sklearn.linear_model import LogisticRegression

    # 带L1惩罚项的逻辑回归作为基模型的特征选择
    sf_model: SelectFromModel = SelectFromModel(LogisticRegression(C=1, penalty='l1', solver='liblinear'))
    sf_model.fit(x_data, y_data)
    print("select feature: ", x_data.columns[sf_model.get_support()])
    # sf_model.estimator_.coef_
    # sf_model.threshold_
    # sf_model.get_support()  # get_support函数来得到到底是那几列被选中了
    return sf_model.transform(x_data)  # 得到筛选的特征


if __name__ == '__main__':
    value_x, value_y = load_data()
    select_from_model(value_x, value_y)  # 带特征的筛选x_data,y_data
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

特征筛选9——根据重要性SelectFromModel筛选特征(有监督筛选) 的相关文章

  • 如何并排绘制具有相同 X 坐标的条形图(“闪避”)

    import matplotlib pyplot as plt gridnumber range 1 4 b1 plt bar gridnumber 0 2 0 3 0 1 width 0 4 label Bar 1 align cente
  • 在二维数组中进行所有可能的组合

    我正在尝试制作具有所有可能组合的 4x4 16 像素黑白图像数组 我制作了以下数组作为模板 template 0 0 0 0 start with all white pixels 0 0 0 0 0 0 0 0 0 0 0 0 然后我想迭
  • 在 SQLAlchemy 中,过滤器是在连接之前还是之后应用?

    使用 SQLAlchemy 我执行如下查询 import models as m import sqlalchemy as sa s session maker q s query m ShareCount m Article join m
  • 是否可以在 IPython 控制台中显示 pandas 样式?

    是否可以显示熊猫风格 https pandas pydata org pandas docs stable user guide style html在 iPython 控制台中 Jupyter 笔记本中的以下代码 import panda
  • pandas read_csv 之前预处理数据文件

    我使用 SAP 的数据输出 但它既不是 CSV 因为它不引用包含其分隔符的字符串 也不是固定宽度 因为它具有多字节字符 它是一种 固定宽度 字符 为了将其放入 pandas 我当前读取文件 获取分隔符位置 对分隔符周围的每一行进行切片 然后
  • 在 python 中发送标头[重复]

    这个问题在这里已经有答案了 我有以下 python 脚本 我想发送 假 标头信息 以便我的应用程序就像 Firefox 一样运行 我怎么能这么做呢 import urllib urllib2 cookielib username passw
  • NumPy 数组与 SQLite

    我在 Python 中见过的最常见的 SQLite 接口是sqlite3 但是有什么东西可以很好地与 NumPy 数组或 rearray 配合使用吗 我的意思是 它可以识别数据类型 不需要逐行插入 并提取到 NumPy rec 数组中 有点
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • 右键单击 QPushButton 上的 contextMenu

    对于我的应用程序 我在 Qt Designer 中创建了一个 GUI 并将其转换为 python 2 6 代码 关于一些QPushButton 与设计器创建 我想添加右键单击上下文菜单 菜单选项取决于应用程序状态 如何实现这样的上下文菜单
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • 使用具有可变数量索引的 numpy mggrid

    如何将 numpy mgrid 与可变数量的索引一起使用 我在 github 上找不到任何人将其与硬编码值以外的任何内容一起使用的示例 import numpy as np np mgrid 1 10 1 10 this works fin
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if
  • 如何在不同的目录中执行python脚本?

    Solved对于可能觉得这有帮助的人 请参阅下面我的答案 我有两个脚本 a py 和 b py 在我当前的目录 C Users MyName Desktop MAIN 中 我运行 gt python a py 第一个脚本 a py 在我当前
  • 如何使 Django 自定义管理命令参数不再需要?

    我正在尝试在 django 中编写自定义管理命令 如下所示 class Command BaseCommand def add arguments self parser parser add argument delay type int

随机推荐

  • 区块链正在开启一场回归商业,融合商业的新发展

    对于区块链来讲 它其实同样在延续着这样一种发展路径 正如上文所说 区块链正在开启一场回归商业 融合商业的新发展 而欲要实现这一点 区块链就是要从底层算法 底层数据传输 底层体系的打造着手来实现 更为确切地说 区块链回归商业的路径 其实就是要
  • 测试技术栈整理 -- 测试开发工程师的自我修养

    导航 一 测试理论 二 单元测试 三 集成测试 四 接口测试 五 界面 UI 测试 六 性能测试 七 自动化测试 八 Linux 九 更高级别的测试 十 测试大神好文推荐 一 测试理论 标题 链接 软件的生命周期 https blog cs
  • 因果推断17--基于反事实因果推断的度小满额度模型学习笔记

    目录 一 原文地址 二 一些问题 2 1如何从RCT随机样本过渡到观测样本因果建模 2 2反事实学习的核心思想 2 3度小满的连续反事实额度模型 Mono CFR 2 4Mono CFR代码实现 待补充 2 5CFR学习 2 5 1TarN
  • 密度计算机公式,密度浓度换算公式(浓度和密度的换算关系)

    根据密度 质量除以体积 浓度 物质的量n除以体积 物质的量n等于m除以M 最后得到 密度等于物质的摩尔质量乘以密度 C 1000 d w M C 物质的量的浓度 d 密度 w 质量分数 M 摩尔质量 有多少写多少 里面好象还有升 立方米 反
  • SpringBoot 配置文件中的信息加密

    SpringBoot 配置文件敏感信息加密 说明 打开application properties或application yml 比如 MySql登陆密码 Redis登陆密码以及第三方的密钥等等一览无余 这里介绍一个加解密组件 提高一些属
  • pandas——相关系数函数corr()

    计算DataFrame列之间的相关系数 a np arange 1 10 reshape 3 3 data DataFrame a index a b c columns one two three print data one two t
  • Linux网络接口操作之if_nameindex

    系统信息 操作系统 lsb release ir Distributor ID CentOS Release 6 7 内核版本 uname r 2 6 32 573 26 1 el6 x86 64 gcc版本 gcc version gcc
  • 详解JS中的栈内存与堆内存!(配图解)

    一 栈内存 1 访问顺序 栈是一种先进后出的数据结构 栈内存是内存中用于存放临时变量的一片内存块 它是一种特殊的列表 栈内的元素只能通过列表的一端访问 这一端称为栈顶 另一端称为栈底 2 存储数据 一般来说 栈内存主要用于存储各种基本类型的
  • 【DC系列】DC-1靶场

    首先下载DC1的镜像资源 Index of downloadshttps www five86 com downloads 下载完成后进行解压 鼠标右击DC 1镜像 gt 打开方式 gt 选择虚拟机 如下图所示 输入虚拟机名称和选择虚拟机的
  • pycharm中安装并配置pyinstaller

    1 打开Anaconda Prompt 进入虚拟环境 conda activate TF1 14 2 安装pyinstaller 在anaconda中输入 pip install PyInstaller 3 在pycharm中配置pyins
  • 大数据统计分析毕业设计_大数据时代的成绩管理与数据分析毕业设计论文最新版...

    大数据时代的成绩管理与数据分析毕业设计论文 docx 由会员分享 可免费在线阅读全文 更多与 大数据时代的成绩管理与数据分析毕业设计论文 相关文档资源请在帮帮文库 www woc88 com 数亿文档库存里搜索 1 Threadslee 录
  • Lucas–Kanade光流算法学习

    转自 https www cnblogs com dverdon p 5325498 html Lucas Kanade光流算法是一种两帧差分的光流估计算法 它由Bruce D Lucas 和 Takeo Kanade提出 光流 Optic
  • CTFHub S7协议恶意攻击分析 WP

    一道分析S7Comm协议的流量题 这题经过雪姐姐的指点才得到flag 把流量包通过wireshark进行分析 使用tcp stream eq 0的指令进行一个过滤 分析0流的S7 Communication 在数据包时1321发现了stop
  • 布线问题(分支限界)

    问题描述 印刷电路板将布线区域划分成n m个方格 精确的电路布线问题要求确定连接方格a的中点到方格b的中点的最短布线方案 在布线时 电路只能沿直线或直角布线 为了避免线路相交 已布了线的方格做了封锁标记 其它线路不允穿过被封锁的方格 电路板
  • 咖啡汪工作日志————简单的nginx 配置文件参考

    hello 大家好 我是咖啡汪 又见面了 今天给大家带来的是niginx 的简易配置文件 主要目的是让新手快速理解 nginx 配置文件中的参数与我们代码配置文件参数的对应关系 以便进行快速有效的部署 1 主前端页面访问地址8091 2 大
  • 36黑马QT笔记之QString、QByteArray、char*的互相转换

    36黑马QT笔记之QString QByteArray char 的互相转换 1 直接看代码 if 0 QString gt QByteArray QString str 123 QByteArray array str toUtf8 中文
  • 游戏视频录制软件对比,哪款最适合你的需求?

    随着电子竞技和游戏直播行业的迅速崛起 越来越多的玩家渴望记录并分享自己在游戏中的精彩瞬间 游戏视频录制软件正是满足这一需求的关键工具 本文将针对三款优秀的游戏视频录制软件进行对比分析 以便为读者提供选购建议 游戏视频录制软件1 专业录屏软件
  • linux 默认网卡丢失,linux多网卡接收组播丢失问题

    工作中曾遇到一个很奇怪的问题 我奉命调查 事情是这样的 有一台双网卡的机器 上面装有Fedora8 运行一个程序 该程序分别在两个网口上都接收多播数据 程序运行是正常的 但是 后来升级系统到Fedora13 发现就出问题了 在运行几秒钟后
  • 数仓建模过程——写指标

    1 维度 描述信息 事实 度量值 比如 我早上花了5元买早餐 其中时间地点买了什么等就是描述信息就是维度 具体的金额数字就是事实 2 ods层一般就是原始数据 比如用户行为日志 导入到hdfs中是一条条日志 那么日志的ods层表结构就只有s
  • 特征筛选9——根据重要性SelectFromModel筛选特征(有监督筛选)

    策略思想 使用能够进行特征重要性评估的模型 一般带有feature importances或coef 参数 训练特征 如果结果重要性的得分小于阈值 就会被认为是不重要的特征比如小于0 1 mean 重要性 示例代码 import panda