第一步就是导包,这里我们主要需要用到的就是sklearn和pandas
我们先对自己的数据集进行一下处理

import numpy as np
import pandas as pd
testset=pd.read_csv("data.csv")
testset.head(5)

数据集导入

dataset=testset
dataset.target=testset['标签']
dataset.target.head(5)


因为数据集比较大就放前几个拿出来给大家看看,提取完标签之后,为了让后面的步骤更加简洁,直接在数据集中删除掉最后的一列target

testset.drop(columns=['currentdepth'],inplace=True)
testset.head(5)

除去target这一列的标签,剩下的都是需要进行排序的特征

dataset.feature_names=testset.columns
dataset.feature_names

特征都被输出来了

dataset.data=testset[['特征1','特征2', '特征3', '特征4'......]]
dataset.data.head(5)

这里我赋给dataset的data值都是根据上面输出的特征属性来的,需要对部分属性排序也可以,为了方便可以多drop掉几个特征然后赋给新的dataset

print("data shape:{}".format(dataset.data.shape))
print("target shape:{}".format(dataset.target.shape))
print("line head 5:\n{}".format(dataset.data[:5]))
print("target head 5:\n{}".format(dataset.target[:5]))

分别输出前五个数据看看有没有缺特征或者data和target有空值的

数据集处理完成后检查一下是不是data、target、feature_names这三个都有赋值,它们在数据集中对应的位置应该是这样的(以西瓜数据集为例)

色泽、根蒂、敲声、纹理、脐部、触感这些是feature_names,好瓜这一列是target,中间的青绿、乌黑这些是data,在数据处理时最好把data以行的形式存储起来,这样一行是一个实例

第二步是处理我们通过处理初始的数据集得到的data、target和feature_names

X=dataset.data
X.shape
Y=dataset.target
names=dataset.feature_names
print(names)

第三步利用sklearn这个包中的随机森林对特征进行排序,前面都是准备工作,如果是网上可下载的那种数据集不需要花那么多功夫在处理数据集上

from sklearn.ensemble import RandomForestClassifier
rf=RandomForestClassifier()
rf.fit(X,Y)
print("Features sorted by their score:")
print(sorted(zip(map(lambda x:round(x,4),rf.feature_importances_),names)))

这里也可以不用随机森林,看到有人用线性回归的,有兴趣的同学也可以实现下,后面会附上相关链接

一般来说维数比较小的数据集得出来的重要性排序都不会有很低的,针对维数比较大的数据集可以利用这个方法剔除掉数据集中影响比较小的特征,在保证准确度的情况下训练速度更快。

线性回归进行重要性排序
使用标准数据集对特征进行重要性排序
两种重要性排序的方法

利用随机森林进行特征重要性排序相关推荐

  1. 利用随机森林对特征重要性进行评估 方法一

    https://hal.archives-ouvertes.fr/file/index/docid/755489/filename/PRLv4.pdf 前言 随机森林是以决策树为基学习器的集成学习算法 ...

  2. 利用随机森林对特征重要性进行评估

    文章目录 1 前言 2 随机森林(RF)简介 3 特征重要性评估 4 举个例子 5 参考文献 1 前言 随机森林是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,更令人惊 ...

  3. 随机森林的特征重要性排序

    OOB计算 用未被选择到的学习的数据,做验证集计算.不必另外做validation了 Feature Selection 如果没有做好这部分,也是有缺点的: 其中最致命的就是,可能得到的是错误的答案, ...

  4. 随机森林做特征重要性排序和特征选择

    随机森林模型介绍: 随机森林模型不仅在预测问题上有着广泛的应用,在特征选择中也有常用. 随机森林是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,更令人惊奇的是它在分类和 ...

  5. 利用随机森林对特征重要性进行评估(公式原理)

    本文参考来源于: 杨凯, 侯艳, 李康. 随机森林变量重要性评分及其研究进展[J]. 2015. 码字不易,各位看官大大的赞是我更细的动力! 一.引言 随机森林(randomforest,RFrand ...

  6. 随机森林对特征重要性排序

    two methods:  1.Mean decrease impurity 不纯度降低 大概是对于每颗树,按照impurity(gini /entropy /information gain)给特征 ...

  7. python随机森林变量重要性_利用随机森林对特征重要性进行评估

    前言 随机森林是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,更令人惊奇的是它在分类和回归上表现出了十分惊人的性能,因此,随机森林也被誉为"代表集成学习技术水 ...

  8. 利用随机森林对特征重要性进行评估(含实例+代码讲解)

    这部分主要讲解一下如何使用,需要看原理的小伙伴,可以到我之前的博客: https://blog.csdn.net/wzk4869/article/details/126379073?spm=1001. ...

  9. 随机森林计算特征重要性_随机森林中计算特征重要性的3种方法

    随机森林计算特征重要性 The feature importance describes which features are relevant. It can help with a better ...

最新文章

  1. 知名大学4篇学术论文被撤!校方:已做相关取证!
  2. 微服务实战(六):选择微服务部署策略
  3. PHP学习笔记-PHP与JavaScript的交互
  4. Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload
  5. 深入浅出全面解析RDMA
  6. oracle 查看函数被哪些触发器引用_oracle如何查看存储过程,存储函数,触发器的具体内容...
  7. 从平庸到杰出,技术人应该专注的底层知识是什么?
  8. html-文本框和单选框
  9. 如何有效的使用 for循环和Iterator遍历
  10. 442个超实用电脑快捷键大全!总有你会用上的
  11. vrep中remoteAPI 编程中遇到的没有预留命令执行时间遇到的问题
  12. python generator
  13. linux使用gcc编译报错“undefined reference to `pthread_create'”
  14. 使用wget命令镜像网站
  15. Tri-training regression, 协同训练回归
  16. 羿的后人证明上古历史不是神话
  17. 【路径规划】基于matlab RBF优化Qlearning算法机器人避障路径规划【含Matlab源码 1219期】
  18. 99,36岁老码农现身说法
  19. 把编程当小葵花妈妈课堂
  20. 海康威视错误代码0xf_调用海康威视sdk获取车牌号

热门文章

  1. Unnamed System Edition v4.0
  2. zebra ZT41142 打印机配置网络连接问题
  3. Lumerical官方案例、FDTD时域有限差分法仿真学习(九)——布拉格光栅(Bragg gratings)
  4. G6309列车02车05D号
  5. 金海佳学C++primer 练习9.15/9.16
  6. 线性代数的几何意义(一)——线性代数的意义
  7. Git 基础知识大全
  8. rocket-dashboard安装部署
  9. 帮助企业客户提升服务管理数字化能力,「甄知科技」燕千云完成7000万元首轮融资
  10. 对YY/T 0287-2017 医疗器械 质量管理体系的一些学习