机器学习——“决策树&随机森林”学习笔记

决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。

决策树算法的核心是要解决两个问题:

1)如何从数据表中找出最佳节点和最佳分枝?
2)如何让决策树停止生长,防止过拟合?

决策树的步骤:

1.实例化
2.训练模型
3.导入测试集进行测试

clf = DecisionTreeClassifier()
clf = clf.fit(Xtrain,Ytrain)
score_c = clf.score(Xtest,Ytest)

  • 将数据转化成一棵树,要找到最佳节点和分支的衡量标准是“不纯度”。不纯度越低,决策树拟合效果越好。
  • 每个子节点都有一个不纯度,子节点不纯度一定低于父节点,所以叶节点不纯度最低。

不纯度计算指标:
entropy-信息熵
gini-基尼系数
机器学习——“决策树&随机森林”学习笔记_第1张图片

  • t表示给定的节点,i代表标签的任意分类。p(i|t)代表标签分类i再节点t上所占的比例
  • 相对于基尼系数信息熵对不纯度更加敏感,信息熵计算稍慢,有对数
  • 对于高维数据或者噪声很多的数据,信息熵很容易过拟合

训练的数据顺序要放对:x_train,x_test,y_train,y_test
#30%测试,剩下的训练

x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.3,random_state = 1)

关于随机森林的一些参数可以参考我的另一篇文章:
sklearn——随机森林RandomForestClassifier的参数含义

准确率(precision)
召回率(recall)

准确率是指预测结果属于某一类的个体,实际属于该类的比例。召回率是被正确预测为某类的个体,与数据集中该类个体总数的比例。

n_estimators
这是森林中树木的数量,即基基评估器的数量。这个参数对随机森林模型的精确性影响是单调的,n_estimators
越大,模型的效果往往越好。但是相应的,任何模型都有决策边界,n_estimators达到一定的程度之后,随机森林
的精确性往往不在上升或开始波动,并且,n_estimators越大,需要的计算量和内存也越大,训练的时间也会越来
越长。对于这个参数,我们是渴望在训练难度和模型效果之间取得平衡。
调参必看)随机森林中模型参数对模型的影响程度。
机器学习——“决策树&随机森林”学习笔记_第2张图片

你可能感兴趣的:(机器学习,决策树,机器学习,人工智能)