为什么 sklearn.feature_selection.RFECV 每次运行给出不同的结果

2023-11-30

我尝试进行特征选择RFECV但每次都会给出不同的结果,交叉验证是将样本 X 划分为随机块还是顺序确定性块?

另外,为什么分数不同grid_scores_ and score(X,y)?为什么分数有时是负数?


交叉验证是否将样本 X 划分为随机块或顺序确定性块?

CV 默认将数据划分为确定性块。您可以通过将 shuffle 参数设置为 True 来更改此行为。

然而,RFECV uses sklearn.model_selection.StratifiedKFold如果 y 是二元或多类。

这意味着它将分割数据,使每个折叠具有相同(或几乎相同的类比例)。为了做到这一点,每个折叠中的确切数据在 CV 的不同迭代中可能会略有变化。然而,这不应导致数据发生重大变化。

如果您使用 cv 参数传递 CV 迭代器,则可以通过指定随机状态来修复分割。随机状态与算法做出的随机决策相关。每次使用相同的随机状态将确保相同的行为。

另外,为什么 grid_scores_ 和 Score(X,y) 的分数不同?

grid_scores_ 是交叉验证分数的数组。 grid_scores_[i] 是第 i 次迭代的交叉验证分数。这意味着第一个分数是所有特征的分数,第二个分数是删除一组特征时的分数,依此类推。每个中删除的特征数量等于步骤参数的值。默认情况下 = 1。

Score(X, y) 选择最佳特征数量并返回这些特征的分数。

为什么分数有时是负数?

这取决于您使用的估算器和评分器。如果您没有设置评分器,RFECV 将使用估计器的默认评分函数。一般来说,这是准确性,但在您的特定情况下,可能会返回负值。

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

为什么 sklearn.feature_selection.RFECV 每次运行给出不同的结果 的相关文章

  • 具有定制损失函数的随机森林

    我是机器学习领域的初学者 对于一个项目 我必须在随机森林分类中使用自定义损失函数 到目前为止我一直使用 scikit 通过 scikit 实现这一点的建议会更有帮助 损失函数 分类树中的基尼杂质和熵 在 scikit 的 tree pyx
  • sklearn LogisticRegressionCV 是否使用最终模型的所有数据

    我想知道sklearn中LogisticRegressionCV的最终模型 即决策边界 是如何计算的 假设我有一些 Xdata 和 ylabels Xdata shape of this is n samples n features yl
  • 使用 scikit-learn 进行二次采样 + 分类

    我正在使用 Scikit learn 进行二元分类任务 并且我有 0 级 有 200 个观察值 第 1 类 有 50 个观察值 而且因为我有不平衡的数据 我想抽取多数类的随机子样本 其中观察数量与少数类相同 并且希望使用新获得的数据集作为分
  • 与 GridSearchCV 的并行错误,与其他方法一起工作正常

    我使用 GridSearchCV 时遇到以下问题 它在使用时给我一个并行错误n jobs gt 1 同时n jobs gt 1与 RadonmForestClassifier 等单一模型配合良好 下面是一个显示错误的简单工作示例 train
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • scikit-learn 中 ColumnTransformer 的自定义 Transformer 出现问题

    我想在 scikit learn 中创建一个稳定的管道来预处理数据 我试图完成的第一步是估算None对数据框中不同列应用不同策略的值 即用平均值 中位数或其他描述性统计数据替换 但是 我 我开始使用SimpleImputer变压器连同Col
  • glm() 模型的交叉验证

    我正在尝试对我之前在 R 中构建的一些 glm 模型进行 10 倍交叉验证 我对cv glm 函数在boot包 尽管我已经阅读了很多帮助文件 当我提供以下公式时 library boot cv glm data glmfit K 10 这里
  • 使用 Doc2vec 后如何解释 Clusters 结果?

    我正在使用 doc2vec 将关注者的前 100 条推文转换为矢量表示形式 例如 v1 v100 之后 我使用向量表示来进行 K 均值聚类 model Doc2Vec documents t size 100 alpha 035 windo
  • 将 Scikit-Learn OneHotEncoder 与 Pandas DataFrame 结合使用

    我正在尝试使用 Scikit Learn 的 OneHotEncoder 将 Pandas DataFrame 中包含字符串的列替换为 one hot 编码的等效项 我的下面的代码不起作用 from sklearn preprocessin
  • sklearn 中带有词袋和附加情感特征的文本分类器

    我正在尝试构建一个分类器 除了词袋之外 还使用情绪或主题 LDA 结果 等特征 我有一个包含文本和标签的 pandas DataFrame 并且想添加情感值 5 到 5 之间的数字 和 LDA 分析结果 带有句子主题的字符串 我有一个工作词
  • 如何使用 lstm 执行多类多输出分类

    I have multiclass multioutput classification see https scikit learn org stable modules multiclass html https scikit lear
  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • 如何组合多个朴素贝叶斯分类器的输出?

    我是新来的 我有一组使用 Sklearn 工具包中的朴素贝叶斯分类器 NBC 构建的弱分类器 我的问题是如何结合每个 NBC 的输出来做出最终决定 我希望我的决定是基于概率而不是标签 我用 python 编写了以下程序 我假设 sklean
  • 在Python中表示语料库句子的一种热门编码

    我是 Python 和 Scikit learn 库的初学者 我目前需要从事一个 NLP 项目 该项目首先需要通过 One Hot Encoding 来表示一个大型语料库 我已经阅读了 Scikit learn 关于 preprocessi
  • 如何在sklearn决策树中显示特征名称?

    我目前有一个决策树 将功能名称显示为X index i e X 0 X 1 X 2 etc from sklearn import tree from sklearn tree import DecisionTreeClassifier d
  • 如何得到决策树的ROC曲线?

    我正在努力寻找ROC曲线 and AUROC曲线对于决策树 我的代码是这样的 clf fit x y y score clf fit x y decision function test col pred clf predict proba
  • 使用 scikit 时 scipy.sparse 矩阵的缩放问题

    在使用 scikit learn 解决机器学习问题时 我需要在使用 SVM 进行训练之前对 scipy sparse 矩阵进行缩放 但在文档 http scikit learn org stable modules preprocessin
  • 与 XGBoost gridsearch rating='roc_auc' 和 roc_auc_score 不同的 roc_auc 吗?

    我使用 GridSearch 来解决分类问题 A parameter grid for XGBoost params min child weight 1 5 10 gamma 0 5 1 1 5 2 5 subsample 0 6 0 8
  • 在 KNN 中获取概率为 0 或 1 (predict_proba)

    我使用 sklearn 中的 KNN 并使用 Predict proba 预测标签 我期望值在 0 到 1 范围内 因为它告诉了特定类别的概率 但我只得到0和1 我也设置了较大的 k 值 但没有增益 虽然我只有 1000 个样本 特征大约有
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2

