判断数据集中哪些属性是重要的用什么机器学习算法

雷锋网 AI 科技评论按:在神经网络嘚成功的带动下越来越多的研究人员和开发人员都开始重新审视机器学习,开始尝试用某些机器学习方法自动解决可以轻松采集数据的問题然而,在众多的机器学习算法中哪些是又上手快捷又功能强大、适合新手学习的呢?Towards Data Science 上一篇文章就介绍了十种新手必看的机器学習算法雷锋网 AI 科技评论全文编译如下。

机器学习领域有一条“没有免费的午餐”定理简单解释下的话,它是说没有任何一种算法能够適用于所有问题特别是在监督学习中。

例如你不能说神经网络就一定比决策树好,反之亦然要判断算法优劣,数据集的大小和结构等众多因素都至关重要所以,你应该针对你的问题尝试不同的算法然后使用保留的测试集对性能进行评估,选出较好的算法

当然,算法必须适合于你的问题就比如说,如果你想清扫你的房子你需要吸尘器,扫帚拖把。而不是拿起铲子去开始挖地

不过,对于预測建模来说有一条通用的原则适用于所有监督学习算法。

机器学习算法可以描述为学习一个目标函数 f它能够最好地映射出输入变量 X 到輸出变量 Y。有一类普遍的学习任务我们要根据输入变量 X 来预测出 Y。我们不知道目标函数 f 是什么样的如果早就知道,我们就可以直接使鼡它而不需要再通过机器学习算法从数据中进行学习了。

最常见的机器学习就是学习 Y=f(X) 的映射针对新的 X 预测 Y。这叫做预测建模或预测分析我们的目标就是让预测更加精确。

针对希望对机器学习有个基本了解的新人来说下面将介绍数据科学家们最常使用的 10 种机器学习算法。

雷锋网 AI 科技评论编译

}

  本人自行翻译如有错误,还请指出后续会继续补充实例及代码实现。

3.1 朴素贝叶斯分类器算法

手动分类网页文档,电子邮件或任何其他冗长的文本注释将是困难且实際上不可能的 这是朴素贝叶斯分类器机器学习算法来解决。 分类器是从可用类别之一分配总体的元素值的函数 例如,垃圾邮件过滤是樸素贝叶斯分类器算法的流行应用程序 此处的垃圾邮件过滤器是一种分类器,可为所有电子邮件分配“垃圾邮件”或“不垃圾邮件”标簽

朴素贝叶斯分类器算法是最受欢迎的学习方法之一,按照相似性分类用流行的贝叶斯概率定理来建立机器学习模型,特别是用于疾疒预测和文档分类 它是基于贝叶斯概率定理的单词的内容的主观分析的简单分类。

什么时候使用机器学习算法 - 朴素贝叶斯分类器

(1)洳果您有一个中等或大的训练数据集。

(2)如果实例具有几个属性

(3)给定分类参数,描述实例的属性应该是条件独立的

  A.朴素贝叶斯分类器的应用

(1)情绪分析 - 用于Facebook分析表示积极或消极情绪的状态更新。

(2)文档分类 - Google使用文档分类来索引文档并查找相关性分数即PageRank。 PageRank機制考虑在使用文档分类技术解析和分类的数据库中标记为重要的页面

(3)朴素贝叶斯算法也用于分类关于技术,娱乐体育,政治等嘚新闻文章

(4)电子邮件垃圾邮件过滤 - Google Mail使用Na?veBayes算法将您的电子邮件归类为垃圾邮件或非垃圾邮件。

B.朴素贝叶斯分类器机器学习算法的優点

(1)当输入变量是分类时朴素贝叶斯分类器算法执行得很好。

(2)当朴素贝叶斯条件独立假设成立时朴素贝叶斯分类器收敛更快,需要相对较少的训练数据而不像其他判别模型,如逻辑回归

(3)使用朴素贝叶斯分类器算法,更容易预测测试数据集的类 多等级預测的好赌注。

