特征筛选2——皮尔逊相关系数筛选(单变量筛选)

2023-11-18

值域为正负1之间,用来筛查单变量与预测结果之间的相关关系,一般来讲:

  • 绝对值在0-0.1之间:无关
  • 绝对值在0.1-0.3之间:弱相关关系
  • 绝对值在0.3-0.6之间:存在相关关系
  • 绝对值在0.6-0.9之间:强相关关系
  • 绝对值大于0.9:几乎线性相关

在这里插入图片描述

主要的功能函数:

def pearsonr_selection(x_data, y_data):  # 皮尔逊pearsonr相关系数
    from scipy.stats import pearsonr
    para_dict3 = []
    for col_name, c_data in x_data.iteritems():
        sp = pearsonr(c_data, y_data)[0]
        para_dict3.append([col_name, abs(sp)])
    # 对特征进行排序
    feature_df = pd.DataFrame(para_dict3)
    feature_df.sort_values(by=1, ascending=False, inplace=True)
    return feature_df

示例

import pandas as pd
from sklearn.datasets import make_regression, make_classification


def pearsonr_selection(x_data, y_data):  # 皮尔逊pearsonr相关系数
    from scipy.stats import pearsonr
    para_dict3 = []
    for col_name, c_data in x_data.iteritems():
        sp = pearsonr(c_data, y_data)[0]
        para_dict3.append([col_name, abs(sp)])
    # 对特征进行排序
    feature_df = pd.DataFrame(para_dict3)
    feature_df.sort_values(by=1, ascending=False, inplace=True)
    return feature_df


