没有合适的资源?快使用搜索试试~ 我知道了~
首页python特征选择(一款非常棒的特征选择工具:feature-selector)
python特征选择(一款非常棒的特征选择工具:feature-selector)
42 下载量 103 浏览量
更新于2023-03-03
评论 2
收藏 744KB PDF 举报
文章目录前言1.数据集选择2.feature-selector用法3.具有高missing-values百分比的特征4.具有高相关性的特征5.对模型预测结果无贡献的特征6.对模型预测结果只有很小贡献的特征7.具有单个值的特征8.从数据集去除选择的特征9.结论 前言 FeatureSelector是用于降低机器学习数据集的维数的工具。 文章介绍地址 项目地址 本篇主要介绍一个基础的特征选择工具feature-selector,feature-selector是由Feature Labs的一名数据科学家williamkoehrsen写的特征选
资源详情
资源评论
资源推荐
python特征选择(一款非常棒的特征选择工具:特征选择(一款非常棒的特征选择工具:feature-selector))
文章目录文章目录前言1.数据集选择2.feature-selector用法3.具有高missing-values百分比的特征4.具有高相关性的特征5.对模型预测结果无贡献的特征6.对模型预测结
果只有很小贡献的特征7.具有单个值的特征8.从数据集去除选择的特征9.结论
前言前言
FeatureSelector是用于降低机器学习数据集的维数的工具。是用于降低机器学习数据集的维数的工具。
文章介绍地址文章介绍地址
项目地址项目地址
本篇主要介绍一个基础的特征选择工具feature-selector,feature-selector是由Feature Labs的一名数据科学家williamkoehrsen写的特征选择库。feature-
selector主要对以下类型的特征进行选择:
1.具有高具有高missing-values百分比的特征百分比的特征
2.具有高相关性的特征具有高相关性的特征
3.对模型预测结果无贡献的特征(即对模型预测结果无贡献的特征(即zero importance))
4.对模型预测结果只有很小贡献的特征(即对模型预测结果只有很小贡献的特征(即low importance))
5.具有单个值的特征(即数据集中该特征取值的集合只有一个元素)具有单个值的特征(即数据集中该特征取值的集合只有一个元素)
从上面可以看出feature-selector确实是非常基础的特征选择工具,正因为非常的基础,所以才非常的常用(这也是为什么williamkoehrsen要写这个特征
选择库的原因),在拿到一个数据集的时候,往往都需要将上述类型的特征从数据集中剔除掉。针对上面五种类型的特征,feature-selector分别提供以下五
个函数来对此处理:
1.identify_missing()
2.identify_collinear()
3.identify_zero_importance()
4.identify_low_importance()
5.identify_single_unique(*)
1.数据集选择数据集选择
在这里使用自己的训练数据集。文章末尾附上链接文章末尾附上链接。数据集采样代码如下:
import pandas as pd
import numpy as np
data = pd.read_csv('base_train_sum.csv')
data
2.feature-selector用法用法
导入数据并创建feaure-selector实例
注意:注意:
作者并没有把作者并没有把feature-selector发布到发布到pypi上,所以不能使用上,所以不能使用pip和和conda进行安装,只能手动从进行安装,只能手动从github下载下来,然后把下载下来,然后把feature_selector.py文件放到文件放到
当前工作目录,然后再进行当前工作目录,然后再进行import操作。操作。
# feature-selector用法
# 导入数据并创建feaure-selector实例
import pandas as pd
from feature_selector import FeatureSelector
# 数据集中TARGET字段为对应样本的label
train_labels = data.flag
# 获取all features
train_features = data.drop(columns='flag')
# 创建 feature-selector 实例,并传入features 和labels
# fs = FeatureSelector(data = train_features,lables = train_labels)
fs = FeatureSelector(data = train_features, labels = train_labels)
3.具有高具有高missing-values百分比的特征百分比的特征
该方法用于选择出missing value 百分比大于60%的特征用于选择missing value 百分比大于指定值(通过missing_threshold指定百分比)的feature。该方法
能应用于监督学习和非监督学习的特征选择。
fs.identify_missing(missing_threshold=0.6)
# 查看选择出的特征
# fs.ops['missing'] missing_features = fs.ops['missing'] print(missing_features[:10])
# 绘制所有特征missing value百分比的直方图
fs.plot_missing()
说明咋没有属性缺失值达到 60%以上
该方法内部使用pandas 统计数据集中所有feature的missing value 的百分比,然后选择出百分比大于阈值的特征,详见feature-selector.py的114-136
行。
https://github.com/WillKoehrsen/feature-selector/blob/master/feature_selector/feature_selector.py#L114-L136
For detailed information on the missing fractions, we can access the missing_stats attribute, a dataframe of the missing fractions for all
features.
fs.missing_stats.head(10)
4.具有高相关性的特征具有高相关性的特征
该方法用于选择相关性大于指定值(通过correlation_threshold指定值)的feature。该方法同样适用于监督学习和非监督学习。
# 不对feature进行one-hot encoding(默认为False), 然后选择出相关性大于0.0000005%的feature,
fs.identify_collinear(correlation_threshold=0.0000005, one_hot=False)
查看选择的feature
correlated_features = fs.ops['collinear'] correlated_features[:5]
中文显示设置中文显示设置
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
绘制选择的特征的相关性heatmap
fs.plot_collinear()
To plot all of the correlations in the data, we can pass in plot_all = True to the plot_collinear function.
fs.plot_collinear(plot_all=True)
剩余11页未读,继续阅读
weixin_38551205
- 粉丝: 3
- 资源: 894
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0