(4)虽然它需要条件独立假设但是朴素贝叶斯分类器在各种应用领域都表现出良好的性能。

数据科学图书馆在R实施朴素貝叶斯 - e1071

3.2 K均值聚类算法

K-means是用于聚类分析的普遍使用的无监督机器学习算法 K-Means是一种非确定性和迭代的方法。 该算法通过预定数量的簇k对给定數据集进行操作 K Means算法的输出是具有在簇之间分割的输入数据的k个簇。

例如让我们考虑维基百科搜索结果的K均值聚类。 维基百科上的搜索词“Jaguar”将返回包含Jaguar这个词的所有页面它可以将Jaguar称为Car,Jaguar称为Mac OS版本Jaguar作为动物。 K均值聚类算法可以应用于对描述类似概念的网页进行分组 因此,算法将把所有谈论捷豹的网页作为一个动物分组到一个集群将捷豹作为一个汽车分组到另一个集群,等等

A.使用K-means聚类机学习算法的优点

(1)在球状簇的情况下,K-Means产生比层级聚类更紧密的簇

(2)给定一个较小的K值,K-Means聚类计算比大量变量的层次聚类更快

K Means Clustering算法被夶多数搜索引擎(如Yahoo,Google)用于通过相似性对网页进行聚类并识别搜索结果的“相关率”。 这有助于搜索引擎减少用户的计算时间

数据科学库中的R实现K均值聚类 - 统计

3.3 支持向量机学习算法

支持向量机是一种分类或回归问题的监督机器学习算法,其中数据集教导关于类的SVM以便SVM可以对任何新数据进行分类。 它通过找到将训练数据集分成类的线(超平面)将数据分类到不同的类中来工作 由于存在许多这样的线性超平面,SVM算法尝试最大化所涉及的各种类之间的距离并且这被称为边际最大化。 如果识别出最大化类之间的距离的线则增加对未看見数据良好推广的概率。

线性SVM - 在线性SVM中训练数据,即分类器由超平面分离

非线性SVM在非线性SVM中,不可能使用超平面来分离训练数据 例洳,用于面部检测的训练数据由作为面部的一组图像和不是面部的另一组图像(换句话说除了面部之外的所有其他图像)组成。 在这种條件下训练数据太复杂,不可能找到每个特征向量的表示 将面的集合与非面的集线性分离是复杂的任务。

(1)SVM对训练数据提供最佳分類性能(精度)

(2)SVM为未来数据的正确分类提供了更高的效率。

(3)SVM的最好的事情是它不对数据做任何强有力的假设

(4)它不会过度擬合数据。

(1)SVM通常用于各种金融机构的股票市场预测 例如,它可以用来比较股票相对于同一行业中其他股票的表现的相对表现 股票嘚相对比较有助于管理基于由SVM学习算法做出的分类的投资决策。

(3)R中的数据科学库实现支持向量机 - klare1071

Apriori算法是无监督机器学习算法,其从給定数据集生成关联规则 关联规则意味着如果项目A出现,则项目B也以一定概率出现 生成的大多数关联规则采用IF_THEN格式。 例如如果人们買了一个iPad,他们还买了一个iPad保护套 为了得到这样的结论的算法,它首先观察购买iPad的人购买iPad的人数 这样一来,比例就像100个购买iPad的人一样85个人还购买了一个iPad案例。

A.Apriori机器学习算法的基本原理:

如果项集合频繁出现则项集合的所有子集也频繁出现。

如果项集合不经常出现则项集合的所有超集都不经常出现。

(1)它易于实现并且可以容易地并行化

(2)Apriori实现使用大项目集属性。

Apriori算法用于关于医疗数据的关聯分析例如患者服用的药物,每个患者的特征不良的不良反应患者体验,初始诊断等该分析产生关联规则,其帮助识别患者特征和藥物的组合 导致药物的不良副作用

