当前位置: 首页 > news >正文

天津网站建设基本流程图微建站官网

天津网站建设基本流程图,微建站官网,建设厅安全员证书查询网站,株洲 网站建设 公司声明#xff1a;本文仅为个人学习记录所用#xff0c;参考较多#xff0c;如有侵权#xff0c;联系删除 决策树 通俗来说#xff0c;决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友#xff0c;于是有了下面的对话#xff1a; 女儿#x…声明本文仅为个人学习记录所用参考较多如有侵权联系删除 决策树 通俗来说决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友于是有了下面的对话 女儿多大年纪了母亲26。女儿长的帅不帅母亲挺帅的。女儿收入高不母亲不算很高中等情况。女儿是公务员不母亲是在税务局上班呢。女儿那好我去见见。这个女孩的决策过程就是典型的分类树决策。相当于通过年龄、长相、收入和是否公务员对将男人分为两个类别见和不见。假设这个女孩对男人的要求是30岁以下、长相中等以上并且是高收入者或中等以上收入的公务员下图表示了女孩的决策逻辑。如果你作为一个女生你会优先考虑哪个条件长相收入还是年龄。在考虑年龄条件时使用25岁为划分点还是35岁为划分点。有这么多条件用哪个条件特征先做if哪个条件特征后做if比较优呢还有怎么确定用特征中的哪个数值作为划分的标准。这就是决策树机器学习算法的关键了。 集成学习 假设我们现在提出了一个复杂的问题并抛给几千个随机的人然后汇总他们的回答。在很多情况下我们可以看到这种汇总后的答案会比一个专家的答案要更好。这个称为“群众的智慧”。同理如果我们汇总一组的预测器例如分类器与回归器的预测结果我们可以经常获取到比最优的单个预测器要更好的预测结果。这一组预测器称为一个集成所以这种技术称为集成学习一个集成学习算法称为一个集成方法。 随机森林 假如训练一组决策树分类器每个都在训练集的一组不同的随机子集上进行训练。在做决策时我们可以获取所有单个决策树的预测结果然后根据各个结果对每个类别的投票数最多票的类别获胜。这种集成决策树称为随机森林。尽管它非常简单不过它是当前最强大的机器学习算法之一。 一个树和1000个树 假如有一个弱学习者weak learner也就是说它的预测能力仅比随机猜稍微高一点分类正确的概率是51%。本来不应该考虑这种弱分类器分类能力强的还有很多种方法但是假如我们考虑把1000个这样的树放在一起一个集合预测结果如何呢 ·每个决策树都使用所有数据作为训练集 ·节点的选择是通过在所有特征中进行搜索选出最好的划分方式得到的 ·每个决策树的最大深度都是1 import pandas as pd import numpy as np# 导入鸢尾花数据集 from sklearn.datasets import load_iris# 从样本中随机按比例选取训练集和测试集 from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import BaggingClassifier # To measure performance from sklearn import metrics # 该数据集一共包含4个特征变量1个类别变量。共有150个样本。 iris load_iris() X pd.DataFrame(iris.data[:, :], columns iris.feature_names[:]) # print(X) y pd.DataFrame(iris.target, columns [Species])# 划分数据集 # 随机数种子其实就是该组随机数的编号在需要重复试验的时候保证得到一组一样的随机数。 # 随便填一个大于0的数据就能保证其他参数一样的情况下得到的随机数组是一样的。但填0或不填每次都会不一样。 X_train, X_test, y_train, y_test train_test_split(X, y, test_size 20, random_state 100)# 定义决策树 stump DecisionTreeClassifier(max_depth 1)# bagging集成方法 ensemble BaggingClassifier(estimator stump, n_estimators 1000,bootstrap False)# 训练分类器 stump.fit(X_train, np.ravel(y_train)) ensemble.fit(X_train, np.ravel(y_train))# 预测 y_pred_stump stump.predict(X_test) y_pred_ensemble ensemble.predict(X_test)# 决策表现 stump_accuracy metrics.accuracy_score(y_test, y_pred_stump) ensemble_accuracy metrics.accuracy_score(y_test, y_pred_ensemble)print(fThe accuracy of the stump is {stump_accuracy*100:.1f} %) print(fThe accuracy of the ensemble is {ensemble_accuracy*100:.1f} %)可以看到无论是一棵树还是1000棵树预测准确率都一样。 随机森林-RandomForest 上面1000棵树虽然构成了一片森林但是每棵树都一样相当于你问一只兔子爱吃青菜还是爱吃肉问1000遍结果都是一样的这不叫群众的智慧 如果我们 ·每个决策树都使用随机采样得到的子集作为训练集采样方式为bootstrap(一种有放回抽样) ·节点的选择是通过在子集中随机选择特征不是所有特征中进行搜索选出最好的划分方式得到的 ·每个决策树的最大深度都是1 # max_features寻找最佳切分时考虑的最大特征数默认是所有特征都用 # splitter用于在每个节点上选择拆分的策略。可选“best”, “random”默认“best”。 stump DecisionTreeClassifier(max_depth 1, splitter best, max_features sqrt)# 随机森林 # n_estimators基分类器的个数 ensemble BaggingClassifier(estimator stump, n_estimators 1000,bootstrap True) stump.fit(X_train, np.ravel(y_train)) ensemble.fit(X_train, np.ravel(y_train))y_pred_tree stump.predict(X_test) y_pred_ensemble ensemble.predict(X_test)stump_accuracy metrics.accuracy_score(y_test, y_pred_stump) ensemble_accuracy metrics.accuracy_score(y_test, y_pred_ensemble)print(fThe accuracy of the stump is {stump_accuracy*100:.1f} %) print(fThe accuracy of the Random Forest is {ensemble_accuracy*100:.1f} %)群众的智慧这不就体现出来了吗 在不同的训练集随机子集上进行训练也就是将训练集上的数据随机抽样为若干个子集然后用这些不同子集在同一种模型上训练这样就形成了不一样的预测器 极度随机树-Extremely randomized treesExtra tree 在选定了划分特征后RF的决策树会基于信息增益基尼系数均方差之类的原则选择一个最优的特征值划分点这和传统的决策树相同。但是Extra tree比较的激进会随机的选择一个特征值来划分决策树。 由于随机选择了特征值的划分点位而不是最优点位这样会导致生成的决策树的规模一般会大于RF所生成的决策树。也就是说模型的方差相对于RF进一步减少但是bias相对于RF进一步增大。在某些时候Extra tree的泛化能力比RF更好. stump DecisionTreeClassifier(max_depth1, splitterrandom, max_featuressqrt) ensemble BaggingClassifier(estimatorstump, n_estimators1000, bootstrapFalse)stump.fit(X_train, np.ravel(y_train)) ensemble.fit(X_train, np.ravel(y_train))y_pred_tree stump.predict(X_test) y_pred_ensemble ensemble.predict(X_test)stump_accuracy metrics.accuracy_score(y_test, y_pred_stump) ensemble_accuracy metrics.accuracy_score(y_test, y_pred_ensemble)print(fThe accuracy of the stump is {stump_accuracy * 100:.1f} %) print(fThe accuracy of the Extra Trees is {ensemble_accuracy * 100:.1f} %)补充 hard voting soft voting 补充 Bootstrap Bootstrap又称自展法、自举法、自助法、靴带法 , 是统计学习中一种重采样(Resampling)技术用来估计标准误差、置信区间和偏差 子样本之于样本可以类比样本之于总体 举例 栗子我要统计鱼塘里面的鱼的条数怎么统计呢 假设鱼塘总共有鱼N不知道N是多少条 步骤 承包鱼塘不让别人捞鱼(规定总体分布不变)。 自己捞鱼捞100条都打上标签(构造样本) 把鱼放回鱼塘休息一晚(使之混入整个鱼群确保之后抽样随机) 开始捞鱼每次捞100条数一下自己昨天标记的鱼有多少条占比多少(一次重采样取分布)。 然后把这100条又放回去 重复34步骤n次。建立分布。 原理是中心极限定理 假设一下第一次重新捕鱼100条发现里面有标记的鱼12条记下为12% 放回去再捕鱼100条发现标记的为9条记下9% 重复重复好多次之后假设取置信区间95% 你会发现每次捕鱼平均在10条左右有标记 它怎么来的呢 10/N10% 所以我们可以大致推测出鱼塘有1000条左右。 其实是一个很简单的类似于一个比例问题。这也是因为提出者Efron给统计学顶级期刊投稿的时候被拒绝的理由–“太简单”。这也就解释了为什么在小样本的时候bootstrap效果较好 你这样想如果我想统计大海里有多少鱼你标记100000条也没用啊因为实际数量太过庞大 你取的样本相比于太过渺小最实际的就是你下次再捕100000的时候发现一条都没有标记就尴尬了。。。 参考文献 [1] 决策树Decision Tree [2] 集成学习与随机森林一投票分类器 [3] Hard Voting 与 Soft Voting 的对比 [4] 统计学中的Bootstrap方法Bootstrap抽样用来训练bagging算法如果随机森林Random Forests [5] An Intuitive Explanation of Random Forest and Extra Trees Classifiers
http://www.dnsts.com.cn/news/8095.html

