获取 RFECV scikit-learn 中的功能

2024-03-22

受此启发:http://scikit-learn.org/stable/auto_examples/feature_selection/plot_rfe_with_cross_validation.html#sphx-glr-auto-examples-feature-selection-plot-rfe-with-cross-validation-py http://scikit-learn.org/stable/auto_examples/feature_selection/plot_rfe_with_cross_validation.html#sphx-glr-auto-examples-feature-selection-plot-rfe-with-cross-validation-py

我想知道是否有办法获得特定分数的功能:

在这种情况下,我想知道,当 #Features = 10 时,选择哪 10 个特征会给出峰值。

有任何想法吗?

EDIT:

这是用于获取该图的代码:

from sklearn.feature_selection import RFECV
from sklearn.model_selection import KFold,StratifiedKFold #for K-fold cross validation
from sklearn.ensemble import RandomForestClassifier #Random Forest

# The "accuracy" scoring is proportional to the number of correct classifications
#kfold = StratifiedKFold(n_splits=10, random_state=1) # k=10, split the data into 10 equal parts
model_Linear_SVM=svm.SVC(kernel='linear', probability=True)
rfecv = RFECV(estimator=model_Linear_SVM, step=1, cv=kfold,scoring='accuracy')   #5-fold cross-validation
rfecv = rfecv.fit(X, y)

print('Optimal number of features :', rfecv.n_features_)
print('Best features :', X.columns[rfecv.support_])
print('Original features :', X.columns)
plt.figure()
plt.xlabel("Number of features selected")
plt.ylabel("Cross validation score \n of number of selected features")
plt.plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_)
plt.show()

首先,您可以看到它选择了交叉验证分数最大的特征(在您的情况下,这对应于特征数量 17 或 21,我从图中不确定)

rfecv.support_

or

rfecv.ranking_ 

然后您可以通过以下方式计算所选特征的重要性(对于 cv 分数曲线的峰值)

np.absolute(rfecv.estimator_.coef_)

对于简单的估计器或

rfecv.estimator_.feature_importances_ 

如果您的估计器是某种集合,例如随机森林。

然后就可以在循环中一一删除最不重要的特征,并对剩余的特征集重新计算rfecv。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 RFECV scikit-learn 中的功能 的相关文章

  • Tkinter 菜单删除项

    如何删除任何菜单项 例如我想删除 播放 self menubar Menu self root self root config menu self menubar self filemenu2 Menu self menubar self
  • 将 yerr/xerr 绘制为阴影区域而不是误差线

    在 matplotlib 中 如何将误差绘制为阴影区域而不是误差条 例如 而不是 忽略示例图中各点之间的平滑插值 这需要进行一些手动插值 或者只是获得更高分辨率的数据 您可以使用pyplot fill between https matpl
  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 使用 Python 3 动态插入到 sqlite

    我想使用 sqlite 写入多个表 但我不想提前手动指定查询 有数十种可能的排列 例如 def insert sqlite tablename data list global dbc dbc execute insert into tab
  • 为什么第二个 request.session cookies 返回空?

    我想使用 requests Session post 登录网站 但是当我已经登录主页 然后进入帐户页面时 看来cookies还没有保存 因为cookies是空的 而且我无法进入正确的帐户页面 import requests from bs4
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • numpy:高效执行数组的复杂重塑

    我正在将供应商提供的大型二进制数组读入 2D numpy 数组 tempfid M N load data data numpy fromfile file dirname fid dtype numpy dtype i4 convert
  • 将 pandas 剪切操作转换为常规字符串

    我明白了 pandas cut 操作的输出 0 0 20 1 0 20 2 0 20 3 0 20 4 0 20 5 0 20 6 0 20 7 0 20 8 0 20 9 0 20 如何将 0 20 转换为 0 20 我正在这样做 str
  • 更改QLineEdit的ClearButton图标

    我想在Windows 10 1909 64位 上的Python 3 8和PyQt5 5 15 0 上更改我的QLineEdit的ClearButton图标 稍后我想在Linux上运行代码 我尝试应用此处找到的代码 如何在 QLineEdit
  • Python“非规范化”unicode 组合字符

    我正在寻找标准化 python 中的一些 unicode 文本 我想知道是否有一种简单的方法可以在 python 中获得组合 unicode 字符的 非规范化 形式 例如如果我有序列u o xaf i e latin small lette
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • NumPy 相当于 Keras 函数 utils.to_categorical

    我有一个使用 Keras 进行机器学习的 Python 脚本 我正在构建 X 和 Y 它们分别是特征和标签 标签的构建方式如下 def main depth 10 nclass 101 skip True output True video
  • numpy:如何连接数组? (获得多个范围的并集)

    我使用Pythonnumpy 我有一个 numpy 索引数组a gt gt gt a array 5 7 12 18 20 29 gt gt gt type a
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 如何从列表类别中对 pandas 数据框进行排序?

    所以我在下面有这个数据集 我想根据我的列表从 名称 列进行排序 以及按 A 升序和按 B 降序排序 import pandas as pd import numpy as np df1 pd DataFrame from items A 1
  • Discord.py 嵌入中禁用按钮/冻结按钮

    I m trying to make a replica of this bot in which when I press any of the buttons below it shows a dropdown menu and you
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • 仅允许正小数

    在我的 Django 模型中 我创建了一个如下所示的小数字段 price models DecimalField u Price decimal places 2 max digits 12 显然 价格为负或零是没有意义的 有没有办法将小数
  • 寻找完美的正方形

    我有这个Python代码 def sqrt x ans 0 if x gt 0 while ans ans lt x ans ans 1 if ans ans x print x is not a perfect square return

