• 机器学习(七)朴素贝叶斯、决策树与随机森林


    一、朴素贝叶斯

            1.原理

                    公式原型:P(A|B)=P(B|A)P(A)P(B)" role="presentation" style="position: relative;">P(A|B)=P(B|A)P(A)P(B) (贝叶斯公式)

                     求出两个可能性然后进行对比。

                            #1:事件发生的全局概率(=发生的事件/总事件)

                            #2:事件发生的局部概率(=局部内发生的事件/局部内总事件--贴近新的样本)

                             #3:已知事件坐落与数据空间内的概率(=局部内发生的事件/总事件发生的事件)

                             #4:利用已知数据求得最终概率

                    Attention:

                            ①先决条件:假定所有事件的概率都是独立的,

                            ②P(X):在比较的时候可以约掉P(X),但是计算的值将不再是后验概率

                            ③已知组大于两类的情况:将所有后验概率计算出来进行比较

            2.Python实现

                    ①使用分类器模板

                    ②创建分类器并拟合

    1. from sklearn.naive_bayes import GaussianNB --导入朴素贝叶斯分类器
    2. classifier=GaussianNB() --新建类型
    3. classifier.fit(x_train,y_train) --拟合

                    ③进行预测并展示图线

    1. pred = classifier.predict(x_test) --进行预测
    2. --调用展示模板

     二、决策树

            1.原理

                    类别:分类决策树(按类别划分--分类组之间无序)

                               回归决策树(连续数据--数据之间有序)

                    分类决策树原理:对平面进行不断分割(直至所有类被分开)

                             关键:寻找分割线(目的:提升熵

                             流程图:划分决策树的步骤(不一定要完全分割--可以用概率表示)

            2.Python实现

                    ①使用分类器模板

                    ②创建和拟合分类器

    1. --由于没有使用欧氏距离,所以不需要特征缩放
    2. from sklearn.tree import DecisionTreeClassifier --导入库
    3. classifier = DecisionTreeClassifier(criterion = 'entropy',random_state=0)
    4. --参数:基尼系数/熵,随机数
    5. classifier.fit(x_train,y_train) --拟合

                    ③预测和图线展示

    y_pred = classifier.predict(x_test)

                     错误的分类被称为噪音过度拟合时会被噪音干扰

     三、随机森林

            1.原理

                    采用多个分类器对数据进行学习,再采用方法(加权/投票)将结果组合

                            Step1:装袋--随机采用K个训练集的数据,将其装袋

                            Step2:用装袋的数据,训练分类器

                            Step3:重复Step1-Step2,直到拥有足够的分类器

                            Step4:使用这些分类器单独预测,并进行投票

            2.Python实现

                    ①套用分类器模板

                    ②创建分类器并拟合

    1. from sklearn.ensemble import RandomForestClassifier --导入类
    2. classifier = RandomForestClassifier(h_estimators=10,criterion='entropy',random_state=0)
    3. --估计量(决策树数量),标准(基尼指数/熵)
    4. classifier.fit(x_train,y_train)

                    ③预测和图线输出

    y_pred = classifier.predict(x_test)    --预测

                             对比实际测试结果

  • 相关阅读:
    《 Python List 列表全实例详解系列(七)》__索引和切片
    丁鹿学堂:前端异步进阶之Rxjs的使用
    [附源码]java毕业设计图书馆自习室管理系统
    销售管理岗位竞聘PPT模板
    logging的基本使用教程
    Python基础全套资料:从入门到入门
    NIO基础[三大组件,文件以及网络编程]
    Golang中的类型转换介绍
    基于SSM开发教务查询管理系统
    C语言文件操作总结归纳
  • 原文地址:https://blog.csdn.net/weixin_37878740/article/details/126329277