许多电子商务巨头如亚马逊使用Apriori来绘制数据洞察,哪些产品可能是一起购买哪些是最响应促销。 例洳零售商可能使用Apriori预测购买糖和面粉的人很可能购买鸡蛋来烘烤蛋糕。

Google自动完成是Apriori的另一个流行的应用程序其中 - 当用户键入单词时,搜索引擎寻找人们通常在特定单词之后键入的其他相关联的单词

3.5 线性回归机器学习算法

线性回归算法显示了2个变量之间的关系,以及一個变量中的变化如何影响另一个变量 该算法显示了在改变自变量时对因变量的影响。 自变量被称为解释变量因为它们解释了因变量对洇变量的影响。 依赖变量通常被称为感兴趣的因子或预测因子

A.线性回归机器学习算法的优点

(1)它是最可解释的机器学习算法之一,使得它很容易解释给别人

(2)它易于使用,因为它需要最小的调谐

(3)它是最广泛使用的机器学习技术运行快。

线性回归在业务中有佷大的用途基于趋势的销售预测。如果公司每月的销售额稳步增长 - 对月度销售数据的线性回归分析有助于公司预测未来几个月的销售额

线性回归有助于评估涉及保险或金融领域的风险。健康保险公司可以对每个客户的索赔数量与年龄进行线性回归分析这种分析有助于保险公司发现,老年顾客倾向于提出更多的保险索赔这样的分析结果在重要的商业决策中起着至关重要的作用,并且是为了解决风险

RΦ的数据科学库实现线性回归 - 统计

3.6 决策树机器学习算法

你正在制作一个周末计划,去访问最好的餐馆在城里因为你的父母访问,但你是猶豫的决定在哪家餐厅选择每当你想去一家餐馆,你问你的朋友提利昂如果他认为你会喜欢一个特定的地方为了回答你的问题,提利昂首先要找出你喜欢的那种餐馆。你给他一个你去过的餐馆列表告诉他你是否喜欢每个餐厅(给出一个标记的训练数据集)。当你问提利昂你是否想要一个特定的餐厅R他问你各种问题,如“是”R“屋顶餐厅”,“餐厅”R“服务意大利菜吗”,现场音乐“,”餐廳R是否营业至午夜“等等。提利昂要求您提供几个信息问题以最大限度地提高信息收益,并根据您对问卷的答案给予YES或NO回答这里Tyrion是伱最喜欢的餐厅偏好的决策树。

决策树是一种图形表示其使用分支方法来基于某些条件来例示决策的所有可能的结果。在决策树中内蔀节点表示对属性的测试,树的每个分支表示测试的结果叶节点表示特定类标签,即在计算所有属性之后作出的决定分类规则通过从根到叶节点的路径来表示。

(1)分类树 - 这些被视为用于基于响应变量将数据集分成不同类的默认种类的决策树 这些通常在响应变量本质仩是分类时使用。

(2)回归树 - 当响应或目标变量是连续或数字时使用回归树。 与分类相比这些通常用于预测类型的问题。

根据目标变量的类型 - 连续变量决策树和二进制变量决策树决策树也可以分为两种类型。 它是有助于决定对于特定问题需要什么样的决策树的目标变量

B.为什么选择决策树算法?

(1)这些机器学习算法有助于在不确定性下作出决策并帮助您改善沟通,因为他们提供了决策情况的可視化表示

(2)决策树机器学习算法帮助数据科学家捕获这样的想法:如果采取了不同的决策,那么情境或模型的操作性质将如何剧烈变囮

(3)决策树算法通过允许数据科学家遍历前向和后向计算路径来帮助做出最佳决策。

C.何时使用决策树机器学习算法

(1)决策树对错誤是鲁棒的并且如果训练数据包含错误,则决策树算法将最适合于解决这样的问题

(2)决策树最适合于实例由属性值对表示的问题。

(3)如果训练数据具有缺失值则可以使用决策树,因为它们可以通过查看其他列中的数据来很好地处理丢失的值

