11.15作业

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

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

分类——分类是根据文本的特征或属性,划分到已有的类别中。也就是说,这些类别是已知的,通过对已知分类的数据进行训练和学习,找到这些不同类的特征,再对未分类的数据进行分类。

聚类——聚类是事先不知道数据会分为几类,通过分析将数据或者说用户的共同特点聚合成几个群体,聚类不需要对数据进行训练和学习。

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

是否有监督,就看输入数据是否有标签。输入的数据有标签,则为有监督学习,没标签则为无监督学习。

监督学习——监督学习就好比你已经知道了一些问题以及它们的答案,你只需学习这些已知答案的问题,从而用这些经验去得出新问题的答案;

无监督学习——无监督学习则好比你不知道问题的答案,而是根据自己的知识去解答题目,找出题目的共同点,并对这些题目进行归类。

分类属于监督学习,聚类属于无监督学习。

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

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

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

目标分类变量疾病:–心梗–不稳定性心绞痛

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

最可能是哪个疾病?

上传演算过程。

 

3.编程实现朴素贝叶斯分类算法

利用训练数据集,建立分类模型。

输入待分类项,输出分类结果。

可以心脏情患者的临床数据为例,但要对数据预处理。

import numpy as np
import pandas
data=pandas.read_excel('心脏病患者临床数据.xlsx')
data
#对性别进行处理    (男为0,女为1)
sex=[]
for i in data['性别']:
    if i =='':
        sex.append(0)
    else:
        sex.append(1)
#对年龄段进行预处理  (<70为1,70-80为2,>80为3)
ages=[]
for j in data['年龄']:
    if j =='<70':
        ages.append(1)
    elif j =='70-80':
        ages.append(2)
    else:
        ages.append(3)
#对住院天数进行处理   (<7为1,7-14为2,>14为3)
days=[]
for k in data['住院天数']:
    if k=='<7':
        days.append(1)
    elif k=='7-14':
        days.append(2)
    else:
        days.append(3)
#处理后的数据
data1=data
data1['性别']=sex
data1['年龄']=ages
data1['住院天数']=days
#将数据转成数组
data_arr=np.array(data1)
data_arr

猜你喜欢

转载自www.cnblogs.com/yvettecheng/p/9979807.html