机器学习实战之分类算法
机器学习技术中的聚类算法与分类算法比较与应用案例

机器学习技术中的聚类算法与分类算法比较与应用案例机器学习技术在当今世界中得到了广泛的应用,其中聚类算法和分类算法是常见的数据分析工具。
聚类算法与分类算法在目标和方法上有所不同,可以根据不同的需求选择适合的算法。
本文将对聚类算法和分类算法进行比较,并介绍在实际应用中的一些案例。
首先,聚类算法是一种将数据分为不同组或簇的技术,其目标是通过计算数据点之间的相似性来使相似的数据点聚集在一起。
相比之下,分类算法是一种对数据进行分类的技术,将数据划分为已知类别的组。
聚类算法不需要预先标定数据的类别,而分类算法则依赖于预先确定好的类别。
由于聚类算法的无监督性质,它可以用于探索数据的结构和模式,发现隐藏在数据中的规律;而分类算法则适用于已知类别的数据分类和预测。
其次,聚类算法和分类算法的方法也有所不同。
聚类算法的常见方法包括K均值聚类、层次聚类和DBSCAN聚类等。
K均值聚类将数据分为指定数量的簇,每个簇有一个中心点,通过迭代计算数据点和中心点之间的距离来进行聚类。
层次聚类根据数据点之间的相似性构建一颗树状结构,通过切割树来达到聚类的目的。
DBSCAN聚类根据数据点之间的密度来划分簇,具有对噪声和离群点的鲁棒性。
相比之下,分类算法的常见方法包括决策树、支持向量机和神经网络等。
决策树通过一系列的规则将数据划分为不同的类别,支持向量机通过最大化数据点与分类间的边界距离来进行分类,神经网络通过多个神经元的激活来进行分类。
在实际应用中,聚类算法和分类算法都有广泛的应用案例。
以电商行业为例,聚类算法可以用于商品推荐和用户分群。
通过聚类算法,可以将具有相似购买历史和兴趣的用户聚集在一起,以便向他们提供个性化的推荐商品。
同时,聚类算法还可以对商品进行分类,识别出相似的商品,用于销售排行榜和搭配推荐。
而分类算法可以用于用户购买行为的预测和欺诈检测。
通过分类算法,可以根据用户的历史购买数据和其他特征,进行预测性分析,从而预测用户未来的购买行为。
机器学习领域中的分类算法

机器学习领域中的分类算法随着大数据时代的到来,机器学习已经成为了最炙手可热的技术之一。
在数据挖掘和人工智能领域,分类问题一直是非常重要的问题之一。
分类指的是将数据集中的实例按照某种规则将其区分开来。
分类算法可以让机器对不同的输入数据进行自动分类,从而得到更加精准、高质量的预测结果。
在机器学习领域中,分类算法是比较基础和常用的方法之一。
在研究分类算法之前,需要了解一下两个非常重要的概念:特征和标签。
特征是指用于对实例进行描述的属性,比如身高、体重、性别等;而标签则是对每个实例所属类别的标记,也称为类标。
分类算法的目的就是,通过学习这些特征和标签之间的关系,预测新的输入数据的类别。
分类算法的种类非常多,我们可以根据不同的分类方式来对其进行分类。
比如说,可以根据分类模型的分布方式将其分为生成模型和判别模型;也可以根据算法中使用的训练方法将其分为监督学习和非监督学习。
下面我们将会讨论一些常见的分类算法。
1. K最近邻算法(K-Nearest Neighbor Algorithm)K最近邻算法是一种监督学习的算法,它的主要思想是:对于一个新的输入样本,它所属的类别应当与与它最近的K个训练样本的类别相同。
其中K是一个可调参数,也称为邻居的个数。
算法的流程大致如下:首先确定K的值,然后计算每一个测试数据点与训练数据集中每个点的距离,并根据距离从小到大进行排序。
最后统计前K个训练样本中各类别出现的次数,选取出现次数最多的类别作为该测试样本的输出。
K最近邻算法简单易用,但是它有一些局限性。
首先,算法的分类效果对数据的质量非常敏感,因此需要对数据进行预处理。
其次,算法需要存储全部的训练数据,对于大规模数据集,存储和计算的开销非常大。
2. 决策树算法(Decision Tree Algorithm)决策树是一种基于树形结构进行决策支持的算法。
其原理是:将一个问题转化为简单的二选一问题并逐步求解,形成一棵树形结构,从而形成不同的决策路径。
机器学习中的回归与分类算法