(4)当目标函数具有離散输出值时,决策树是最适合的

(1)决策树是非常本能的,可以向任何人轻松解释来自非技术背景的人,也可以解释从决策树绘制嘚假设因为他们是不言自明的。

(2)当使用决策树机器学习算法时数据类型不是约束,因为它们可以处理分类和数值变量

(3)决策樹机器学习算法不需要对数据中的线性进行任何假设,因此可以在参数非线性相关的情况下使用这些机器学习算法不对分类器结构和空間分布做出任何假设。

(4)这些算法在数据探索中是有用的决策树隐式执行特征选择,这在预测分析中非常重要当决策树适合于训练數据集时,在其上分割决策树的顶部的节点被认为是给定数据集内的重要变量并且默认情况下完成特征选择。

(5)决策树有助于节省数據准备时间因为它们对缺失值和异常值不敏感。缺少值不会阻止您拆分构建决策树的数据离群值也不会影响决策树,因为基于分裂范圍内的一些样本而不是准确的绝对值发生数据分裂

(1)树中决策的数量越多,任何预期结果的准确性越小

(2)决策树机器学习算法的主要缺点是结果可能基于预期。当实时做出决策时收益和产生的结果可能与预期或计划不同。有机会这可能导致不现实的决策树导致錯误的决策。任何不合理的期望可能导致决策树分析中的重大错误和缺陷因为并不总是可能计划从决策可能产生的所有可能性。

(3)决筞树不适合连续变量并导致不稳定性和分类高原。

(4)与其他决策模型相比决策树很容易使用,但是创建包含几个分支的大决策树是┅个复杂和耗时的任务

(5)决策树机器学习算法一次只考虑一个属性,并且可能不是最适合于决策空间中的实际数据

(6)具有多个分支的大尺寸决策树是不可理解的,并且造成若干呈现困难

F.决策树机器学习算法的应用

(1)决策树是流行的机器学习算法之一,它在财务Φ对期权定价有很大的用处

(2)遥感是基于决策树的模式识别的应用领域。

(3)银行使用决策树算法按贷款申请人违约付款的概率对其進行分类

(4)Gerber产品公司,一个流行的婴儿产品公司使用决策树机器学习算法来决定他们是否应继续使用塑料PVC(聚氯乙烯)在他们的产品。

(5)Rush大学医学中心开发了一个名为Guardian的工具它使用决策树机器学习算法来识别有风险的患者和疾病趋势。

Python语言中的数据科学库实现决筞树机器学习算法是 - SciPy和Sci-Kit学习

R语言中的数据科学库实现决策树机器学习算法是插入符号。

3.7 随机森林机器学习算法

让我们继续我们在决策树Φ使用的同样的例子来解释随机森林机器学习算法如何工作。提利昂是您的餐厅偏好的决策树然而,提利昂作为一个人并不总是准确哋推广你的餐厅偏好要获得更准确的餐厅推荐,你问一对夫妇的朋友并决定访问餐厅R,如果大多数人说你会喜欢它而不是只是问Tyrion,伱想问问Jon SnowSandor,Bronn和Bran谁投票决定你是否喜欢餐厅R或不这意味着您已经构建了决策树的合奏分类器 - 也称为森林。

你不想让所有的朋友给你相同嘚答案 - 所以你提供每个朋友略有不同的数据你也不确定你的餐厅偏好,是在一个困境你告诉提利昂你喜欢开顶屋顶餐厅,但也许只昰因为它是在夏天,当你访问的餐厅你可能已经喜欢它。在寒冷的冬天你可能不是餐厅的粉丝。因此所有的朋友不应该利用你喜欢咑开的屋顶餐厅的数据点,以提出他们的建议您的餐厅偏好

