1、决策树

可参考1参考2 回归决策树

DecisionTreeRegressor(criterion="mse",
                         splitter="best",
                         max_depth=None,
                         min_samples_split=2,
                         min_samples_leaf=1,
                         min_weight_fraction_leaf=0.,
                         max_features=None,
                         random_state=None,
                         max_leaf_nodes=None,
                         min_impurity_decrease=0.,
                         min_impurity_split=None,
                         presort=False)

分类决策树

DecisionTreeClassifier(criterion="gini",
                 splitter="best",
                 max_depth=None,
                 min_samples_split=2,
                 min_samples_leaf=1,
                 min_weight_fraction_leaf=0.,
                 max_features=None,
                 random_state=None,
                 max_leaf_nodes=None,
                 min_impurity_decrease=0.,
                 min_impurity_split=None,
                 class_weight=None,
                 presort=False)

2、随机森林
分类随机森林
参考1 包括决策树参数同上和同下特有参数
特有参数:
1)n_estimators=10:决策树的个数,越多越好,但是性能就会越差,至少100左右(具体数字忘记从哪里来的了)可以达到可接受的性能和误差率。

2)bootstrap=True:是否有放回的采样。

3)oob_score=False:oob(out of band,带外)数据,即:在某次决策树训练中没有被bootstrap选中的数据。多单个模型的参数训练,我们知道可以用cross validation(cv)来进行,但是特别消耗时间,而且对于随机森林这种情况也没有大的必要,所以就用这个数据对决策树模型进行验证,算是一个简单的交叉验证。性能消耗小,但是效果不错。

4)n_jobs=1:并行job个数。这个在ensemble算法中非常重要,尤其是bagging(而非boosting,因为boosting的每次迭代之间有影响,所以很难进行并行化),因为可以并行从而提高性能。1=不并行;n:n个并行;-1:CPU有多少core,就启动多少job。

5)warm_start=False:热启动,决定是否使用上次调用该类的结果然后增加新的。

6)class_weight=None:各个label的权重。
预测函数参数
1)predict_proba(x):给出带有概率值的结果。每个点在所有label的概率和为1.

2)predict(x):直接给出预测结果。内部还是调用的predict_proba(),根据概率的结果看哪个类型的预测值最高就是哪个类型。

3)predict_log_proba(x):和predict_proba基本上一样,只是把结果给做了log()处理。

3、XGBoostClassifier 参数
learning_rate:学习率 [0-1] - 0.3
n_estimators:模型中建立树的数量 [0-100] - 100
max_depth:树的最大深度,最大容易过拟合 [3-15] - 6
min_child_weight:划分到某个叶子节点的所有样本权重之和的最小值 [0-10] - 1
gamma:划分到叶子节点所需要达到的最小损失减少值 [0-10] -0
subsample:训练时使用的子样本占全部训练集的比例 [0.5-1] 1
colsamle_bytree:建树时使用的特征占总特征的比例 [0.5,1]-1
reg_alpha:L1正则化权重,越大可以防止过拟合 [0-10]-0
reg_lambda:L2正则化权重,越大可以防止过拟合 [0-10]-1