机器学习中的回归与分类算法随着人工智能技术的不断发展,机器学习成为近年来受到广泛关注的领域之一。
在机器学习中,回归和分类算法是最为基础且常用的两种算法。
它们是将输入数据映射到输出结果的关键步骤。
一、回归算法回归算法广泛应用于预测数值型输出数据。
在回归过程中,我们需要使用一组重要的输入变量来预测输出变量。
例如,根据房屋的大小、位置和其他特征,我们可以预测房屋的价格。
在回归算法中,关键是找到一个最佳拟合曲线来表示输入与输出之间的关系。
最常用的回归算法之一是线性回归,它利用一条直线来拟合输入和输出的关系。
如果数据集呈现出曲线或波动形式,即非线性关系,我们可以使用非线性回归算法,如多项式回归或径向基函数(RBF)核回归。
二、分类算法分类算法是机器学习中引人注目的主题之一。
分类是指通过将输入数据映射到不同类别的输出,实现将数据集分为不同组的过程。
例如,我们可以通过分类算法将电子邮件分为垃圾邮件和非垃圾邮件。
分类算法可以分为监督和无监督模型。
在监督学习中,模型在训练过程中使用有标签的样本,以便在测试阶段中进行预测。
常用的监督分类算法包括朴素贝叶斯分类和决策树分类。
相比之下,无监督模型不需要有标签的输入数据,而是依靠模型自身从数据中找到隐藏的模式来实现分类。
常用的无监督分类算法包括聚类和维度缩减。
三、回归算法与分类算法的区别回归算法和分类算法之间的主要区别在于输出类型。
回归算法的输出是数值型数据,它们用于预测连续值。
而分类算法的输出是离散型数据,它们用于将数据集分为不同类别。
此外,两种算法的训练过程也有所不同。
在回归算法中,我们通过损失函数和优化算法来确定模型参数。
而在分类算法中,我们通常使用交叉熵损失函数和梯度下降方法来训练模型。
四、结论回归算法和分类算法是机器学习中最常用的两种算法,它们为许多数据科学问题提供了基础解决方案。
无论是在生物学、金融领域还是社交媒体数据分析方面,二者都有着广泛的应用。
当然,不同的问题需要不同的算法和技术工具,因此选择正确的机器学习算法变得异常重要。
机器学习常见算法分类

机器学习常见算法分类汇总机器学习无疑是当前数据分析领域的一个热点内容。
很多人在平时的工作中都或多或少会用到机器学习的算法。
这里IT经理网为您总结一下常见的机器学习算法,以供您在工作和学习中参考。
机器学习的算法很多。
很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。
这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。
学习方式根据数据类型的不同,对一个问题的建模有不同的方式。
在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。
在机器学习领域,有几种主要的学习方式。
将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。
监督式学习:在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。
在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。
监督式学习的常见应用场景如分类问题和回归问题。
常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)非监督式学习:在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。
常见的应用场景包括关联规则的学习以及聚类等。
常见算法包括Apriori算法以及k-Means算法。
半监督式学习:在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。
应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。
机器学习经典分类算法——k-近邻算法(附python实现代码及数据集)

机器学习经典分类算法——k-近邻算法(附python实现代码及数据集)⽬录⼯作原理存在⼀个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每⼀数据与所属分类的对应关系。
输⼊没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进⾏⽐较,然后算法提取样本集中特征最相似数据(最近邻)的分类特征。
⼀般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k是不⼤于20的整数。
最后选择k个最相似数据中出现次数最多的分类,作为新数据的分类。
举个例⼦,现在我们⽤k-近邻算法来分类⼀部电影,判断它属于爱情⽚还是动作⽚。
现在已知六部电影的打⽃镜头、接吻镜头以及电影评估类型,如下图所⽰。
现在我们有⼀部电影,它有18个打⽃镜头、90个接吻镜头,想知道这部电影属于什么类型。
根据k-近邻算法,我们可以这么算。
⾸先计算未知电影与样本集中其他电影的距离(先不管这个距离如何算,后⾯会提到)。
现在我们得到了样本集中所有电影与未知电影的距离。
按照距离递增排序,可以找到k个距离最近的电影。
现在假定k=3,则三个最靠近的电影依次是He's Not Really into Dudes、Beautiful Woman、California Man。
python实现⾸先编写⼀个⽤于创建数据集和标签的函数,要注意的是该函数在实际⽤途上没有多⼤意义,仅⽤于测试代码。
def createDataSet():group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])labels = ['A','A','B','B']return group, labels然后是函数classify0(),该函数的功能是使⽤k-近邻算法将每组数据划分到某个类中,其伪代码如下:对未知类别属性的数据集中的每个点依次执⾏以下操作:(1)计算已知类别数据集中的点与当前点之间的距离;(2)按照距离递增次序排序;(3)选取与当前点距离最⼩的k个点;(4)确定前k个点所在类别的出现频率;(5)返回前k个点出现频率最⾼的类别作为当前点的预测分类。
机器学习中的聚类与分类算法

