scikit-learn API参考手册之sklearn.tree
from sklearn.tree import 所需模型
tree.DecisionTreeClassofier(parameters)
一个决策树分类器。
参数:
- criterion:string类型,可选参数(默认=”gini”)。度量划分属性质量:”gini”指基尼不纯度(Gini impurity);”entropy”指信息增益。
- splitter:string类型,可选参数(默认=”best”)。每个结点选择划分属性的策略:“best”选择最好的划分;”random”选择最好的随机划分。
- max_features:int或float或string类型或None,可选参数(默认=None)。选择划分时所用的特征数目:
- 若是int类型,则使用max_features个特征;
- 若是float类型,则使用int(max_features*特征总数)个特征;
- 若是”auto“或”sqrt“,则使用sqrt(特征总数)个特征;
- 若是“log2”,则使用log2(特征总数)个特征;
- 若是None,则使用全部特征。
- max_depth:int类型或None,可选参数(默认=None)。树的最大深度。
- min_samples_split:int或float类型,可选参数(默认=2)。划分一个内部结点所需的最小样本数:若是int类型,则最少使用min_samples_split个样本;若是float类型,则最少使用ceil(min_samples_split*特征总数)个样本。
- min_samples_leaf:int或float类型,可选参数(默认=1)。叶子结点所需的最小样本数:若是int类型,则最少为min_samples_leaf个样本;若是float类型,则最少为ceil(min_samples_leaf*特征总数)个样本。
- min_weight_fraction_leaf:float类型,可选参数(默认=0)。限制了叶子节点所有样本权重和的最小值,如果小于这个值,则会和兄弟节点一起被剪枝。
- max_leaf_nodes:int类型或None,可选参数(默认=None)。叶子结点数目最大值。
class_weight:dict或list或”balanced”或None,可选参数(默认=None)。类别权重:
- dict:{类别标签:权重}指定类别权重;
- list:多输出问题,应给定一个包含多个dict的list参数;
- “balanced”:自动调整类别权重根据类别样本个数所占比例:样本总数/(类别的样本数);
random_state:int类型或RandomState实例或None,可选参数(默认=None)。
- 若是int,random_state是随机数生成器的种子;
- 若是RandomState实例,random_state是随机数生成器;
- 若是None,则随机数生成器是使用np.random的RandomState实例。
min_impurity_split:float类型,可选参数(默认=1e-7)。树增长的早停阈值:如果某结点的不纯度小于这个阈值,则该结点为叶子结点。
presort:bool类型,可选参数(默认=False)。是否在拟合过程中预排序数据to加速寻找最好的划分:对于样本量大的决策树,设为True可能会减慢训练过程;当使用样本量少或者受限深度的决策树,设置为true会加速训练。
属性:
classes_:类别标签(数组或列表)
feature_importances_:特征重要性(数组)
max_features_:max_features的inferred(推测?)值(int)
n_classes_:类别数目(int)
n_features_:特征数目(int)
n_outputs_:输出数目(int)
tree_:树对象
方法(只列举了函数必选参数):
apply(X):返回每个样本被预测的叶子结点索引
- decision_path(X):返回决策路径
- fit(X,y):基于训练集(X,y)构建一个决策树分类器
- fit_transform(X):Fit to data, then transform it.(网上查阅:transform方法主要用来对特征进行转换,fit方法的主要工作是获取特征信息和目标值信息。)
- get_params:获取参数
- predict(X):预测Xde类别或回归值
- predict_log_proba(X):预测输入样本的类别对数概率
- predict_proba(X)::预测输入样本的类别概率
- score(X,y):返回给定测试数据集(X,y)的平均精确度
- set_params(**params):设置参数,**params指输入参数为字典类型数据
tree.DecisionTreeRegressor(parameters)
参数:
-criterion:string类型,可选参数(默认=”gini“)。度量划分属性质量:”mse”指均方误差,”mae“指平均绝对误差。
其余参数同DecisionTreeClassofier,但是没有class_weight这个参数。
属性和方法也和DecisionTreeClassofier一致,没有class_这个属性。
tree.ExtraTreeClassifier(parameters)
class sklearn.tree.ExtraTreeClassifier(criterion='gini', splitter='random',
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.0,
max_features='auto',
random_state=None,
max_leaf_nodes=None,
min_impurity_split=1e-07,
class_weight=None)
#注意,Extra-trees应只被用于集成方法,可参考文献(https://link.springer.com/article/10.1007%2Fs10994-006-6226-1?LI=true)
#其方法同上
tree.ExtraTreeRegressor(parameters)
class sklearn.tree.ExtraTreeClassifier(criterion='mse', splitter='random',
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.0,
max_features='auto',
random_state=None,
max_leaf_nodes=None,
min_impurity_split=1e-07,
class_weight=None)