相关文章:

  • 建设银行网站注册用户名不通过wordpress 图片剪裁
  • 做电商网站价格表什么网站可以做微官网
  • 大连市那里做网站宣传的好义乌进货网
  • 泉州晋江网站建设费用手机app开发软件制作
  • 手机网站宽度是多少网站建设销售要懂什么
  • 莒县网站建设公司网站开通
  • 辽宁平台网站建设公司高端购物网站
  • 一家专做灯的网站招聘大连有什么好玩的地方
  • 兄弟网络(西安网站建设制作公司)成都推广团队
  • 北京国都建设集团网站网站搜索框怎么做
  • 模板免费下载网站ppt一键优化
  • 徐州做网站xlec小企业网站模板
  • 广州公司注册网站官网wordpress 会员下载
  • 全国建设部官方网站亚马逊雨林简介
  • 做网站链接怎么弄wordpress 充值
  • 建网站语言wordpress联系浮动
  • 九江市住房和城乡建设局网站自助建站管理平台
  • 响应式网站用什么做做游戏交易网站有哪些
  • 国内html5视频网站建设wordpress 坐标
  • jsp网站建设项目实践网站域名密码找回
  • wordpress 兼职seo推广分析关键词的第一个步骤
  • 网站优化就是seo线上做笔记的网站
  • 实验中心网站建设的调查问卷南沙网站建设wwiw
  • 网站数据库连接错误开发公司设计部工作建议
  • 藁城区建设局网站网页版微信app
  • 中国建设银行网站特色访问wap网站
  • tp框架可以做网站吗长沙网站建
  • 做网络主播网站违法吗宝塔部署wordpress
  • 免费情感网站哪个好企业为什么做网站 图片
  • 浙江网站建设企业免费下载应用软件