机器学习中的聚类与分类算法机器学习是指通过计算机算法,让计算机从数据中学习和发现规律,从而实现自主决策和预测能力的一门学科。
在机器学习中,聚类和分类是两种常见的算法方法。
本文将介绍聚类和分类的算法原理、应用场景以及它们在机器学习中的作用。
一、聚类算法聚类算法是一种无监督学习方法,它通过对数据集中的样本进行相似性度量,将相似的样本划分到同一类别中。
聚类算法的目标是最大化类内的相似性,同时最小化类间的相似性。
1. K-means算法K-means算法是一种经典的聚类算法,通过迭代的方式将数据点分为K个簇。
具体步骤如下:(1)随机选择K个中心点作为初始簇心;(2)计算每个数据点与簇心的距离,并将其归属到距离最近的簇中;(3)重新计算每个簇的簇心;(4)重复步骤2和步骤3,直到簇心不再发生变化或者达到迭代次数的上限。
2. 层次聚类算法层次聚类算法将数据点按照层次结构进行聚类,可分为自底向上和自顶向下两种方式。
(1)自底向上:开始时将每个数据点作为一个簇,然后将相似性最高的两个簇合并成一个簇,直到只剩下一个簇。
(2)自顶向下:开始时将所有数据点作为一个簇,然后逐步分裂成多个簇,直到每个簇只包含一个数据点。
二、分类算法分类算法是一种监督学习方法,它通过已有的带有标签的数据集训练一个模型,根据模型对未知数据进行分类。
分类算法的目标是根据已有的数据与标签之间的关系建立一个分类模型,用于预测未知数据的分类。
1. 决策树算法决策树算法是一种以树形结构表示决策规则的分类模型。
它通过逐步选择与数据集特征相对最优的划分点,并根据特征值将数据集划分为不同的子集。
决策树的构建过程类似于将数据集分成多个子问题进行解决的过程。
2. 支持向量机算法支持向量机算法是一种通过将数据映射到高维空间,然后在高维空间中寻找最优超平面的分类方法。
支持向量机在分类问题中以最大化间隔来划分不同类别的数据,从而提高分类性能。
三、聚类与分类的应用场景1. 聚类的应用场景聚类广泛应用于用户分群、图像分割、异常检测等领域。
机器学习中的分类算法与极限学习机

机器学习中的分类算法与极限学习机机器学习一直是计算机科学领域中备受关注和研究的一项技术。
其中,分类算法是机器学习领域最为重要的算法之一。
分类算法主要是根据已知数据集中的特征和属性信息对新数据进行自动分类和预测,广泛应用于社交网络分析、智能推荐系统、数据挖掘和图像处理等领域。
本文将详细讨论机器学习中的分类算法与极限学习机,并探讨其原理、特点以及应用场景。
一、机器学习中的分类算法1.朴素贝叶斯分类器朴素贝叶斯分类器是基于贝叶斯定理的一种分类算法,主要用于解决文本分类、垃圾邮件过滤和情感分析等问题。
该算法将数据集中的各个特征间视为相互独立且相同分布的,从而计算出新数据与不同类别之间的概率,并将概率最大的类别作为分类结果。
朴素贝叶斯分类器具有分类速度快、准确率高的优点,但是对于数据集中出现的特殊特征,其分类效果比较差。
2.支持向量机分类器支持向量机分类器是一种常用的分类算法,主要是通过将不同类别之间的分界线尽可能地放置于最大间隔区域来进行分类。
该算法适用于小数据集和高维数据集中的分类问题,并且可以使用核函数对不规则的数据集进行处理。
支持向量机分类器具有分类效果好、可解释性强的优点,但是对于大数据集和特征较多的数据集来说,其训练时间比较长。
3.决策树分类器决策树分类器是一种基于树状结构进行决策的分类算法,主要用于解决分类问题和回归问题。
该算法通过对数据集中各个特征进行分析和选择,创建一颗决策树来判断新数据的类别。
决策树分类器具有分类效果好、容易实现的优点,但是对于数据集中存在噪声和缺失值的情况,其分类效果比较差。
4.K近邻分类器K近邻分类器是一种基于距离度量进行分类的算法,主要是通过计算新数据与已知数据集中每个样本之间的距离来进行分类。
K近邻分类器具有分类效果好、预处理简单的优点,但是对于特征维度较高的数据集以及没有明显规律的数据集,其分类效果比较差。
二、极限学习机极限学习机,也称为极限随机网络,是一种基于人工神经网络的分类算法,主要用于解决分类和回归问题。
机器学习中的分类算法及其应用场景

