最实用的机器学习算法Top5

简介: 本文讲的是最实用的机器学习算法Top5,将推荐五种机器学习算法,你应该考虑是否将它们投入应用。

本文讲的是 最实用的机器学习算法Top5,本文将推荐五种机器学习算法,你应该考虑是否将它们投入应用。这五种算法覆盖最常用于聚类、分类、数值预测和朴素贝叶斯等四个门类。

image

  1. 聚类算法:k-means

聚类算法的目标:观察输入数据集,并借助数据集中不同样本的特征差异来努力辨别不同的数据组。聚类算法最强大之处在于,它不需要本文中其他算法所需的训练过程,您只需简单地提供数据,告诉算法你想创造多少簇(样本的组别),算法会为每个簇来分配一个编号。这种规范聚类算法就是k-means。

举个例子,你的应用可用k-means来按照营销目的区分你的网络服务的用户。你只需要输入(从电子商务网站获取的)一组客户的购买历史,并确定四组客户以进行分类营销。此时,你为k-means提供了一个数据表,每行代表一名客户,每列则是各种对客户的购买行为特征(如成为客户的时间、每月评价花费、每月评价订单量、地理位置、对当天航运的使用比例等等)。算法会为表格增加一栏:编号1-4来表示不同的分组。

提示:使用kmeans函数或rxKmeans. 用以执行bt rx的函数是ScaleR的一部分,所以不能支持量很大的数据集。

2&3. 两类、多类分类算法

分类算法的目标:输入一行数据及一个类目名称表,通过对数据的校验估测其所属的类目。分类算法通常按照分类时的类目总数分为两类和多类分类算法。在你使用种算法预测新数据前,你需要预先使用一组类目可知的数据对算法加以训练。

不妨举个简单的例子来说明两类分类算法:想象一个你希望得到是/否(或真/伪)的两极化情形。此时,类别分别为“是”和“否”(或者“真”和“伪”)。两类分类的典型应用是:根据历史天气条件(如温度、风速、降水、气压)和航班信息(如航空公司、起飞时间、航班号)来预测未来航班会推迟15分钟离开还是照常起飞。输出分为“延迟”和“不延迟”两类。在大多数情况下,两类分类算法的核心是逻辑回归的使用,后者用于生成一个在0到1范围内的值。如果该值小于0.5,往往会解释为第一个类(如“不延迟”),否则会划为第二类(如“延迟”)。

另一个应用是:预测贷款的偿还情况,来作为拓展信用的一部分。你必须提供贷款人的相关数据,譬如信用分数、房产年限、工作时长、信用卡债务总额、数据采集年份以及有贷款违约记录。分类为“会违约”和“不会违约”。这个例子之所以非常有趣,是因为对于一些机器学习所处理的难题来说,仅仅有预测结果并不足够,还必须知晓结论是怎样得出的。这时多组分类算法形成的决策树就派上用场了,决策树中的多组分类算法可以分析从输入到最终生成预测的过程。回到贷款这一案例,不妨想象你是银行方,当你拒绝了消费者的贷款新的信用卡要求时,消费者的下一个问题可能是“为什么?”。通过决策树,你可以具体回答:“好吧,你的信用分数太低了,信用卡债台高筑,工作年头又太短了。”

充分理解两类分类算法后,进一步理解多类分类算法就顺理成章了。多类分类算法可应用于电影院,来告诉后者某部电影究竟是垫底的票房毒药(不仅口碑差,而且主流观众不感兴趣)、口碑导向(叫好不叫座)还是票房导向(口碑差,但是票房高)。三个分类分别是“毒药”、“口碑导向”、“票房导向”。你也可以使用决策树,来了解一部电影为何会得到这样的评价。

提示:使用glm或rxLogit来进行两类或多类分类。进行多类分类时,你可以使用rpart或rxDTree来建立可观察决策树。

  1. 数值预测

数值预测算法的目标:根据一组输入,预测一个具体数值。仍然使用上文中航班延误的例子,我们现在要做的不再是预测航班是否会推迟15分钟,数值预测算法将让你知晓航班将具体被推迟多久。数值预测算法的核心是线性回归的使用(不要与分类算法使用的逻辑回归混淆),通过对历史数据的线性拟合,线性回归可以有效地进行数值预测。最好的例子是股票的预测,线性回归根据过往数据的分布,拟合出一条最合适的直线,延长这条线你就可以预测将来的股票价格。

提示:使用Im或rxLinMod函数。

  1. 朴素贝叶斯算法

最后,你的采纳清单上还缺一个机器学习中劳苦功高的算法——朴素贝叶斯算法。它的核心是因果关系。更具体地说,朴素贝叶斯算法是在给定已知的成因的情况下,预测这一成因将产生的效果以及效果的程度。现实生活中的典型例子是癌症检测。你可以通过对病人特定病状(效果)的观察,来预测病人患有癌症的概率(疾病是成因)。再举个和你相关的例子,朴素贝叶斯算法可以根据你已购买的商品为你推荐其他商品。例如,你网购了一些鸡蛋,算法会提醒你买些牛奶,因为你的购买历史显示:购买鸡蛋(成因)会导致购买牛奶(效果)。朴素贝叶斯有趣的一点在于,它可以用于分类和数值预测。。

提示:使用naiveBayes和rxNaiveBayes函数。

结论

好了,你有了一个实用算法的清单。现在,重新审视你的应用,想一想哪些地方可以增添点机器学习带来的智能性。

原文发布时间为:十二月 29, 2016
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛
原文链接:http://www.aqniu.com/tools-tech/22035.html

相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
165 4
|
21天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
138 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
11天前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
41 14
|
1月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
65 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
63 1
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
2月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
154 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
2月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
48 0
|
3月前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
2月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
46 0