上海网站推广排名,wap社区游戏入口,wordpress的搭建教程,阿里云wordpress搭建网站「作者主页」#xff1a;士别三日wyx 「作者简介」#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」#xff1a;小白零基础《Python入门到精通》 决策树 1、决策树API2、决策时实际应用2.1、获取数据集2.2、划分数据集2.3、决策… 「作者主页」士别三日wyx 「作者简介」CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」小白零基础《Python入门到精通》 决策树 1、决策树API2、决策时实际应用2.1、获取数据集2.2、划分数据集2.3、决策树处理2.4、模型评估 决策树是一种
「二叉树形式」的预测模型每个
「节点」对应一个
「判断条件」
「满足」上一个条件才能
「进入下一个」判断条件。 就比如找对象第一个条件肯定是长得帅长得帅的才考虑下一个条件长得不帅就直接pass不往下考虑了。 决策树的「核心」在于如何找到「最高效」的「决策顺序」。
1、决策树API
sklearn.tree.DecisionTreeClassifier() 是决策树分类算法的API
参数
criterion可选衡量分裂的质量可选值有gini、entropy、log_loss默认值 ginisplitter可选给每个节点选择分割的策略可选值有best、random默认值 bestmax_depth可选树的最大深度默认值 Nonemin_samples_split可选分割节点所需要的的最小样本数默认值 2min_samples_leaf可选叶节点上所需要的的最小样本数默认值 1min_weight_fraction_leaf可选叶节点的权重总和的最小加权分数默认值 0.0max_features可选寻找最佳分割时要考虑的特征数量默认值 Nonerandom_state可选控制分裂特征的随机数默认值 Nonemax_leaf_nodes可选最大叶子节点数默认值 Nonemin_impurity_decrease可选如果分裂指标的减少量大于该值就进行分裂默认值 0.0class_weight可选每个类的权重默认值 Noneccp_alpha可选将选择成本复杂度最大且小于ccp_alpha的子树。默认情况下不执行修剪。
函数
fit( x_train, y_train )接收训练集特征 和 训练集目标predict( x_test )接收测试集特征返回数据的类标签。score( x_test, y_test )接收测试集特征 和 测试集目标返回准确率。predict_log_proba()预测样本的类对数概率
属性
classes_类标签feature_importances_特征的重要性max_features_最大特征推断值n_classes_类的数量n_features_in_特征数feature_names_in_特征名称n_outputs_输出的数量tree_底层的tree对象 2、决策时实际应用
2.1、获取数据集
这里使用sklearn自带的鸢尾花数据集进行演示。
from sklearn import datasets# 1、获取数据集
iris datasets.load_iris()2.2、划分数据集
传入数据集的特征值和目标值按照默认的比例划分数据集。
from sklearn import datasets
from sklearn import model_selection# 1、获取数据集
iris datasets.load_iris()
# # 2、划分数据集
x_train, x_test, y_train, y_test model_selection.train_test_split(iris.data, iris.target)2.3、决策树处理
实例化对象传入训练集特征值和目标值开始训练。
from sklearn import datasets
from sklearn import model_selection
from sklearn import tree# 1、获取数据集
iris datasets.load_iris()
# # 2、划分数据集
x_train, x_test, y_train, y_test model_selection.train_test_split(iris.data, iris.target)
# # 3、决策树处理
estimator tree.DecisionTreeClassifier()
estimator.fit(x_train, y_train)2.4、模型评估
对比测试集验证准确率。
from sklearn import datasets
from sklearn import model_selection
from sklearn import tree# 1、获取数据集
iris datasets.load_iris()
# # 2、划分数据集
x_train, x_test, y_train, y_test model_selection.train_test_split(iris.data, iris.target)
# # 3、决策树处理
estimator tree.DecisionTreeClassifier()
estimator.fit(x_train, y_train)
# # 4、模型评估
y_predict estimator.predict(x_test)
print(对比真实值和预测值, y_test y_predict)
score estimator.score(x_test, y_test)
print(准确率, score)输出
对比真实值和预测值 [ True True True True True False True True True True True TrueFalse True True True True True True True True True True TrueTrue True True True True True True True True True True TrueTrue True]
准确率 0.9473684210526315从结果可以看到准确率达到了94%