ML第三天

ML三

二.算法

2.朴素贝叶斯算法

2.1定义
  • 概率基础
    • 条件概率:事件A在另外一个事件B已经发生条件下的发生概率。
      P(A|B)
    • 联合概率:包含多个条件,且所有条件同时成立的概率。
      P(A,B)
    • 相互独立:P(A,B)=P(A)P(B),则称事件A与事件B相互独立。
  • 贝叶斯公式:P(C|W)= P(W|C)P©/P(W)
  • 拉普拉斯平滑系数:
    • 目的:防止计算出的分类概率为0.
    • 公式:P(F|C)=(Ni+α)/(N+αm)
    • α为指定系数,一般为1,m为训练文档中统计出的特征词数。
  • 朴素贝叶斯:假设特征与特征之间相互独立。
朴素 + 贝叶斯:利用假设特征与特征之间是独立的和贝叶斯公式进行计算。
2.2应用场景

文本分类:以单词作为特征

2.3API
sklearn.naive_bayes.MultinomialNB(alpha = 1..0)
  • 朴素贝叶斯分类
  • alpha:拉普拉斯平滑
2.4案列:新闻分类

使用sklearn自带的数据集
(1)获取sklearn自带数据
(2)划分数据集
(3)特征工程
=>文本特征抽取
(4)朴素叶贝斯
(5)模型评估

2.5总结
  • 优点:
    • 有稳定的分类效率;
    • 对缺失数据不敏感;
    • 分类准确度高,速度快;
  • 缺点:
    • 由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好。

3.决策树

3.1什么是决策树

决策树的思想来源于程序设计中的条件分支if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。核心是如何高效的进行决策,即决定决策特征的先后顺序。

3.2决策树分类问题详解

在这里插入图片描述
先看房子,再看工作就已经可以决定是否贷款给这个人。

3.3如何提高决策效率——信息增益

需要用到信息论的知识!

  • 香农(信息):消除随机不定性的东西
    例:小明:我今年18岁“——信息
    小李:”小明我明年19岁“——不是信息
  • 信息熵:信息的衡量(衡量不确定性的大小)=>公式中底数随意,一般取值为2.
  • 不确定性减少的程度最多,则优先选择这个特征
  • 信息增益:特征A对训练数据集D的增益g(D,A),定义为集合D的信息熵H(D)与特征给定条件下D的信息条件熵H(D|A),即公式为:
    g(D,A)=H(D)-H(D|A)
    在这里插入图片描述
3.4API
class sklearn.tree.DecisionTreeClassifier(Criterion = 'gini',max_depth=None.random_state=None)
  • 决策树分类器
  • criterion:默认是’gini’系数,也可以选择信息增益的熵’entropy’
  • max_depth:树的深度大小
  • random_state:随机数种子
3.5决策树可视化
保存树的结构到dot文件
sklearn.tree.export_grapviz()

该函数能够导出DOT格式

tree.export_graphviz(estimator,out_file='tree.dot',feature_names=['',''])

使用网站:
webgraphviz.com打开(复制dot文件即可)

3.6总结
  • 优点:
    • (1)可以可视化——可解释能力强
  • 缺点:
    • (1)容易产生过拟合 。(决策树学习者可以创建不能很好的推广数据的过于复杂的树,这称为过拟合)
      • 减枝cart算法(决策树API当中已经实现)
      • 随机森林
3.7案例:泰坦尼克号乘客生存预测
  • 需求分析:
    (1)数据获取
    (2)数据处理
    • 缺失值处理
    • 特征值转换成字典类型,方便特征抽取
    • 准备好特征值与目标值
    • 划分数据集
      (3)特征工程
      字典特征抽取
      (4)决策树预估流程
      (5)模型评估

4.随机森林

4.1什么是集成学习方法

集成学习通过建立几个模型组合来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立发学习和做出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。

4.2什么是随机森林

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。
例如:我们训练了五棵树,其中有四个树输出为True,一个是Flase,则结果为True。

4.3随机森林原理

学习算法根据下列算法建造每一棵树:

  • 用N来表示训练用例(样本)的个数,M表示特征数目。
    • 1.一次随机选出一个样本,重复N次。(有可能出现重复样本)
    • 2.随机取选出m个特征,m<<M,建立决策树。
  • 采用bootstrap抽样(随机有放回的抽样)
4.4API
class sklearn.ensemble.RandomForestClassifier(n_estimators=10,criterion='gini',max_depth=None,bootstrap=True,random_state=None,min_samples_split=2)

在这里插入图片描述

4.5总结
  • 有极好的准确率,在大数据集且具有高维特征的输入样本上有较好的应用结果,而且不需要降维。
  • 能够聘雇各个特征在分类问题上的重要性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值