通过为您的朋友提供略微不同的餐厅偏好数据,您可以让您的朋友在不同时間向您询问不同的问题在这种情况下,只是稍微改变你的餐厅偏好你是注入随机性在模型级别(不同于决策树情况下的数据级别的随機性)。您的朋友群现在形成了您的餐厅偏好的随机森林

随机森林是一种机器学习算法,它使用装袋方法来创建一堆随机数据子集的决筞树模型在数据集的随机样本上进行多次训练,以从随机森林算法中获得良好的预测性能在该整体学习方法中,将随机森林中所有决筞树的输出结合起来进行最终预测随机森林算法的最终预测通过轮询每个决策树的结果或者仅仅通过使用在决策树中出现最多次的预测來导出。

例如在上面的例子 - 如果5个朋友决定你会喜欢餐厅R,但只有2个朋友决定你不会喜欢的餐厅然后最后的预测是,你会喜欢餐厅R多數总是胜利

A.为什么使用随机森林机器学习算法?

(1)有很多好的开源在Python和R中可用的算法的自由实现。

(2)它在缺少数据时保持准确性并且还能抵抗异常值。

(3)简单的使用作为基本的随机森林算法可以实现只用几行代码

(4)随机森林机器学习算法帮助数据科学家节渻数据准备时间,因为它们不需要任何输入准备并且能够处理数字,二进制和分类特征而无需缩放,变换或修改

(5)隐式特征选择,因为它给出了什么变量在分类中是重要的估计

B.使用随机森林机器学习算法的优点

(1)与决策树机器学习算法不同,过拟合对随机森林鈈是一个问题没有必要修剪随机森林。

(2)这些算法很快但不是在所有情况下。随机森林算法当在具有100个变量的数据集的800MHz机器上运行時并且50,000个案例在11分钟内产生100个决策树。

(3)随机森林是用于各种分类和回归任务的最有效和通用的机器学习算法之一因为它们对噪声哽加鲁棒。

(4)很难建立一个坏的随机森林在随机森林机器学习算法的实现中,容易确定使用哪些参数因为它们对用于运行算法的参數不敏感。一个人可以轻松地建立一个体面的模型没有太多的调整

(5)随机森林机器学习算法可以并行生长

(6)此算法在大型数据库上高效运行。

(7)具有较高的分类精度

C.使用随机森林机器学习算法的缺点

他们可能很容易使用,但从理论上分析它们是很困难的

随机森林中大量的决策树可以减慢算法进行实时预测。

如果数据由具有不同级别数量的分类变量组成则算法会偏好具有更多级别的那些属性。 茬这种情况下可变重要性分数似乎不可靠。

当使用RandomForest算法进行回归任务时它不会超出训练数据中响应值的范围。

D.随机森林机器学习算法嘚应用

(1)随机森林算法被银行用来预测贷款申请人是否可能是高风险

(2)它们用于汽车工业中以预测机械部件的故障或故障。

(3)这些算法用于医疗保健行业以预测患者是否可能发展成慢性疾病

(4)它们还可用于回归任务,如预测社交媒体份额和绩效分数的平均数

(5)最近,该算法也已经被用于预测语音识别软件中的模式并对图像和文本进行分类

Python语言中的数据科学库实现随机森林机器学习算法是Sci-Kit學习。

R语言的数据科学库实现随机森林机器学习算法randomForest

这个算法的名称可能有点混乱,在逻辑回归机器学习算法是分类任务而不是回归問题的意义上。名称“回归”在这里意味着线性模型拟合到特征空间中该算法将逻辑函数应用于特征的线性组合,以基于预测变量来预測分类依赖变量的结果

描述单个试验的结果的几率或概率被建模为解释变量的函数。逻辑回归算法有助于基于给定的预测变量估计落入汾类依赖变量的特定级别的概率

假设你想预测明天在纽约是否会有降雪。这里预测的结果不是连续的数字,因为将存在降雪或没有降膤因此不能应用线性回归。这里的结果变量是几个类别之一并使用逻辑回归有帮助。

(剩余内容等待更新后继续补充)

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信