作者:时晴

虽然网上有各种各样特征筛选的方法,度娘一下眼花缭乱,什么方差选择法,相关系数法,卡方检验,互信息法等等.写特征已经够辛苦了,还要用各种算法做特征筛选,有没有什么工具,能服务我们这种"懒人",直接筛选出有用的特征呢?当然,它来了:Kydavra M3USelector.

M3USelector

关于特征选择,本能能想到的就是类似树模型的思想,在一个特征下,不同分类的分布是有明显差异的,如果一个特征下,各个类别都是均匀分布,那么这个特征是完全没用的.这就是M3USelector的主要思想.

闲话不多说,直接show code.安装的话直接用pip.

pip install --upgrade kydavra

我们用一个二分类数据集(预估是否有心脏病)作为例子

# 数据下载路径:https://www.kaggle.com/ronitf/heart-disease-uci?select=heart.csv
from kydavra import MUSESelector
import pandas as pd
data = pd.read_csv('./heart.csv')

数据如下所示:

然后直接用MUSESelector去选择特征:

# 参数非常简单
# num_features 选几个特征
# n_bins 连续值分成几个桶
# p 表示某一类别累计概率最小值
# T 表示类别纯度最小值
muse = MUSESelector(num_features = 5, n_bins = 20, p = 0.2, T = 0.1)
selected_cols = muse.select(data, 'target')

这样我们就筛选了5个最重要的特征了:

那么实战中,我们到底应该怎么用呢?num_features到底应该怎么选择?其实写个循环搜索即可,如下模版:

from kydavra import MUSESelector
data = pd.read_csv("训练数据")
label_col = "label"
eval_metric = []
# max_columns_num 最大特征数
for i in range(1, max_columns_num):muse = MUSESelector(num_features=i)cols = muse.select(data, label_col)X = df[cols].valuesy = df['target'].valuesmodel = ...eval_metric.append(model.cross_val(x, y))

最后就能找到模型泛化能力最好时特征的数量了.怎么样,是不是懒人必备特征筛选器,赶紧用起来吧! Kydavra的功能很强大,远不止特征筛选,感兴趣的可以看看开源:

https://github.com/ScienceKot/kydavra


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑黄海广老师《机器学习课程》课件合集
本站qq群851320808,加入微信群请扫码:

推荐特征筛选偷懒神器-M3USelector相关推荐

  1. 推荐8款堪称神器的良心软件

    工欲善其事必先利其器,推荐8款堪称神器的良心软件,每一款都是精品,可以大幅提高电脑的使用体验,解决超多难题.喜欢的话记得点赞和关注哦~ 1.uTools uTools是一款快速搜索工具 ,跨平台支持W ...

  2. 【数据竞赛】懒人特征筛选算法!

    作者:杰少 Kaggle竞赛知识点--RFE! 简 介 Recursive Feature Elimination(RFE)算法是数据竞赛中最为流行的特征筛选方案之一,和我们平时在做try and e ...

  3. 高维数据中特征筛选方法的思考总结——多变量分析筛选法

    前言:之前的文章(高维数据中特征筛选方法的思考总结--单变量分析筛选法)中,对单变量分析筛选变量进行了初步考量,本文将进一步总结多变量分析筛选法.由于本文多处摘录网上的博客,只是进行了归纳整理,因此笔 ...

  4. idea中摸鱼插件_idea中那些好用到飞起的插件,偷懒神器

    本期推荐一些开发人员常用的一些idea插件.偷懒神器在此,不再秃头! 1. idea安装插件的方法. file->setting->plugins 搜索插件的名称,如果没有安装这个插件就可 ...

  5. 7000 字精华总结,Pandas/Sklearn 进行机器学习之特征筛选,有效提升模型性能

    作者 | 俊欣 来源 | 关于数据分析与可视化 今天小编来说说如何通过pandas以及sklearn这两个模块来对数据集进行特征筛选,毕竟有时候我们拿到手的数据集是非常庞大的,有着非常多的特征,减少这 ...

  6. 特征工程系列:特征筛选的原理与实现(下)

    0x00 前言 我们在<特征工程系列:特征筛选的原理与实现(上)>中介绍了特征选择的分类,并详细介绍了过滤式特征筛选的原理与实现.本篇继续介绍封装式和嵌入式特征筛选的原理与实现. 0x01 ...

  7. R语言使用caret包的findCorrelation函数批量删除相关性冗余特征、实现特征筛选(feature selection)、剔除高相关的变量

    R语言使用caret包的findCorrelation函数批量删除相关性冗余特征.实现特征筛选(feature selection).剔除高相关的变量 目录

  8. R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度

    R语言回归模型构建.回归模型基本假设(正态性.线性.独立性.方差齐性).回归模型诊断.car包诊断回归模型.特殊观察样本分析.数据变换.模型比较.特征筛选.交叉验证.预测变量相对重要度 目录

  9. R语言常用线性模型特征筛选(feature selection)技术实战:基于前列腺特异性抗原(PSA)数据

    R语言常用线性模型特征筛选(feature selection)技术实战 目录 R语言常用线性模型特征筛选(feature selection)技术实战

最新文章

  1. 跨界 | 隐形AI与设计
  2. 在 AI Studio中利用Paddle实现经典的AlexNet
  3. python心得体会300字_有没有简单一点的 Python 小例子或小项目?
  4. corosync/openais+pacemaker+drbd+web实现高可用群集
  5. 虚拟机ping不通百度等外部网络
  6. Mysql运行在内核空间_思考mysql内核之初级系列6—innodb文件管理 | 学步园
  7. python中使用什么导入模块-python—模块导入和类
  8. C#提取文件名【C#】
  9. 刘良华(1969-),男,宁波市智慧城市规划标准发展研究院研究室副主任.
  10. Eclipse中【Maven下载时,下载源码】设定方法
  11. i.MX6 设备树 GPIO 默认值
  12. linux计划任务没有运行,linux下定时任务不能执行
  13. 在龙芯3A3000上安装Debian 10
  14. WZ-S甲醛传感器使用说明代码应用案例笔记
  15. 8g u盘容量变小格式化u盘内存变小--已解决
  16. Swiper参数说明(swiper参数配置)
  17. Linux网络知识--DHCP服务(理论部分)
  18. 【转】什么是公网安备
  19. MAX8722 CCFL背光控制器
  20. UI的四个实用配色网站

热门文章

  1. encodeURI、encodeURIComponent、btoa及其应用场景
  2. TortoiseGit for windows安装与配置
  3. object.defineProperty
  4. [BZOJ3214][ZJOI2013]丽洁体(Hash+DP)
  5. bzoj1190 [HNOI2007]梦幻岛宝珠 动态规划
  6. 通过padding-bottom或者padding-top实现等比缩放响应式图片
  7. sqlserver 实现数据库全文检索
  8. mysql有三种事务模式_MySQL之事务与三大范式
  9. 转载:opencv:关于vs opencv每次都要配置的解决方案
  10. Spring Boot程序无法加载主类解决方法