zoukankan      html  css  js  c++  java
  • 11.分类与监督学习,朴素贝叶斯分类算法

    1.理解分类与监督学习、聚类与无监督学习。

    简述分类与聚类的联系与区别。

    简述什么是监督学习与无监督学习。

    分类与聚类的联系:都要从数据集中找到离目标点最近的电。

    分类与聚类的区别:1、分类:是为了确定点的类别。已经知道类别。

                2、聚类:是为了将一系列的点分成不同类。没有类别。

    监督学习:根据数据集和已知的输入数据和输出数据之间的关系,训练得出一个最优模型。

    无监督学习:不清楚数据和特征之间的联系,根据聚类或者模型得到数据之间的关系。

    2.朴素贝叶斯分类算法 实例

    利用关于心脏病患者的临床历史数据集,建立朴素贝叶斯心脏病分类模型。

    有六个分类变量(分类因子):性别,年龄、KILLP评分、饮酒、吸烟、住院天数

    目标分类变量疾病:

    –心梗

    –不稳定性心绞痛

    新的实例:–(性别=‘男’,年龄<70, KILLP=‘I',饮酒=‘是’,吸烟≈‘是”,住院天数<7)

    最可能是哪个疾病?

    上传手工演算过程。

    性别

    年龄

    KILLP

    饮酒

    吸烟

    住院天数

    疾病

    1

    >80

    1

    7-14

    心梗

    2

    70-80

    2

    <7

    心梗

    3

    70-81

    1

    <7

    不稳定性心绞痛

    4

    <70

    1

    >14

    心梗

    5

    70-80

    2

    7-14

    心梗

    6

    >80

    2

    7-14

    心梗

    7

    70-80

    1

    7-14

    心梗

    8

    70-80

    2

    7-14

    心梗

    9

    70-80

    1

    <7

    心梗

    10

    <70

    1

    7-14

    心梗

    11

    >80

    3

    <7

    心梗

    12

    70-80

    1

    7-14

    心梗

    13

    >80

    3

    7-14

    不稳定性心绞痛

    14

    70-80

    3

    >14

    不稳定性心绞痛

    15

    <70

    3

    <7

    心梗

    16

    70-80

    1

    >14

    心梗

    17

    <70

    1

    7-14

    心梗

    18

    70-80

    1

    >14

    心梗

    19

    70-80

    2

    7-14

    心梗

    20

    <70

    3

    <7

    不稳定性心绞痛

    3.使用朴素贝叶斯模型对iris数据集进行花分类。

    尝试使用3种不同类型的朴素贝叶斯:

    • 高斯分布型
    • 多项式型
    • 伯努利型

    并使用sklearn.model_selection.cross_val_score(),对各模型进行交叉验证。

     1 from sklearn.datasets import load_iris
     2 from sklearn.naive_bayes import GaussianNB
     3 from sklearn.naive_bayes import MultinomialNB
     4 from sklearn.naive_bayes import BernoulliNB
     5 from sklearn.model_selection import cross_val_score
     6 iris = load_iris()
     7 x = iris['data']
     8 y = iris['target']
     9 
    10 # 高斯分布型
    11 gnb = GaussianNB() #建立模型
    12 gnb.fit(x , y)  #模型训练
    13 gnb_pre = gnb.predict(x)   #分类预测
    14 gnb_scores =cross_val_score(gnb, x, y, cv=10) #交叉验证
    15 print("高斯分布型模型准确率:",gnb_scores.mean())
    16 
    17 # 多项式型
    18 mnb = MultinomialNB() #建立模型
    19 mnb.fit(x , y)  #模型训练
    20 mnb_pre = mnb.predict(x)   #分类预测
    21 mnb_scores =cross_val_score(mnb, x, y, cv=10) #交叉验证
    22 print("多项式型模型准确率:",mnb_scores.mean())
    23 
    24 # 伯努利型
    25 bnb = BernoulliNB() #建立模型
    26 bnb.fit(x , y)  #模型训练
    27 bnb_pre = bnb.predict(x)   #分类预测
    28 bnb_scores =cross_val_score(bnb, x, y, cv=10) #交叉验证
    29 print("伯努利型模型准确率:",bnb_scores.mean())

  • 相关阅读:
    【SCOI 2011】 糖果
    【POJ 3159】 Candies
    【POJ 1716】 Integer Intervals
    【POJ 2983】 Is the information reliable?
    【POJ 1364】 King
    【POJ 1201】 Intervals
    【POJ 1804】 Brainman
    6月10日省中提高组题解
    【POJ 3352】 Road Construction
    【POJ 1144】 Network
  • 原文地址:https://www.cnblogs.com/ccw1124486193/p/12869867.html
Copyright © 2011-2022 走看看