Python的机器学习 - 技术

本章详细讨论机器学习中使用的每种技术.

分类

分类是一种使用已知数据的机器学习技术确定如何将新数据分类为一组现有类别.

考虑以下示例以了解分类技术 :

A 信用卡公司收到数以万计的新信用卡申请.这些应用程序包含有关年龄,地点,性别,年薪,信用记录等几个不同功能的信息.此算法的任务是将卡申请人分类为具有良好信用记录,不良信用记录和那些人的类别.有一个混合的信用记录.

医院,急诊室有超过15个功能(年龄,血压,心脏病,疾病的严重程度等). )在决定是否必须将某位患者纳入重症监护病房之前进行分析,因为这是一项代价高昂的建议,只有那些能够生存并负担得起费用的患者才能获得最优先考虑.这里的问题是根据可用的特征或参数将患者分为高风险和低风险患者.

在对给定数据集进行分类时,分类器系统执行以下操作 : 去;

  • 最初使用任何学习算法准备新的数据模型.

  • 然后测试准备好的数据模型.

  • 稍后,此数据模型用于检查新数据并确定它的类.

分类,也称为分类,是一种机器学习技术,它使用已知数据来确定如何对新数据进行分类在一组现有的标签/类/类别中.

在分类任务中,程序必须学习从一个或多个独立变量或输入变量预测从属变量或输出变量的离散值.也就是说,程序必须预测新观察的最可能的类别,类别或标签.分类的应用包括预测某一天是否会下雨,或预测某公司的股价是涨还是跌,或者决定某物品是否属于体育或娱乐部分.

<分类是一种监督学习的形式. Gmail,雅虎等邮件服务提供商使用此技术将新邮件归类为垃圾邮件或非垃圾邮件.分类算法通过分析将某些邮件标记为垃圾邮件的用户行为来训练自己.根据该信息,分类器决定新邮件是应该进入收件箱还是垃圾邮件文件夹.

分类申请

  • 检测信用卡欺诈 - 分类方法用于预测信用卡欺诈.使用先前欺诈的历史记录,分类器可以预测哪些未来的交易可能变成欺诈.

  • 电子邮件垃圾邮件 - 取决于之前垃圾邮件的功能,分类器确定是否应将新收到的电子邮件发送到垃圾邮件文件夹.

朴素贝叶斯分类器技术

分类技术包括朴素贝叶斯分类器,这是一种构造分类器的简单技术.它不是一种训练这种分类器的算法,而是一组算法.贝叶斯分类器构造模型以对问题实例进行分类.这些分类是使用可用数据进行的.

朴素贝叶斯分类器的一个重要特征是它只需要少量的训练数据来估计分类所需的参数.对于某些类型的模型,朴素贝叶斯分类器可以在监督学习环境中非常有效地进行训练.

尽管它的假设过于简单,但朴素的贝叶斯分类器在许多复杂的现实世界中都能有效地工作.的情况.这些在垃圾邮件过滤文档分类中运行良好.

回归

回归,程序预测连续输出或响应变量的值.回归问题的示例包括根据其描述预测新产品的销售额或工作的薪水.与分类类似,回归问题需要有监督的学习.在回归任务中,程序根据输入或解释变量预测连续输出或响应变量的值.

建议

建议是一个受欢迎的根据用户信息(如购买历史记录,点击次数和评分)提供密切推荐的方法. Google和亚马逊使用此方法根据其过去操作的信息显示其用户的推荐商品列表.有推荐引擎在后台工作以捕获用户行为并根据较早的用户操作推荐所选项目. Facebook还使用推荐方法来识别和推荐人并向其用户发送朋友建议.

推荐引擎是根据他过去的记录预测用户可能感兴趣的模型和行为.当这在电影的上下文中应用时,这成为电影推荐引擎.我们通过预测用户如何评价它们来过滤电影数据库中的项目.这有助于我们将用户与电影数据库中的正确内容相关联.这种技术在两个方面很有用:如果我们有一个庞大的电影数据库,用户可能会或可能不会找到与他的选择相关的内容.此外,通过推荐相关内容,我们可以增加消费并吸引更多用户.