随机推荐

  • 在 Objective C 中使用枚举类型作为属性

    我是一名资深的 NET 开发人员 这是我第一次涉足 Objective C 编程 我在处理枚举类型的属性时遇到困难 一些上下文 我有一个类标头和枚举 如下所示 typedef enum Open Unavailable Unknown Lo
  • RichTextBox 和特殊字符 C#

    我需要将 RTF 格式的文本放入 richtextbox 中 我尝试将其与richtextbox rtf TextString参数 但问题是该字符串具有特殊字符 并且 Richtextbox 无法正确显示所有字符串 我正在使用的字符串和代码
  • 字节码指令和处理器操作之间的关系

    Java 规范保证原始变量赋值始终是原子的 除了long和双types 相反 获取并添加 http en wikipedia org wiki Fetch and add对应著名的操作i 增量操作将是非原子的 因为会导致读取 修改 写入操作
  • null 对象的 FluentValidation 规则

    我一直在尝试弄清楚如何创建一个 FluentValidation 规则 在验证其属性之前检查它正在验证的对象的实例是否不为空 我宁愿将这个空验证封装在验证器中 而不是在调用代码中执行它 请参阅下面的示例代码 其中包含需要所需逻辑的注释 na
  • 如何对链表进行排序?

    我有一个链接列表 我想按特殊顺序对其进行排序 我尝试使用冒泡排序 由于我的结构 称为 Node 中有许多数据类型 因此我无法交换这些值 struct Node int data Node next Node int x data x nex
  • 桌面组合被禁用错误

    在我的 NET 4 0 上的 WPF 应用程序中 我让用户报告两个错误 这些错误似乎非常间歇性 我无法处理 下面 我发布了消息和堆栈跟踪的最上面一行 如果需要 我可以发布完整的堆栈跟踪 Message Desktop composition
  • Android:检查我的应用程序是否允许运行后台活动

    我有一个运行秒表服务的应用程序 并且我在前台运行该服务 我有一个显示计时器的通知 每秒更新一次 在我离开应用程序 30 秒后 通知停止更新 我发现原因是我的设备的电池优化 在我的应用程序的系统设置中 有一个电池优化部分 其中包含一个名为Al
  • WebSphere - 无法加载 Logmanager“org.apache.logging.log4j.jul.LogManager”

    我有一个运行 Web 应用程序的 WebSphere 应用程序服务器 我从 Eclipse 启动服务器 该应用程序中的主要日志记录框架是 log4j2 但也有一些使用 java util logging 的第三方库 我想将这些日志重定向到
  • 取消选中单选按钮[重复]

    这个问题在这里已经有答案了 该应用程序是一个步进音序器应用程序 具有 16 个无线电组 每组有 8 个按钮 它工作得很好 除非一个组选择了一个按钮 否则我无法将其关闭 除非我使用我创建的清除按钮来清除所有无线电组 我想添加的是一些代码 它表
  • Go:是否有可以在模板内使用的模数

    我的问题如标题所述 我正在尝试做类似的事情 range index element Products if index 4 0 div class row end div class columns small 3 product img
  • GitLab CI 启用 SCP

    我目前正在使用 GitLab com 上的共享运行器之一 是否可以设置 gitlab ci yaml 文件 以便构建可以将 SCP 文件从远程服务器传输到运行器上 我的目标是 SCP 文件 这些文件是我的构建所必需的依赖项 但它们不会在任何
  • C 数组中的指针递增

    我试图理解下面的程序 具体来说 定义cur name以及指针的递增cur age在 printf 语句中 cur age i 必须索引数组中的每个整数 但我希望它指向内存中的连续地址 而不是给定 int 的下一个整数是 4 个字节 即为什么
  • ASP.NET MVC:可用路由数据的 Uri

    我的问题很简单 我有一个 Uri 我想弄清楚它映射到哪个路由 这样我就可以对路由的各个部分进行一些检查 控制器 操作等 如何从 Uri 转到 RouteData 或 Route 根据 tvanfosson 的指导 我想出了一个可以满足我需要
  • 测试 Bash 函数返回值的正确方法是什么?

    我想测试 Bash 函数的返回值if像这样的声明 if func arg then 但我收到如下错误消息 conditional binary operator expected 这样做的正确方法是什么 是下面这个吗 if func arg
  • 字符串未被识别为有效的日期时间

    我收到此错误 字符串未被识别为有效的日期时间 代码如下 DateTimeOffSet dt new DateTimeOffset Convert ToDateTime DateTime Now ToString dd MM yyyy hh
  • 使用 Service Worker 和推送通知做出反应

    一些初步考虑 react 16 8 2 react scripts 2 1 5 我创建了一个新的反应应用程序 我需要实现推送通知 下列的this https developers google com web fundamentals co
  • Go 保证地址不变吗?

    给定一个对象obj有保证吗 uintptr unsafe Pointer obj 无论何时调用 都会计算出相同的值 当然 Go 保证如果你使用两个指向同一个对象的指针 它们总是比较相等 不过 实现可能会移动内存中的对象并透明地更新指向它的所
  • 什么是会话和会话变量?

    您能指导我什么是会话和会话变量吗 我不需要比较 ASP 会话和 ASP NET 会话 因为我对 ASP 一无所知 我也看过很多关于会话类型的文章 但我仍然无法正确理解 ASP NET 中什么是会话以及什么是会话变量 会话 是跟踪每个用户的请
  • PHP:Html 以 html 格式发送电子邮件

    我正在遵循教程http css tricks com sending nice html email with php http css tricks com sending nice html email with php 以 html
  • 获取 RFECV scikit-learn 中的功能

    受此启发 http scikit learn org stable auto examples feature selection plot rfe with cross validation html sphx glr auto exam