机器学习中的分类算法及其应用场景机器学习是一种人工智能的分支,旨在通过数据的分析和模式的发现,使机器具备从经验中学习,并自动改善性能的能力。
分类算法是机器学习中最常用的一类算法,用于将数据集中的样本划分到不同的类别中。
在本文中,我们将介绍几种常见的分类算法及其应用场景。
一、决策树算法决策树算法是一种简单但常用的分类算法。
它通过创建一颗树状结构,从根节点开始递归地对数据集进行划分,直到达到指定的终止条件。
决策树算法的优点是易于理解和解释,并且能够处理大规模的数据集。
它在许多领域都有应用,例如医学诊断、金融风险评估和客户分类等。
二、朴素贝叶斯算法朴素贝叶斯算法是一种基于贝叶斯定理的分类算法。
它假设各个特征之间相互独立,并通过计算后验概率来进行分类。
朴素贝叶斯算法的优点是运算速度快、易于实现,并且对数据集中的噪声和缺失值有一定的鲁棒性。
它常用于文本分类、垃圾邮件过滤和情感分析等领域。
三、支持向量机算法支持向量机算法是一种基于统计学习理论的分类算法。
它通过在特征空间中构建一个最优的超平面,将不同类别的样本分开。
支持向量机算法的优点是能够处理高维数据、具有较高的准确率和鲁棒性。
它在图像识别、手写体识别和生物信息学等领域有广泛应用。
四、最近邻算法最近邻算法是一种简单但有效的分类算法。
它基于样本之间的距离度量,将测试样本分类为距离最近的训练样本所属的类别。
最近邻算法的优点是易于实现、不需要训练过程,并且对异常值有较好的鲁棒性。
它在推荐系统、图像识别和医学诊断等领域有广泛应用。
五、神经网络算法神经网络算法是一种模拟人脑神经网络结构和功能的分类算法。
它由多个神经元组成的层次结构,在训练过程中通过调整连接权重来实现模式的学习和分类。
神经网络算法的优点是能够处理复杂的非线性问题,并且具有较强的泛化能力。
它在图像处理、语音识别和自然语言处理等领域有广泛应用。
总结起来,机器学习中的分类算法有很多种,每种算法都有其适用的场景和特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器学习实战之分类算法第一章机器学习概论 (4)机器学习基本概念 (4)机器学习的主要任务以及相应的算法 (4)如何选择合适的算法? (4)机器学习应用的步骤 (5)第二章 K近邻算法(KNN) (5)工作原理 (5)实现步骤 (6)K近邻算法的优缺点 (6)第三章决策树 (7)基本思路 (7)集合无序程度测量 (7)应用场景 (7)优缺点 (7)第四章朴素贝叶斯分类 (8)基本思路 (8)基本假设 (8)条件概率 (8)词袋模型和词集模型 (9)优缺点 (10)标称型和数值型数据的区别 (10)主要应用及步骤 (10)第五章逻辑回归 (12)基本思想 (12)使用场景 (12)优缺点 (12)Sigmoid函数 (13)回归系数 (13)梯度上升法 (14)特征缺失处理 (14)标签缺失处理 (14)第六章支持向量机SVM (14)基本思想 (14)SVM第一层理解 (15)超平面的确定 (15)函数间隔和几何间隔 (15)最大间隔分类器 (16)SMO优化算法 (16)核函数 (19)应用场景 (19)第七章 AdaBoost分类 (19)Bagging (20)Boosting (20)Adaboost (20)Adaboost的优点 (20)Adaboost实现步骤 (21)第八章非均衡分类问题 (23)分类性能指标 (23)混淆矩阵 (23)ROC曲线 (24)处理非均衡问题的数据抽样 (24)第一章机器学习概论机器学习基本概念机器学习就是将无序的数据转化为有用的信息。
一个实例有n个特征,由n列组成。
机器学习最主要的任务就是分类,另一个就是回归,回归中比较典型的就是线性拟合。
分类和回归都属于监督学习,因为这类算法必须知道要预测什么,即已知目标变量的分类信息。
与监督学习对应的是无监督学习,此时数据没有类别信息,也不会给定目标值,将数据集合分成由类似的对象组成的多个类的过程叫做聚类。
将描述数据统计值的过程称之为密度估计。
分类首先要进行训练,训练样本集必须确定目标变量的值,以便发现特征与目标变量之间的关系。
特征或者属性通常是训练样本集的列,他们是独立测量得到的结果,多个特征联系在一起共同组成一个训练样本。
机器学习的主要任务以及相应的算法如何选择合适的算法?如果要预测目标变量的值:1.如果目标变量的值是离散的,如是/否,1,2,3等可以选择分类器算法;2. 如果目标变量是连续的,就要采用回归算法如果不想预测目标变量的值,则可以选择无监督学习方法:1.是否需要将数据划分为离散的组,如果是,使用聚类方法,如果还需要估计数据与每个分组的相似程度,则需要使用密度估计方法机器学习应用的步骤1.收集数据2.准备输入数据3.分析输入数据4.训练算法5.测试算法6.使用算法第二章K近邻算法(KNN)工作原理存在一个数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每个数据属于哪个分类。
输入没有标签的新数据后,将新数据的每个特征和样本集中的数据特征进行比较,然后通过算法提取样本集中特征最相似的分类标签。
一般来说,选择数据集中前k个最相似的数据,这就是k-近邻算法的中k的出处,选择k个最先死数据中出现次数最多的分类,作为新数据的分类。
区别于K-means聚类方法,这是个有监督的机器学习方法,是一种分类方法。
实现步骤(1) 计算已知类别数据集中的额点与当前点的距离(2) 按照距离的递增次序排序(3) 选取与当前点最近的k个点(4) 确定当前点在前k个点所属类别的出现频率,如k=5,前5个点的类别分别为a a a b a,则当前点最终的分类为a(5) 将出现频率最高的一个作为当前点的类别代码实现K近邻算法的优缺点优点:算法简单,易于实现缺点:无法给出数据的内在含义;当数据较大时计算复杂度较高,而且是一种懒惰的学习方法。
另外,如果样本集中某一种样本特别多(样本分布不均衡)就有可能选中的几个近邻的k都是不正确的某一类,从而容易导致误分类。
第三章决策树基本思路20个问题之内得到答案,流程图就是一种决策树。
在构造决策树时,首先要选择用于分类的特征,使得划分的结果最好。
为此要评估每个特征,完成评估后,原始数据集就被划分为几个数据子集,这些子集分布在第一个决策节点的所有分支上,如果某个分支下的数据属于同一类型,则该分支作为一类(叶子节点)。
否则,重复划分子集,进行递归过程。
集合无序程度测量信息增益:数据分类是一个从无序到有序的过程,是一个信息增益递减(也就是熵)的过程。
如果可以很好地度量信息增益,就可以选择出信息增益减少最多的特征,也就是我们要依据分类的特征。
基尼不纯度:从一个数据集中随机选取子项,度量其被错误分类到其他分组里的概率。
应用场景垃圾邮件检测,泰坦尼克生存估计优缺点优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关的特征数据缺点:可能会过拟合第四章朴素贝叶斯分类基本思路在假设个特征相互独立,且每个特征同等重要的前提下,基于条件概率,对数据集中的每个数据(x,y)求p(Ci|x,y),即数据属于类别Ci的概率,将概率最高的那个类别作为当前数据的类别。
基本假设特征相互独立;每个特征同等重要条件概率求从Ci类中取出某一数据(x,y)的概率,也就是(x,y)属于Ci的概率p(C i|x,y)=p(C i)∗p(x,y|C i)p(x,y)p(C i|x,y):注意这不是概率表示方法,只是表示(x,y)属于Ci的概率p(C i):数据来自Ci类的概率p(x,y|C i):在Ci中(这是前提)(x,y)出现的概率p(x,y):(x,y)在整个数据集中出现的概率可以理解为上面为从Ci中取出(x,y)数据的个数,分母是整个数据集中(x,y)的个数,得出的概率自然是从Ci中取出(x,y)的概率词袋模型和词集模型(1)词集模型:Set Of Words,单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个(2)词袋模型:Bag Of Words,如果一个单词在文档中出现不止一次,并统计其出现的次数(频数)# 词集模型SOW = []for doc in dataset:vec = [0]*len(vocabList)for i, word in enumerate(vocabList):if word in doc:vec[i] = 1SOW.append(doc)# 词袋模型BOW = []for doc in dataset:vec = [0]*len(vocabList)for word in doc:vec[vocabList.index[word]] += 1BOW.append(vec)优缺点优点:在数据较少的情况下仍然有效,可处理多类别问题缺点:对于输入数据的准备方式较为敏感使用数值类型:标称型标称型和数值型数据的区别标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)数值型:数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等(数值型目标变量主要用于回归分析)主要应用及步骤对文本进行分类:这里的一个样本就是一句话。
如判断一句话是否是侮辱性的话。
步骤:1.将数据集中侮辱性的语句和费侮辱性的语句进行手动标注,分成两个子集,侮辱性/非侮辱性语句子集。
2.然后进行文本处理,将所有语句切割成许多单词组成的集合vocabSet,对于每个子集的每一个语句,得到其中的单词在vocabSet中的位置向量indexVec(如果某个单词存在vocabSet中,则将indexVec相应的位置置1,不存在则置0),这样就得到了每句话中的单词在vocabSet中的存在情况。
3.对于每个子集(侮辱/非侮辱子集),计算每个单词在对应子集中出现的概率。
做法是将每个子集中的每个语句的位置矩阵indexVec相加得到所有单词出现的情况矩阵indexVecAbusive或者indexVecNorm,如果一个单词在一个子集中出现多次,则indexVecAbusive中对应位置的数目就会越大,也就意味着这个单词是侮辱性/非侮辱性的概率很大,比较能够代表这一子集的特征。
4.由于朴素贝叶斯假设个特征之间相互独立(这里的特征就是每个单词),也就是说假设各个单词的出现时没有关系的,有条件概率公式可知,每个特征(每个单词)在某一类中出现的概率p(x,y|C i)就可以通过indexVecAbusive/该子集中的所有单词数得到。
5.得到了每个特征(每个单词)在某一类中出现的概率p(x,y|C i),最终形成一个所有特征的概率向量p0Vect,p1Vect。
Ci类的概率p(C i):可以轻易地通过两个子集中的语句数/所有的语句数得到,而p(x,y)对于两类来说都是一样的,可以不进行计算,不影响p0,p1的计算结果。
至此训练结束。
6.测试开始。
将待测试的语句输入,得到其在单词集vocabSet中的位置矩阵vec2Classify,vec2Classify*p0Vect和vec2Classify*p1Vect进行比较,哪个大就属于哪一类对邮件进行分类,这里的一个样本就是一封邮件。
步骤:1.将正常邮件和垃圾邮件进行标注,并将每一封邮件(正常邮件和垃圾邮件)所涉及到的单词整合到一个二维列表docList中,docList每一行对应一封邮件所涉及的单词的列表,并对每一封邮件进行标注0或者12.选取训练集和测试集,使用与文本分类类似的训练方法,得到所有特征的概率向量p0Vect,p1Vect3.测试集可以随机从所有的邮件中选取一些,得到其在docList中的位置信息,类似的可以判断vec2Classify*p0Vect和vec2Classify*p1Vec的大小从而进行分类。
第五章逻辑回归基本思想逻辑回归的目的是寻找一个非线性函数sigmoid的最佳拟合参数,求解过程可以由最优化算法来完成。
最优化算法就是梯度上升算法,而梯度上升算法又可以简化为随机梯度上升算法。
根据现有数据对分类边界线建立回归公式,以此进行分类。
这里的分类源于最佳拟合,表示要找到最佳拟合参数集。
使用场景通常可用于多个特征来判断是否属于某一类,由于是逻辑回归,只能进行二值化判断,由于采用的是sigmoid函数,大于0.5即为一类,反之为另一类,所以分类的精度不是很高。
优缺点优点:计算代价低,易于理解和实现缺点:容易欠拟合,分类精度可能不高,(因为大于0.5的即被分为正类,反之为负类)适用于数值型和标称型数据Sigmoid函数σ(z)=11+e−z曲线如图所示关于(0.0.5)对称,随着z增大到inf,sigmoid值逼近1,反之当减小到-inf。