Sklearn专题二 随机森林
专题二 随机森林
概述
1、集成算法
1)集成算法考虑多个评估器的结果,汇总获取更好的分类、回归表现
2)三种集成算法:装袋法bagging(模型独立),提升法boosting(模型相关),stacking
3)随机森林是一种bagging集成算法,比决策树的效果好很多
RandomForestClassifier(随机森林分类器)
一、 4个参数
1、n_estimators:森林中树木的数量
1)越大往往越好,但计算量越大,达到一定值精确性波动,一般在0-200内选
2)单个决策树准确度越高,随机森林的准确度也会越高
2、random_state
1)随机森林中的random_state控制的是生成森林的模式,设成固定值生成一组固定的树
2)决策树中的random_state控制随机选择特征分支
3)随机性越大,bagging效果一般越好,因此一般不设置,若追求稳定性可设置成固定值
3、bootstrap、oob_score
1)bootstrap默认为True,控制有放回的随机抽样
2)oob_score默认为False,设置为True表示希望用袋外数据测试模型,此时训练函数中放入完整数据(不用划分训练集、测试集)
二、重要属性
1、estimators_,查看森林中树的状况
.estimators[num]取出一棵树
2、oob_score_,查看在袋外数据上测试结果
3、feature_importance_查看特征重要性(用zip把特征重要性和特征名连起来,易于观察哪一个特征更为重要)
三、重要接口
1、4个常用接口:apply(返回测试集中每一个样本在每一棵树中叶子节点的索引;需要画图或需要提取单独叶子节点时使用)、fit、predict(返回对测试集预测的标签)、score
2、predict_proba:
1)返回每个测试样本被分到每一类标签的概率,标签几类,返回几个
四、其它
1、“字符串:{}”.format()方法,format后面的内容就是大括号中的内容
2、sklearn特征和标签分开导入
3、train_test_split有随机性,因此采用交叉验证在不同测试集和训练集上验证,交叉验证导入完整的特征矩阵和标签
4、list.index(object)会返回对象object在列表中的索引
RandomForestRegressor(随机森林回归)
1、参数criterion取值不同(与决策树部分相同)
1)“mse”:回归树中,MSE是分支质量衡量指标,也是回归树回归质量衡量指标
2)“friedman_mse”
3)“mae”
2、模型衡量指标不同:R²或MSE(常用)
3、常用接口apply, predict, fit, score,没有predict_proba
注:如何打印sklearn模型评估指标列表?
import sklearn
sorted(skl## 标题earn.metrics.SCORERS.keys())
案例2.1 随机森林填补缺失值
1、sklearn.impute.SimpleImputer专门用来填补缺失值
SimpleImputer(missing_value=np.nan,strategy=“mean”)第一个值填空值是怎么表示的,有时为0
2、波士顿房价数据集,标签连续,回归
3、np.floor向下取整,返回.0形式的浮点数
4、怎么提前预防小数的出现?int(np.floor
5、np.random.randint(下限,上限,n) 在下限和上限之间取出n个整数,第一个值不填默认为0
6、np.random.choice,随机抽取不重复的随机数,可以使数据更加分散,不会集中在某些行(取数据量小于样本量时使用,本例中n<506)
missing_samples=rng.choice(n_samples,n_missing_samples,replace=False),replace=False表示不要重复
7、如何将矩阵转化成表?x_missing=pd.DataFrame(x_missing)
8、fit_transform(),训练+导出,相当于fit+predict
9、isnull()只能在df中用,如果使用需要转化
10、df.isnull().sum()确认有无缺失值,有缺失值返回的数比0大,True=1,False=0
11、如何使用算法填充缺失值?
特征矩阵和标签有某种联系,可以交换
新特征矩阵,在填补列非缺失行:x_train
新特征矩阵,在填补列缺失行:x_train
特征矩阵填补列不缺失值:y_train
特征矩阵填补列缺失值:需要预测的y_test(核心思想:把选中列看成标签列)
(这种做法适用于某一列特征大量缺失,若多列缺失,遍历特征,从缺失最少的列填补,填补其中一列时,先将其它特征缺失值用0代替)
12、np.argsort(X)是将X中的元素从小到大排序,并返回索引
np.sort(X)将X从小到大排序,但没有索引
13、pd.concat()
第一个参数:需要连接的所有对象用列表包起来
第二个参数:axis=1左右相连
14、如何用列表打开zip对象?
[*zip([“x_full”,“x_missing_mean”,“x_missing_0”,“x_missing_reg”],mse)]
15、如何画条形图?
plt.plot.bar(x轴,y轴)画条形图,plt.plot.barh(y轴,x轴)把条形图横过来
Sklearn专题二 随机森林相关推荐
- sklearn实战之随机森林
sklearn实战系列: (1) sklearn实战之决策树 (2) sklearn实战之随机森林 (3) sklearn实战之数据预处理与特征工程 (4) sklearn实战之降维算法PCA与SVD ...
- 《菜菜的机器学习sklearn课堂》随机森林应用泛化误差调参实例
随机森林 随机森林 - 概述 集成算法概述 sklearn中的集成算法 随机森林分类器 RandomForestClassifier 重要参数 控制基评估器的参数 n_estimators:基评估器的 ...
- sklearn RandomForest(随机森林)模型使用RandomSearchCV获取最优参数及模型效能可视化
sklearn RandomForest(随机森林)模型使用RandomSearchCV获取最优参数及模型效能可视化 随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林 ...
- sklearn专题二:随机森林
目录 1 概述 1.1 集成算法概述 1.2 sklearn中的集成算法 2 RandomForestClassifier 2.1 重要参数 2.1.1 控制基评估器的参数 2.1.2 n_estima ...
- Spark 和 Python.sklearn:使用随机森林计算 feature_importance 特征重要性
前言 在使用GBDT.RF.Xgboost等树类模型建模时,往往可以通过feature_importance 来返回特征重要性,本文以随机森林为例介绍其原理与实现.[ 链接:机器学习的特征重要性究竟是 ...
- sklearn中对随机森林进行调参
文章目录 一.闲言碎语 二.参数问题 三.结论 四.参考文献 一.闲言碎语 具体的方法可参考我的这篇文章python+sklearn进行交叉验证(使用交叉验证对数据划分,模型评估和参数估计,使用决策树 ...
- 【sklearn学习】随机森林分类、回归
集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合结果,以此来获取比单个模型更好的回归或分类表现. 三类集成算法:装袋法(Bagging).提升法(Boosting).stacking 装袋法: ...
- 【skLearn 练习】随机森林回归填补缺失值
文章目录 随机森林回归填补缺失值 ♦导入需要的库 ♦导入数据集 ♦构建缺失值 ♦缺失值填补 ① 均值mean填补 ② 使用0值填补 ③ 使用随机森林回归填补 ⑴ 缺失值数目排序索引 ⑵ 遍历索引填补空 ...
- 【机器学习实战】利用sklearn中的随机森林对红酒数据集进行分类预测
1. sklearn中的集成算法 sklearn中的集成算法模块ensemble 2.预测代码及结果 %matplotlib inline from sklearn.tree import Decis ...
最新文章
- 浏览器兼容性问题汇总及解决方案
- 查询linux信号量命令,linux下的trap命令和SIGHUP信号量详解。
- screw ---- 数据库转文档
- 在Java中如何读取用MATLAB的fwrite()函数写入文件的数据
- ubuntu下vim配置成c++开发编辑器
- 提高MyEclipse启动速度
- 拓端tecdat|R语言如何和何时使用glmnet岭回归
- 运营人员消消气,这个工具让数据分析轻松驾驭
- 数字电子技术基础-2-逻辑函数的最小项与最大项
- 《PMBOK第六版》章节知识点
- ppt入门到精通全套视频教程,Word+Excel+PPT三合一教程(15G)
- 苹果亮度自动调节怎么关闭_为何安卓自动亮度调节做不好?小米张国全释疑
- dijkstra模板(fast)
- 服务器系统测试,服务器系统整合测试
- 我们穷极一生,究竟追寻的是什么?
- np.percentile用法
- IOS 使用itms-services协议,服务端安装应用
- linux复制文件多份,Linux下同时复制多个文件
- 一般熟练盲打需要多久_学会盲打要多长时间,每天要练多长时间 盲打要练多久...
- java excel 数据有效性_Excel设置数据有效性实现单元格下拉菜单的3种方法
热门文章
- 年薪百万的生活是什么样子
- LeetCode——1803. 统计异或值在范围内的数对有多少(Count Pairs With XOR in a Range)[困难]——分析及代码(Java)
- mtr语言真是逆天了
- 我们暗恋的10种不良编程习惯
- python升级pip的命令
- wav文件 服务器失败,修复:Windows 7 中的 Windows Media Player 出现问题或错误,在 .wav 文件结束之前停止播放...
- oracle 存过传变量,Oracle 存储过程—为数传递变量
- 在 Python 中制作偶数列表
- 技术管理哪些事(三)落实“以人为本”的管理
- 【JavaSE】作业练习1111