Netflix,亚马逊Prime和类似的电影租赁公司严重依赖推荐引擎来保持用户参与.推荐引擎通常使用协同过滤或基于内容的过滤来生成推荐列表.两种类型之间的区别在于提取建议的方式.协同过滤根据当前用户的过去行为以及其他用户给出的评级构建模型.然后,此模型用于预测此用户可能感兴趣的内容.另一方面,基于内容的过滤使用项目本身的功能,以便向用户推荐更多项目.项目之间的相似性是这里的主要动机.协作过滤通常在这种推荐方法中使用得更多.

聚类

相关观察组称为聚类.常见的无监督学习任务是在训练数据中找到聚类.

我们还可以将聚类定义为基于某些类似特征将给定集合的项目组织成组的过程.例如,在线新闻发布者使用群集对其新闻文章进行分组.

群集应用

群集在许多领域中找到应用,例如市场研究,模式识别,数据分析和图像处理.这里讨论 :

  • 帮助营销人员在客户基础上发现不同的群体根据购买模式描述其客户群体.

  • 在生物学中,它可用于推导植物和动物分类,对具有相似功能的基因进行分类并深入了解人口固有的结构.

  • 帮助识别地球观测数据库中类似土地利用的区域.

  • 帮助对网络上的文档进行分类以便发现信息.

  • 用于异常检测应用,例如检测信用卡欺诈.

  • Cluster Analysis用作数据挖掘函数工具,以深入了解数据的分布,以观察每个集群的特征.

任务,称为聚类或聚类分析,将观察结果分配给群体,使得群体内的观察结果基于某些相似性度量彼此更相似,而不是其他群体中的观察结果.

群集通常用于探索数据集.例如,给定一组电影评论,聚类算法可能会发现一组正面和负面评论.系统将无法将群集标记为"正面"或"负面";在没有监督的情况下,它只会知道分组观察结果在某种程度上彼此相似.群集的一个常见应用是发现产品市场中的客户群.通过了解特定客户群的共同属性,营销人员可以决定需要强调其广告系列的哪些方面.互联网无线电业务也使用集群;例如,给定一组歌曲,聚类算法可能能够根据它们的类型对歌曲进行分组.使用不同的相似性度量,相同的聚类算法可以通过它们的键或它们包含的乐器对歌曲进行分组.

无监督学习任务包括聚类,其中观察按照组合分组.一些类似的功能.聚类用于根据共同特征形成类似数据的组或聚类.

聚类是一种无监督学习的形式.搜索引擎,如Google,Bing和Yahoo!使用聚类技术对具有相似特征的数据进行分组.新闻组使用聚类技术根据相关主题对各种文章进行分组.

聚类引擎完全通过输入数据并根据数据的特征决定它应该在哪个群集下分组.在聚类和减号时可能会注意到以下几点;

  • 选择合适的聚类算法来对元素进行分组一个集群.

  • 需要一条规则来验证新遇到的元素与组中元素之间的相似性.

  • 需要停止条件来定义不需要聚类的点.

聚类类型

有两种类型的聚类 -  平面聚类层次聚类.

Flat聚类创建一组平坦的聚类,没有任何可以将聚类相互关联的清晰结构.分层群集创建群集层次结构.分层聚类将聚类的层次结构作为输出,这种结构比平面聚类返回的非结构化聚类集产生更多信息.分层聚类不需要我们事先指定聚类的数量.分层聚类的优势是以降低效率为代价的.

一般来说,当效率很重要时我们选择平面聚类,而当平面聚类的潜在问题之一是问题时,我们选择层次聚类.此外,许多研究人员认为,层次聚类比平面聚类产生更好的聚类.

聚类算法

您需要聚类算法来聚类给定的聚类数据.经常使用两种算法 -  冠层聚类 K-Means聚类.

冠层聚类算法是一种无监督的预聚类算法这通常用作K-means算法或分层聚类算法的预处理步骤.它用于加速大型数据集上的聚类操作,由于数据集的大小,可能无法直接使用其他算法.

K-means聚类是一个重要的聚类算法. k均值聚类算法中的 k 表示数据被分成的聚类数.例如,如果算法中指定的 k 值为3,则算法会将数据划分为3个聚类.

每个对象都表示为向量空间.最初由算法随机选择k个点并将其视为中心,最靠近每个中心的每个对象都被聚类. k-means算法需要矢量文件作为输入,因此我们需要创建矢量文件.在创建向量之后,我们继续使用k-means算法.