如何选择机器学习算法

来源:互联网 发布:php lastindexof 编辑:程序博客网 时间:2024/05/22 13:28

这篇文章适用于初级和中级数据科学工程师以及对区分和应用机器学习算法解决他们感兴趣的问题的的数据分析工程师

初学者常见的典型问题就是面对种类繁多的机器学习算法,该如何选择使用,答案由很多因素决定,包括:

- 数据量,数据质量,数据特征

- 可得计算时间

- 任务紧急程度

- 目标操作

在未尝试不同的算法之前,即便是很有经验的数据科学家也很难确定哪个算法性能更好,我们无法在确定一个一以贯之的方法,但在根据一些明确的影响因子如何选择率先尝试的算法上我们希望可以提供一些指导

The machine learning algorithm cheat sheet


这张表格可以帮助你从众多借其学习算法中选择适合你的问题的算法,本文将引导你如何使用这张表
由于该表是面向初级数据数据科学界和分析师的,讨论问题之间我们先做一些简单的默认假设,这里推荐的栓法来源于多位数据科学和机器学习专家和开发者的反馈和技巧,有些观点未能取得一致看法,这里我们留同去异
,后续随着实验室的成长将会增加算法形成一个更为完善的算法表
### 如何使用这张表
按照if then use 的方法阅读算法标签和路径,例如:
- if 你想做数据降维, then use 主成分分析(PCA)
- if 你需要快速数值预测, use 决策树或者逻辑回归
- if 你需要一个层级结果,use 层次聚类
有时不止一个分支可行,但有时也会没有一个最佳适配路径,但请注意这些路径只是手边的参考,部分建议不是那么精准,几个和我闲聊过的数据科学家说过:找到最佳算法的唯一途径就是全试一遍
## 机器学习算法分类
这部分是常见风格的机器学习算法概述,如果你熟悉这些分类且想要了解具体算法,你可以跳过本章阅读下面的“什么时候使用具体算法”章节
#### 监督学习

-  分类:数据用来预测一个分类种类时,监督学习也成为分类
-  回归: 预测连续值时成为回归
-  预测:根据过去和当前数据预测未来,常被称为趋势预测
#### 半监督学习
〉与监督学习不一样的是,当标记数据昂贵且耗时时,如果标签有限,你可以使用未标记数据辅助监督学习,这种称为半监督学习,使用为标记数据和少量标记数据来提高学习准确率
#### 非监督学习
- 分类:相似数据分组
- 降维:原始数据纬度过高,降维减少冗余特征
#### 增强学习
〉增强学习跟哭环境反馈分析和优化行为,机器尝试不同场景以发现获得高反馈的行为,试错和延迟奖励是区分增强学习与其他方法的界限

## 如何选择算法
了解算法细节有助于你理解算法假设条件和使用场景,这些描述提供更多细节和额外的技巧用以选择如何使用具体的算法




翻译文章,未完,原文章比较基础,读完之后,感觉没必要翻译,重点是表格
原文链接不可查相关表格链接参见
http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/