特征选择方法汇总

news/2024/7/2 1:21:14

卢总 - 特征选择方法汇总

特征选择三种方法:

  • Filter(过滤法)

  • Wrapper(包装法)

  • Embedded(嵌入法)

过滤法

卡方检验

直接看sklearn代码:

首先做OHE

Y = LabelBinarizer().fit_transform(y)

做完之后 Y Y Y的shape是 N × K N\times K N×K

observed = safe_sparse_dot(Y.T, X)          # n_classes * n_features

K , N × N , M K,N\times N,M K,N×N,M

形成一个 K × M K\times M K×M的矩阵,表示每个类别对应的特征之和

observed
Out[6]: 
array([[250.3, 171.4,  73.1,  12.3],
       [296.8, 138.5, 213. ,  66.3],
       [329.4, 148.7, 277.6, 101.3]])

在这里插入图片描述

最后算卡方的代码:

def _chisquare(f_obs, f_exp):
    """Fast replacement for scipy.stats.chisquare.

    Version from https://github.com/scipy/scipy/pull/2525 with additional
    optimizations.
    """
    f_obs = np.asarray(f_obs, dtype=np.float64)

    k = len(f_obs)
    # Reuse f_obs for chi-squared statistics
    chisq = f_obs
    chisq -= f_exp
    chisq **= 2
    with np.errstate(invalid="ignore"):
        chisq /= f_exp
    chisq = chisq.sum(axis=0)
    return chisq, special.chdtrc(k - 1, chisq)

自变量对因变量的相关性
在这里插入图片描述
A A A是观测, E E E是期望, 其shape都是 K × M K\times M K×M

自变量有 N N N种取值,因变量有 M M M种取值,考虑自变量等于 i i i且因变量等于 j j j的样本频数的观察值与期望的差距,构建统计量

KL散度、相对熵

MIC

Fisher


http://www.niftyadmin.cn/n/1493281.html

相关文章

[linux]cp和mv对文件和链接影响的区别

好久不写blog了。。。加油,继续写blog。今天和同事讨论到一个问题,问题描述: 有文件a,a1为其硬链接,即: ln a a1 现在有文件b,对其进行以下两种操作: 1. mv b a 2. cp b a 问这两种操…

【机器学习】【操作系统】【网络】【算法与数据结构】知识汇总

机器学习 L1不可导的时候该怎么办 操作系统 堆栈区别 堆和栈的区别: 一、堆栈空间分配区别: 1)、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其…

记录tomcat服务器开启关闭时间

1、IO流 package com.zy.exercise; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.servl…

graph embedding源码阅读

文章目录LINEstruc2vec计算结构距离计算每个结点的有序度序列遍历边表的顶点,每个都计算有序度序列LINE 看到 ge.models.line.LINE#_gen_sampling_table node_degree 表示出度 归一化后,得到顶点的分布norm_prob,然后算alias_table 构建al…

ORM到底如何使用了?

公司最近一个项目用到了实体类,借助其他成熟的框架实现了orm,可是在使用过程中却对于多表查询支持并不好。nbear看上去orm挺不错的,有空得研究下看看代码转载于:https://www.cnblogs.com/ocean2000/archive/2007/06/13/781755.html

Kubeflow调研

文章目录Kubeflow基本概念创建Kubeflow的Component通过Yaml定义在代码中创建在Jupyter中创建Kubeflow的架构TensorFlow Training 的支持 (TFJob)与 Jupyter Notebook 的整合KFServing以解决一个分子属性预测问题为例,阐述如何用kubeflow实现Kubeflow 的总结Kubeflow…

利用consul在spring boot中实现最简单的分布式锁

因为在项目实际过程中所采用的是微服务架构,考虑到承载量基本每个相同业务的服务都是多节点部署,所以针对某些资源的访问就不得不用到用到分布式锁了。 这里列举一个最简单的场景,假如有一个智能售货机,由于机器本身的原因不能同一…

Oracle常用结构或函数使用笔记一

With用法: The WITH query_name clause lets you assign a name to a subquery block. You can then reference the subquery block multiple places in the query by specifying the query name. Oracle optimizes the query by treating the query name as either…