sklearn:使用GBDT选择特征
来源:互联网 发布:php curl获取json数据 编辑:程序博客网 时间:2024/06/04 19:28
(1)如何在numpy数组中选取若干列或者行?
>>>import numpy as np
>>>tmp_a = np.array([[1,1], [0.4, 4], [1., 0.9]])
>>>tmp_a
>>>tmp_a[[0,1],:]#选第0、1行
>>>tmp_a[np.array([True, False, True]),:]# 选第0、2行
>>>tmp_a[:,[0]]#选第0列
>>>tmp_a[:, np.array([True, False])]#选第0列
#选择importance>0的特征
注:X为数据特征,y为标记的类别。用X[499:],y[499:]对GBDT进行训练。然后如果该特征的gbdt.feature_importances_>0,则该特征保留,否则,则把该特征删除,从而达到选取特征的效果。
>>>import numpy as np
>>>tmp_a = np.array([[1,1], [0.4, 4], [1., 0.9]])
>>>tmp_a
>>>tmp_a[[0,1],:]#选第0、1行
>>>tmp_a[np.array([True, False, True]),:]# 选第0、2行
>>>tmp_a[:,[0]]#选第0列
>>>tmp_a[:, np.array([True, False])]#选第0列
(2)训练GBDT,选取特征,选完之后可以用其他方法继续进行训练。
from sklearn.ensemble import GradientBoostingClassifiergbdt = GradientBoostingClassifier( init=None, learning_rate=0.1, loss='deviance', max_depth=3, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=100, random_state=None, subsample=1.0, verbose=0, warm_start=False)print "fit start!"gbdt.fit(X[499:], y[499:])print "fit success!"score = gbdt.feature_importances_print gbdt.feature_importances_.shape
#选择importance>0的特征
X_new = X[:, gbdt.feature_importances_>0]X_new.shape
注:X为数据特征,y为标记的类别。用X[499:],y[499:]对GBDT进行训练。然后如果该特征的gbdt.feature_importances_>0,则该特征保留,否则,则把该特征删除,从而达到选取特征的效果。
阅读全文
0 0
- sklearn:使用GBDT选择特征
- sklearn特征选择类库使用小结
- sklearn学习:使用sklearn进行特征选择(未完)
- 特征选择 GBDT 特征重要度
- sklearn:GBDT
- 使用sklearn做特征工程
- 使用sklearn做特征工程
- 使用sklearn做特征工程
- 使用sklearn做特征工程
- sklearn特征选择和分类模型
- 基于sklearn的特征选择方法
- DM02-sklearn特征选择总结与Demo
- 特征选择——卡方检验(使用Python sklearn进行实现)
- sklearn学习——特征工程(特征选择)
- GBDT(sklearn)参数详解
- GBDT(sklearn)进行回归
- 使用sklearn做单机特征工程
- 使用sklearn做单机特征工程
- c# progressBar进度条改变颜色及显示进度数字
- Python冒泡排序算法
- 把数组中数字连起来组成一个最小的数字
- git使用指南
- dd 命令拷贝linux系统
- sklearn:使用GBDT选择特征
- log4net使用流程
- Python + worldcloud + jieba 十分钟学会用任意中文文本生成词云
- 经典String str = new String("abc")内存分配问题
- Android的Hander传输List,Map;
- Java利用Itext导出pdf
- 函数中的参数修改,原值会不会跟着变?这个还是要用”箭头“理论来解释
- 有关apache包里面的BeanUtils.copyProperties 字段类型为Integer或者Double时,自动赋值为默认值的问题随笔
- 数据库分区