(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列
>>>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 GradientBoostingClassifier
gbdt = 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,