递归特征消除和K折交叉验证(以决策树回归为例)
与特征选择不同的是递归特征消除后不会输出权值
导入相应模块
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折交叉验证(以决策树回归为例)相关推荐
- python k折交叉验证,python中sklearnk折交叉验证
python中sklearnk折交叉验证 发布时间:2018-06-10 11:09, 浏览次数:492 , 标签: python sklearnk 1.模型验证回顾 进行模型验证的一个重要目的是要选 ...
- 五折交叉验证/K折交叉验证, python代码到底怎么写
五折交叉验证: 把数据平均分成5等份,每次实验拿一份做测试,其余用做训练.实验5次求平均值.如上图,第一次实验拿第一份做测试集,其余作为训练集.第二次实验拿第二份做测试集,其余做训练集.依此类推~ 但 ...
- Kaggle上分技巧——单模K折交叉验证训练+多模型融合
一.K折交叉验证训练单个模型 1.1 k 折交叉验证(K-Fold Cross Validation)原理 通过对 k 个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感, ...
- 参数调优:K折交叉验证与GridSearch网格搜索
本文代码及数据集来自<Python大数据分析与机器学习商业案例实战> 一.K折交叉验证 在机器学习中,因为训练集和测试集的数据划分是随机的,所以有时会重复地使用数据,以便更好地评估模型的有 ...
- matlab-K折交叉验证与分层K折交叉验证
文章目录 K折交叉验证有什么用? 如何实现K折交叉验证? K折交叉验证的要点:(文字版) 如何实现K折交叉验证(图片版) 如何实现K折交叉验证(matlab版) 为啥我们需要分层K折交叉验证? 如何实 ...
- 【Kaggle比赛常用trick】K折交叉验证、TTA
一.什么是k折交叉验证? 在训练阶段,我们一般不会使用全部的数据进行训练,而是采用交叉验证的方式来训练.交叉验证(Cross Validation,CV)是机器学习模型的重要环节之一.它可以增强随机性 ...
- 机器学习实战---朴素贝叶斯算法实现+使用K折交叉验证(代码详解+创新)
<机器学习实战朴素贝叶斯算法实现+使用K折交叉验证> 未经允许,不得擅自转载! 提供数据集如下(永久有效,需要的自行下载): 链接:https://pan.baidu.com/s/1Sv0 ...
- 【机器学习】Stacking与K折交叉验证
其他机器学习系列文章见于专题:机器学习进阶之路--学习笔记整理,欢迎大家关注. 1. Stacking定义 Stacking并不是简单地对个体学习器的结果做简单逻辑处理,而是先从初始数据集训练出初 ...
- 学习笔记5-梯度爆炸和梯度消失(K折交叉验证)
1.梯度消失.梯度爆炸 梯度消失和梯度爆炸 考虑到环境因素的其他问题 1.1 本次课程主要任务 了解学习梯度消失与梯度爆炸产生的原因以及怎么样解决. 考虑到环境因素的其他问题(协变量偏移,标签偏移,概 ...
最新文章
- 功率半导体碳化硅(SiC)技术
- python线程的注意点(线程之间执行是无序的、主线程会等待所有的子线程执行结束再结束(守护主线程)、线程之间共享全局变量、线程之间共享全局变量数据出现错误问题(线程等待(join)、互斥锁))
- Storm 01_初识初知
- 4怎样判断动作是否执行_汽车驾驶怎样试验高压火,怎样判断分电器盖是否破裂,来看看吧!...
- 一行代码,能导入所有Python库!
- OpenCV-美食—鲜美滤镜
- WannaCry 勒索病毒用户处置指南
- python调用phone库查询手机号码相关信息
- 《集体智慧编程》学习笔记001
- 激活navicat提示rsa public key not find的问题
- 在线绘制函数图像和在线图标绘制网址
- 快速部署OpenStack的操作笔记(珍藏版)
- arcgis javascript Measurement的使用
- 基于K均值算法的鸢尾花聚类实验(Sklearn实现)
- 东莞惠州楼盘又来深抢客 推盘量居历史高位 2012.5.12
- 数据、数据资源及数据资产管理的区别
- 如何将html表格导出到excel,html 页面导出到excel表格数据类型-如何将html里面的table导出成excel...
- 大数据时代,香港成为IDC发展新战略区域
- 博大高校网站群使用经验
- CSDN小bug引发的思考,求赐教!
热门文章
- mysql 双主问题_MySQL 双主问题集
- 集思广益,这样的设计可行吗?
- Python 爬取诗词分析古人最喜欢用的诗词
- vue.runtime.esm.js:619 [Vue warn]: Duplicate keys detected: ‘/carsend‘. This may cause an update err
- nginx配置判断是pc端还是移动端并进行对应的链接跳转
- BDP FL-PEG4-TCO,BDP FL-四聚乙二醇-(4E)-反式环辛烯​,CAS:2183473-16-5
- 网络卡顿怎么办?快来试试华为云CDN
- 一帆风顺物业管理系统 v3.01 免费
- 【博客422】keepalived如何实现vip
- Handsfree.js — 一个通过计算机视觉集成手势,面部表情和各种姿势识别的前端库