if __name__ == '__main__':
    value_x, value_y = make_classification(n_samples=1000, n_classes=4, n_features=10, n_informative=8)
    df_x = pd.DataFrame(value_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(value_y)
    # value_x, value_y = load_data(samples=10000, classification=True)
    # 下面是筛选单变量特征
    feature_df = pearsonr_selection(df_x, df_y)  # 皮尔逊
    for col_index, value in feature_df.iterrows():
        print(value[0], ":", value[1])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

特征筛选2——皮尔逊相关系数筛选(单变量筛选) 的相关文章

  • numba 函数何时编译?

    我正在研究这个例子 http numba pydata org numba doc 0 15 1 examples html multi threading http numba pydata org numba doc 0 15 1 ex
  • 围绕 readline 构建的 python 批处理的触发器选项卡完成

    背景 我有一个 python 程序 它导入并使用 readline 模块来构建自制的命令行界面 我有第二个 python 程序 围绕 Bottle 一个 Web 微框架构建 充当该 CLI 的前端 第二个 python 程序向第一个程序打开
  • 从数据框中按索引删除行

    我有一个数组wrong indexes train其中包含我想从数据框中删除的索引列表 0 63 151 469 1008 要删除这些索引 我正在尝试这样做 df train drop wrong indexes train 但是 代码失败
  • Python中Decimal类型的澄清

    每个人都知道 或者至少 每个程序员都应该知道 http docs oracle com cd E19957 01 806 3568 ncg goldberg html 即使用float类型可能会导致精度错误 然而 在某些情况下 精确的解决方
  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • Argparse nargs="+" 正在吃位置参数

    这是我的解析器配置的一小部分 parser add argument infile help The file to be imported type argparse FileType r default sys stdin parser
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 您可以将操作直接应用于map/reduce/filter 中的参数吗?

    map and filter通常可以与列表理解互换 但是reduce并不那么容易被交换map and filter 此外 在某些情况下我仍然更喜欢函数语法 但是 当您需要对参数本身进行操作时 我发现自己正在经历语法体操 最终必须编写整个函数
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1
  • 您可以使用关键字参数而不提供默认值吗?

    我习惯于在 Python 中使用这样的函数 方法定义 def my function arg1 None arg2 default do stuff here 如果我不供应arg1 or arg2 那么默认值None or default
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d

随机推荐

  • MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))[MySQL插入内容超过4M]

    MySQL server has gone away BrokenPipeError 32 Broken pipe MySQL插入内容超过4M Bug描述 用Python的pymysql向MySQL数据库insert插入数据时 遇到报错信息
  • 估算服务器处理数据性能,服务器性能计算方法-20210720074826.docx-原创力文档

    一 数据库服务器性能计算需求分析 考虑到广州市公安局超级情报系统 SIS 设备升级项目的数据库 服务器的性能 我们建议采用主流的TPC C值进行性能估算 TPC C 是一种旨在衡量联机事务处理 OLTP 系统性能与可 伸缩 性的行业标准基准
  • Multi-mode pattern generator

    Multi mode pattern generator verilog编写 支持如下模式 Full screen White Full screen Black Full screen Red Full screen Green Full
  • JAVA操作Excel时文字自适应单元格的宽度设置方法

    使用JAVA操作Excel通常都使用JXL 方法很简单网上也有很多的教程 然后往往一些细节性的问题却导致我们这些Programmer苦恼不已 这两天帮一个朋友做一个Excel表格自动生成的小软件 就遇到的类似的问题 问题描述 通过Java向
  • 不同数据库的validationQuery检查语句

    数据库 validationQuery Oracle select 1 from dual MySQL select 1 Microsoft SQL Server select 1 DB2 select 1 from sysibm sysd
  • LeetCode83: 删除排序链表中的重复元素

    给定一个已排序的链表的头 head 删除所有重复的元素 使每个元素只出现一次 返回 已排序的链表 示例 1 输入 head 1 1 2 输出 1 2 示例 2 输入 head 1 1 2 3 3 输出 1 2 3 提示 链表中节点数目在范围
  • ASP高级计划与排产简介

    ASP Advanced Planning and Scheduling 高级计划与排产是一种计算机化的制造计划和排程系统 旨在帮助制造商更有效地管理其生产过程 它可以通过对订单需求 库存水平 生产能力和物料供应等关键信息的实时跟踪和分析
  • Git Bash ssh远程连接kali linux

    操作步骤 查看本机IP地址等网络相关信息 ifconfig 开启ssh服务 该命令正常情况下没有回显 service ssh start 查看ssh服务是否正常开启 如果正常开启 则此时有 active running 的提示 servic
  • dynamic_cast报错 异常

    转载请标明是引用于 http blog csdn net chenyujing1234 代码 http www rayfile com zh cn files 89459c23 7a0b 11e1 908f 0015c55db73d UnH
  • RabbitMQ使用详解

    文章目录 RabbitMQ 一 简介 二 rabbitmq基本原理 三 安装 3 1安装erlang环境 3 2 安装rabbitmq 3 3 使用docker安装 四 RabbitMQ程序的编写 4 1 rabbitMQ支持的消息模型 4
  • ElementUI怎样修改组件的css样式?

    1 开发中遇到的问题 需求 修改elementUI 中 环形 progress 宽度 由于父容器的宽度不确定 不能使用 width 属性设置宽度值 html代码如下
  • 根据图片地址得到文件流

    得到文件流 param url 图片地址 return public static byte getFileStream String url try URL httpUrl new URL url HttpURLConnection co
  • Spring Boot入门必会(基本介绍+依赖管理+自动装配)

    目录 一 基础入门 1 Spring Boot 是什么 2 SpringBoot 快速入门 2 1完成步骤 2 2快速入门小结 3 Spring SpringMVC SpringBoot 的关系 3 1梳理关系 3 2如何理解 约定优于配置
  • 青少年ptyhon可以参加的主流比赛大全

    青少年python教学视频ppt源码 青少年python系列目录 老程序员115的博客 CSDN博客 一 全国青少年软件编程等级考试 主办单位 中国电子学会 全国青少年电子信息科普创新联盟 网址 http www qceit org cn
  • React WebApp键盘遮挡输入框?

    写在前面 由于近期工作实在太忙 正在赶项目 抽不出时间整理平时遇到的坑 隔了很长时候没有给大家更新文章了 这次正好利用这个单休的时间写一篇开发时遇到的坑 大家如果有什么好的建议和意见欢迎投递哦 邮箱 lcczmy 163 com 本人使用的
  • 多数据源配置(Oracle+MySql),拿来即用

    前言 此次配置使用Druid数据源 1 pom文件
  • Python爬虫:抓取智联招聘岗位信息和要求(进阶版)

    本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者 王强 想要学习Python Python学习交流群 1039649593 满足你的需求 资料都
  • Linux添加永久静态路由信息

    首先让我们查看一下当前机器的路由表 执行如下命令 route n 当前本机只有一条默认路由 网关是192 168 142 1 Linux添加永久静态路由信息 然后我们确认一下当前工作的网卡 这里我们使用的是eth0 补充 如果机器中存在多块
  • 在Linux虚拟机中普通用户和超级用户直接的切换——指令

    Linux虚拟机中普通用户和超级用户直接的切换 指令 1 普通用户切换到root用户 普通用户到高级用户 su root 切换到root用户 输入的命令就是设置的root的密码 或者输入 redhat fengshuai su 也可以切换到
  • 特征筛选2——皮尔逊相关系数筛选(单变量筛选)

    值域为正负1之间 用来筛查单变量与预测结果之间的相关关系 一般来讲 绝对值在0 0 1之间 无关 绝对值在0 1 0 3之间 弱相关关系 绝对值在0 3 0 6之间 存在相关关系 绝对值在0 6 0 9之间 强相关关系 绝对值大于0 9 几