1.理解分类与监督学习、聚类与无监督学习。
(1)简述分类与聚类的联系与区别。
分类就是按照某种标准给对象贴标签,再根据标签来区分归类。
聚类是指事先没有“标签”而通过某种成团分析找出事物之间存在聚集性原因的过程。
区别是,分类是事先定义好类别 ,类别数不变 。分类需要由人工标注的分类训练语料训练得到,属于有指导学习范畴。聚类则没有事先预定的类别,类别数不确定。 聚类不需要人工标注和预先训练分类器,类别在聚类过程中自动生成 。分类的目的是学会一个分类函数或分类模型,该模型能把数据库中的数据项映射到给定类别中的某一个类中。聚类是指根据“物以类聚”原理,将本身没有类别的样本聚集成不同的组,这样的一组数据对象的集合叫做簇,并且对每一个这样的簇进行描述的过程。
(2)简述什么是监督学习与无监督学习。
监督学习:就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。
无监督学习:对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识。这里,所有的标记(分类)是未知的。因此,训练样本的岐义性高。聚类就是典型的无监督学习。
2.朴素贝叶斯分类算法 实例
利用关于心脏情患者的临床数据集,建立朴素贝叶斯分类模型。
有六个分类变量(分类因子):性别,年龄、KILLP评分、饮酒、吸烟、住院天数
目标分类变量疾病:–心梗–不稳定性心绞痛
新的实例:–(性别=‘男’,年龄<70, KILLP=‘I',饮酒=‘是’,吸烟≈‘是”,住院天数<7)
最可能是哪个疾病?
上传演算过程。
3.编程实现朴素贝叶斯分类算法
利用训练数据集,建立分类模型。
输入待分类项,输出分类结果。
可以心脏情患者的临床数据为例,但要对数据预处理。
from sklearn.datasets import load_iris
iris=load_iris()
iris.data
iris.data[95]
iris.target
from sklearn.naive_bayes import GaussianNB
gnb=GaussianNB() #模型
gnb.fit(iris.data,iris.target)#训练
#gnb.predict([iris.data[95]])
#gnb.predict([iris.data[145]])
gnb.predict([[4.8,3.5,4.2,1.2]])#预测