开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:分类算法概述 上】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15514
分类算法概述 上
文本挖掘中的机器学习方法
因为文本挖掘当中会用到文本分类、文本聚类,情感分析等方法都属于机器学习的范畴。特别是文本分类和形态分析,是属于机器学习中的分类技术。本讲简介一下分类的概述和分类评估的方法,特别重要的是要学习Python中的机器学习包scikt-learn。
数据挖掘里面最重要的算法——分类算法。分类算法,按照样本数据里面有没有特殊的一列,把它称为y。有y就是有千度的数据化掘算法,没有y就是无千度的数据化掘算法,有千度的数据化掘算法,如果y的值取字符型,就是分类,如果y的值取数值型,就是回归。
数据挖掘用到的数据的格式。数据,把属性数据用X表示。类的标记,很特别的一列,用y表示。为了数据挖掘算法的训练和测试,将数据和标签以及X和y都分成两份,一份叫训练集,一份叫测试机。
决策函数y=f(X)与条件概率分布P(y|X)
数据挖掘用到的数据分成X和y的好处,如果用决策函数的角度来思考,希望看到每一条样本它的y应该取值是多少,相当于在X上面有一个函数,一个作用的函数F。函数作用在X上面,得到y的值,也就是通过X数据的训练学习,找到X和y的关系,或者用条件概率分布函数来理解,即给定了X求y的概率,P的概率的表示方法,一根竖线它的左边和右边,读作,Given X求y的概率或给定X情况下y的概率。
1.分类的意义
分类是最重要的数据挖掘和机器曲线算法。分类的目的是根据数据集的特点来构造一个分类函数或者分类模型,也叫做分类器,也就是在前一页PPT上讲到,给定的属性数据X,要找一个分类函数或者叫分类器或者分类模型,找到它和y的关系,这是分类算法要做的事情。要做一个分类模型,最终的目的是要把位置类别的样本映射到给定类别中的某一个,这句话很关键,也就是得到模型以后并没有结束,得到模型以后更大的作用和价值在于对这些样本中类别未知的样本,通过训练得到的模型,也就是分类函数、分类模型、分类器,来判断位置类的样本它应该属于哪一类。
图表数据分成训练集和测试集,这份数据看它的字段属性,抽象一下,要有抽象的一种思维方式,利用训练数据进行归纳学习,通过学习算法,在这一部分要学一些分类算法。从数据里归纳学习,得到模型,也就得到分类函数、分类器、或分类模型,经过评估,如果比较正确就可以应用模型。也就是分类模型算法最终的目的价值就在于应用模型,然后推断样本中类别未知的样本,它应该属于哪一类,这就是分类的意义
2.分类的目的
一要寻找影响某一重要变量的因素。如果要看客户有没有欺诈行为,欺诈不欺诈就是最重要的变量,影响他的因素有可能是客户的收入,客户的借款的有没有逾期不还等。第二个目的是要了解某一族群的特征,某一族群就是某一类的特征,把样本分成不同的类别后,每一类就有很多特征,比如购买房车的客户,他的特征是年龄特征、收入特征、家庭人口等,不买房车的人他的特征又是什么。第三个目的就更具体,在实际应用当中来建立一些分类规则,指导管理和决策,比如进行市场营销时做营销策略可以做市场细分,市场细分有几个类别,这样一个产品,适合做哪一个市场,把它分到哪一个类。银行核卡额度,核卡额度比如低中高,某一个客户的核卡额度到底是低中高哪一类,通过分类模型来判断,通过客户的各种属性数据判断应该属于哪一类,医疗诊断用使用更多,比如判断SARS,通过化验的各种指标,通过模型来判断,有没有SARS这个症状,所以在医学领域里面用计算机的数据挖掘模型、机器学习模型特别多。
3.分类的流程
有三个步骤,第一步骤建立模型。以决策树为例,用决策树建立一个决策树模型。
第二步骤是评估模型,模型评估。评估时需要用测试机评估模型,刚刚模型建立时用的是训练机,就是训练样本来建立模型,用测试样本来评估模型
第三步是使用模型。看一个具体的例子,首先是样本数据,
如表所示是客户购买房车的一个样本数据,做了一个释意,数据不多,有性别,年龄,婚姻状况,家庭所得,判断客户是否购买房车,最后一列是特别的一列,也叫类的标记,也就是y。前面是客户的属性数据X,先把数据分成两部分,训练数据和测试数据,比例没有一个标准答案,可以根据实际情况进行选择,一般情况是70%做训练,30%做测试。第一步骤,建立模型,建立模型时需要用到具体的分类算法,以决策树为例,构建好模型
决策树从上往下看,从树根往下面树枝、树叶看是建立好的模型,第二步要评估模型,用下面的三条测试数据来评估模型。
第一条在决策数上面,第一条婚姻状况是未婚,未婚的话,应该走第一个分支,年龄样本数据里面是大于35岁,走右边分支,已经到达树叶节点,值是与是,也就是购买房车。样本数据里面的结果是这个客户并不购买房车,所以测试就是错误的。
剩下两条同样的做一下测试,最终发现只有一条是正确的,整个错误率是2/3。模型是不能用的。后面是重新构建或者修改模型,重新构建和修改过程就不重复讲了,再下一步假设模型修改以后比较正确,第三步骤就是使用模型。
如果模型错误率比较高的话,就要去修改模型,重复前面的过程,直到模型比较正确,就可以使用模型,使用模型是真正需要的,要判断样本里面类别未知的样本应该属于哪一类,类有两个值是与否,判断,一个客户他年龄是55岁,已婚,高所得,他是否会购买房车,后面完全通过模型来帮助自动进行分类和预测,就是完整的一个分类流程。