随机推荐

  • iPhone如何在按音量键时隐藏音量覆盖

    我做了很多事情来解决这个问题 比如添加MPVolumeView 有人说系统音量HUD 如果您在当前添加 MPVolumeView 实例 则会隐藏 但这不起作用 我添加观察者来观察体积的变化 并拍照 但现在我不知道如何隐藏音量HUD 我尝试过
  • 将数字划分为显示在用户表单标签中的唯一排序数字

    我想将数字分成唯一的排序数字 例如 数字可以是 127425 我希望结果为 12457 这意味着已排序并删除了重复项 我认为最好是用例子来解释 Number Result 127425 12457 2784425 24578 121 12
  • 限制 Java 中的文本字段

    有没有办法限制文本字段只允许数字 0 100 从而排除字母 符号等 我找到了一种方法 但它比看起来必要的要复杂得多 如果必须使用文本字段 则应该使用JFormattedTextField with a 数字格式化程序 您可以设置 Numbe
  • Pharo 中的彩色窗口主题?

    如何在 Pharo 中切换到彩色窗口主题 不确定你指的是哪个主题 但你尝试过吗 世界菜单 gt 系统 gt 设置 gt 外观 gt 形态 gt 用户界面主题 选择框将让您选择窗口颜色主题
  • Git "git config --global user.name" 为什么存在这个选项?

    Git 初学者警报 我有一个基本问题 为什么 GIT 允许更改用户名作为配置选项 git config global user name trojan 这个选项是否会为提交者冒充并在历史 日志中造成混乱打开大门 为什么不像从用于连接 GIT
  • 在运行时(动态)创建简单的 POJO 类(字节码)

    我有以下场景 我正在编写一些工具 可以对数据库运行用户输入的查询并返回结果 最简单的方法是将结果返回为 List
  • 将 NiFi 中同一列中的字符串值替换为整数值

    我想更换一个 字符串值 并将该值输入为整数值使用 Nifi ReplaceText 我不知道如何在 NiFi 中实现这一点 所以我的场景如下 我将有一个 CSV 文件 其中包含几个带有整数的字段和几个作为字符串总值的字段 对于具有字符串值的
  • onclick 显示 div,但在单击其他 div 时隐藏

    我正在使用本主题答案 1 中的代码 显示 div onclick 并隐藏触发它的图像 img src Icons note add png then the function would apply a display none to it
  • 将阿拉伯语文本转换为 HTML 代码字符

    我正在尝试发送一封包含阿拉伯文本的电子邮件 我的问题是 当我将阿拉伯文本添加到电子邮件中时 它会将其更改为随机字母 与电子邮件的字符编码有关 我无法更改 是否有内置函数或自定义函数可以用来将阿拉伯语转换为 HTML 代码 以便它随后出现在我
  • BigQuery 中的“立即关注”页面路径

    我正在 BigQuery 中工作 以了解有多少用户完成了特定的页面路径 在会话中的任何时刻 假设页面路径是第 1 页 gt 第 2 页 gt 第 3 页 页面必须按顺序排列 我可以使用 BQ 建立页面路径 但此方法仅适用于识别在会话中的任何
  • 如何在 Windows 服务中为 Clearcase View 映射网络驱动器?

    我想在 Windows 服务内的网络驱动器上映射 Clearcase 视图 我尝试过net use命令 但无法正常工作 您应该能够运行与该命令相同类型的命令当路径太长时使用 即subst subst X c path to my View
  • 将指针传递给函数值不会改变[重复]

    这个问题在这里已经有答案了 include
  • Spring Integration - 以编程方式创建/拆卸通道

    是否可以以编程方式创建 拆卸 Spring Integration 通道 而不是在 Spring 配置中静态声明它们 我的情况是这样的 我有一个需要推送通知的网络应用程序 因此我使用长轮询 这些长轮询调用需要在服务器上阻塞 直到收到事件 我
  • JavaScript(ES6):在条件表达式中使用扩展运算符(?-运算符)[重复]

    这个问题在这里已经有答案了 在 JavaScript 中 可以使用以下方法将数组与另一个数组合并 扩展 运算符如下 1 2 3 4 5 6 gt 1 2 3 4 5 6 但是 似乎没有资格在三元内部使用扩展运算符 表达 true 1 2 3
  • 对 URL 参数进行解码

    我正在与一个服务器交谈 该服务器过去向我发送如下 HTTP 字符串 path to my handler action query id 112 type vca info ch 0 type event ev16 sts begin 因此
  • 打开时仅展开 viewPanel 中的一些分类列

    我正在使用 ViewPanel 来显示分类视图 该视图有 4 列类别 总计还有 3 个附加列 我想打开此视图 以便展开前 3 个分类列 并折叠第 4 个分类列 是否有某种类型的 SSJS CSJS 我可以添加到可以执行此操作的视图中 在 v
  • 如何跨两个不同的域使用 cookie?

    我需要使用 cookie 在两个不同域之间共享 SSO 信息 这可以在 PHP 中完成吗 如何实现 在两个域上 放置从另一个域中提取的图像或其他 Web 元素 使用 URL 通知其他域用户 X 位于域 A 上 并让域 B 将该用户 ID 与
  • 如何创建一个水平菜单,其中每个项目的宽度和间距相等?

    这是我到目前为止所得到的 fiddle 但它有两个问题 我已经硬编码了每个的宽度li to 33 我不想这样做 这样我就可以轻松添加更多项目 我想在每个项目之间放置一些间距 背景颜色中的间隙 但是一旦我添加边距 一个项目就会沿着一条线向下移
  • 在会话中存储用户ID?

    为了呈现用户特定数据 我在哪里存储当前登录用户的 userID 会议 是的 会议是提供该信息的合适场所 假设您正在使用 ASP NET 框架中内置的身份验证功能 您将要么从 HttpContext Current User Identity
  • 为什么 sklearn.feature_selection.RFECV 每次运行给出不同的结果

    我尝试进行特征选择RFECV但每次都会给出不同的结果 交叉验证是将样本 X 划分为随机块还是顺序确定性块 另外 为什么分数不同grid scores and score X y 为什么分数有时是负数 交叉验证是否将样本 X 划分为随机块或顺