与特征选择不同的是递归特征消除后不会输出权值

导入相应模块

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeRegressor
from sklearn.feature_selection import RFECV

读取数据

X=pd.read_excel('boston.xlsx')
del X['Unnamed: 0']
Y=X['target'].copy()
del X['target']
names=X.columns

指标选择为均方误差

scoring='neg_root_mean_squared_error'

用决策树模型做特征选择

Tree = DecisionTreeRegressor()
rfecv = RFECV(estimator=Tree, step=1, cv=10,scoring=scoring)
rfecv.fit(X,Y)
RFECV(cv=10, estimator=DecisionTreeRegressor(),scoring='neg_root_mean_squared_error')

输出最佳的特征个数

print("Optimal number of features : %d" % rfecv.n_features_)
Optimal number of features : 12

查看一下这些特征的排序

rfe_rank_list=rfecv.ranking_
print('特征\t\t排序')
for i in range(len(rfe_rank_list)):print('%s\t\t%d'%(names[i],rfe_rank_list[i]))
特征       排序
CRIM        1
ZN      2
INDUS       1
CHAS        1
NOX     1
RM      1
AGE     1
DIS     1
RAD     1
TAX     1
PTRATIO     1
B       1
LSTAT       1

要删除掉排序不是1的特征

留下的特征为

for i in range(len(rfe_rank_list)):if(rfe_rank_list[i]==1):print(names[i])
CRIM
INDUS
CHAS
NOX
RM
AGE
DIS
RAD
TAX
PTRATIO
B
LSTAT
plt.figure()
plt.xlabel("Number of features selected")
plt.ylabel("Cross validation score")
plt.plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_)
plt.show()

递归特征消除和K折交叉验证(以决策树回归为例)相关推荐

  1. python k折交叉验证,python中sklearnk折交叉验证

    python中sklearnk折交叉验证 发布时间:2018-06-10 11:09, 浏览次数:492 , 标签: python sklearnk 1.模型验证回顾 进行模型验证的一个重要目的是要选 ...

  2. 五折交叉验证/K折交叉验证, python代码到底怎么写

    五折交叉验证: 把数据平均分成5等份,每次实验拿一份做测试,其余用做训练.实验5次求平均值.如上图,第一次实验拿第一份做测试集,其余作为训练集.第二次实验拿第二份做测试集,其余做训练集.依此类推~ 但 ...

  3. Kaggle上分技巧——单模K折交叉验证训练+多模型融合

    一.K折交叉验证训练单个模型 1.1 k 折交叉验证(K-Fold Cross Validation)原理 通过对 k 个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感, ...

  4. 参数调优:K折交叉验证与GridSearch网格搜索

    本文代码及数据集来自<Python大数据分析与机器学习商业案例实战> 一.K折交叉验证 在机器学习中,因为训练集和测试集的数据划分是随机的,所以有时会重复地使用数据,以便更好地评估模型的有 ...

  5. matlab-K折交叉验证与分层K折交叉验证

    文章目录 K折交叉验证有什么用? 如何实现K折交叉验证? K折交叉验证的要点:(文字版) 如何实现K折交叉验证(图片版) 如何实现K折交叉验证(matlab版) 为啥我们需要分层K折交叉验证? 如何实 ...

  6. 【Kaggle比赛常用trick】K折交叉验证、TTA

    一.什么是k折交叉验证? 在训练阶段,我们一般不会使用全部的数据进行训练,而是采用交叉验证的方式来训练.交叉验证(Cross Validation,CV)是机器学习模型的重要环节之一.它可以增强随机性 ...

  7. 机器学习实战---朴素贝叶斯算法实现+使用K折交叉验证(代码详解+创新)

    <机器学习实战朴素贝叶斯算法实现+使用K折交叉验证> 未经允许,不得擅自转载! 提供数据集如下(永久有效,需要的自行下载): 链接:https://pan.baidu.com/s/1Sv0 ...

  8. 【机器学习】Stacking与K折交叉验证

    其他机器学习系列文章见于专题:机器学习进阶之路--学习笔记整理,欢迎大家关注. 1. Stacking定义   Stacking并不是简单地对个体学习器的结果做简单逻辑处理,而是先从初始数据集训练出初 ...

  9. 学习笔记5-梯度爆炸和梯度消失(K折交叉验证)

    1.梯度消失.梯度爆炸 梯度消失和梯度爆炸 考虑到环境因素的其他问题 1.1 本次课程主要任务 了解学习梯度消失与梯度爆炸产生的原因以及怎么样解决. 考虑到环境因素的其他问题(协变量偏移,标签偏移,概 ...

最新文章

  1. 功率半导体碳化硅(SiC)技术
  2. python线程的注意点(线程之间执行是无序的、主线程会等待所有的子线程执行结束再结束(守护主线程)、线程之间共享全局变量、线程之间共享全局变量数据出现错误问题(线程等待(join)、互斥锁))
  3. Storm 01_初识初知
  4. 4怎样判断动作是否执行_汽车驾驶怎样试验高压火,怎样判断分电器盖是否破裂,来看看吧!...
  5. 一行代码,能导入所有Python库!
  6. OpenCV-美食—鲜美滤镜
  7. WannaCry 勒索病毒用户处置指南
  8. python调用phone库查询手机号码相关信息
  9. 《集体智慧编程》学习笔记001
  10. 激活navicat提示rsa public key not find的问题
  11. 在线绘制函数图像和在线图标绘制网址
  12. 快速部署OpenStack的操作笔记(珍藏版)
  13. arcgis javascript Measurement的使用
  14. 基于K均值算法的鸢尾花聚类实验(Sklearn实现)
  15. 东莞惠州楼盘又来深抢客 推盘量居历史高位 2012.5.12
  16. 数据、数据资源及数据资产管理的区别
  17. 如何将html表格导出到excel,html 页面导出到excel表格数据类型-如何将html里面的table导出成excel...
  18. 大数据时代,香港成为IDC发展新战略区域
  19. 博大高校网站群使用经验
  20. CSDN小bug引发的思考,求赐教!

热门文章

  1. mysql 双主问题_MySQL 双主问题集
  2. 集思广益,这样的设计可行吗?
  3. Python 爬取诗词分析古人最喜欢用的诗词
  4. vue.runtime.esm.js:619 [Vue warn]: Duplicate keys detected: ‘/carsend‘. This may cause an update err
  5. nginx配置判断是pc端还是移动端并进行对应的链接跳转
  6. BDP FL-PEG4-TCO,BDP FL-四聚乙二醇-(4E)-反式环辛烯​,CAS:2183473-16-5
  7. 网络卡顿怎么办?快来试试华为云CDN
  8. 一帆风顺物业管理系统 v3.01 免费
  9. 【博客422】keepalived如何实现vip
  10. Handsfree.js — 一个通过计算机视觉集成手势,面部表情和各种姿势识别的前端库