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


    一、朴素贝叶斯

            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)    --预测

                             对比实际测试结果

  • 相关阅读:
    [学习笔记]DeepWalk图神经网络论文精读
    【java面试】Redis篇
    快速幂算法
    华为昇腾系列——入门学习
    Linux:五种IO模型
    hevc 继续色度半像素差值
    Pr:轨道头控件及用途
    关于Java中的运算符
    洛谷 P6268 [SHOI2002]舞会(二分图最大独立集)
    Spring参数校验
  • 原文地址:https://blog.csdn.net/weixin_37878740/article/details/126329277