决策树分类器#
决策树分类器。
模块内容#
类摘要#
决策树分类器。 |
目录#
- class evalml.pipelines.components.estimators.classifiers.decision_tree_classifier.DecisionTreeClassifier(criterion='gini', max_features='sqrt', max_depth=6, min_samples_split=2, min_weight_fraction_leaf=0.0, random_seed=0, **kwargs)[source]#
决策树分类器。
- 参数
criterion ({"gini", "entropy"}) – 用于衡量分割质量的函数。支持的准则包括用于衡量基尼不纯度的“gini”和用于衡量信息增益的“entropy”。默认为“gini”。
max_features (int, float or {"sqrt", "log2"}) –
在寻找最佳分割时要考虑的特征数量
如果是 int,则在每次分割时考虑 max_features 个特征。
如果是 float,则 max_features 是一个比例,并在每次分割时考虑 int(max_features * n_features) 个特征。
如果是“sqrt”,则 max_features=sqrt(n_features)。
如果是“log2”,则 max_features=log2(n_features)。
如果是 None,则 max_features = n_features。
寻找分割不会停止,直到找到至少一个有效的节点样本划分,即使这需要实际检查超过 max_features 个特征。
max_depth (int) – 树的最大深度。默认为 6。
min_samples_split (int or float) –
分割内部节点所需的最小样本数
如果是 int,则将 min_samples_split 作为最小样本数。
如果是 float,则 min_samples_split 是一个比例,并且 ceil(min_samples_split * n_samples) 是每次分割所需的最小样本数。
默认为 2。
min_weight_fraction_leaf (float) – 叶节点所需的总权重(所有输入样本权重之和)的最小加权比例。默认为 0.0。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{ “criterion”: [“gini”, “entropy”], “max_features”: [“sqrt”, “log2”], “max_depth”: Integer(4, 10),}
model_family
ModelFamily.DECISION_TREE
modifies_features
True
modifies_target
False
name
决策树分类器
supported_problem_types
[ ProblemTypes.BINARY, ProblemTypes.MULTICLASS, ProblemTypes.TIME_SERIES_BINARY, ProblemTypes.TIME_SERIES_MULTICLASS,]
training_only
False
方法
使用相同的参数和随机状态构造一个新的组件。
返回此组件的默认参数。
描述组件及其参数。
返回与每个特征相关的重要性。
将估计器拟合到数据。
使用拟合的回归器查找预测区间。
从文件路径加载组件。
返回布尔值,判断组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。
返回用于初始化组件的参数。
使用选定的特征进行预测。
对标签进行概率估计。
将组件保存到文件路径。
更新组件的参数字典。
- clone(self)#
使用相同的参数和随机状态构造一个新的组件。
- 返回值
此组件的新实例,具有相同的参数和随机状态。
- default_parameters(cls)#
返回此组件的默认参数。
我们的约定是 Component.default_parameters == Component().parameters。
- 返回值
此组件的默认参数。
- 返回类型
dict
- describe(self, print_name=False, return_dict=False)#
描述组件及其参数。
- 参数
print_name (bool, optional) – 是否打印组件名称
return_dict (bool, optional) – 是否以字典格式 {“name”: name, “parameters”: parameters} 返回描述
- 返回值
如果 return_dict 为 True,则返回字典,否则返回 None。
- 返回类型
None or dict
- property feature_importance(self) pandas.Series #
返回与每个特征相关的重要性。
- 返回值
与每个特征相关的重要性。
- 返回类型
np.ndarray
- 抛出
MethodPropertyNotFoundError – 如果估计器没有 feature_importance 方法或没有实现 feature_importance 的 component_obj。
- fit(self, X: pandas.DataFrame, y: Optional[pandas.Series] = None)#
将估计器拟合到数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回值
self
- get_prediction_intervals(self, X: pandas.DataFrame, y: Optional[pandas.Series] = None, coverage: List[float] = None, predictions: pandas.Series =None) Dict[str, pandas.Series] #
使用拟合的回归器查找预测区间。
此函数接受拟合估计器的预测,并使用窗口大小为 5 计算所有预测的滚动标准差。通过将每个边界的下尾概率的百分位数(分位数)函数乘以滚动标准差来确定下限和上限预测。
- 参数
X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据。被忽略。
coverage (list[float]) – 一个浮点数列表,取值范围在 0 到 1 之间,用于计算预测区间的上限和下限。
predictions (pd.Series) – 可选的预测列表。如果为 None,则将使用 X 生成预测。
- 返回值
预测区间,键的格式为 {coverage}_lower 或 {coverage}_upper。
- 返回类型
dict
- 抛出
MethodPropertyNotFoundError – 如果估计器不支持时间序列回归作为问题类型。
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 文件加载位置。
- 返回值
ComponentBase object
- needs_fitting(self)#
返回布尔值,判断组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。
对于不需要拟合或其拟合方法不起作用的组件,此项可以被重写为 False。
- 返回值
True。
- property parameters(self)#
返回用于初始化组件的参数。
- predict(self, X: pandas.DataFrame) pandas.Series #
使用选定的特征进行预测。
- 参数
X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。
- 返回值
预测值。
- 返回类型
pd.Series
- 抛出
MethodPropertyNotFoundError – 如果估计器没有 predict 方法或没有实现 predict 的 component_obj。
- predict_proba(self, X: pandas.DataFrame) pandas.Series #
对标签进行概率估计。
- 参数
X (pd.DataFrame) – 特征。
- 返回值
概率估计。
- 返回类型
pd.Series
- 抛出
MethodPropertyNotFoundError – 如果估计器没有 predict_proba 方法或没有实现 predict_proba 的 component_obj。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将组件保存到文件路径。
- 参数
file_path (str) – 文件保存位置。
pickle_protocol (int) – pickle 数据流格式。
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,则将 _is_fitted 设置为 False。