Skip to content

imaginespark/machine-learning-in-action

Repository files navigation

Machine Learning in Action

看完《机器学习实战》并且完成代码实现。

1 机器学习简介

1.1 主要任务

机器学习可大致分为监督学习和无监督学习,其中监督学习包括分类问题回归问题,无监督学习包括聚类问题关联分析问题。每个问题下对应多个算法,因此我们需要知道每个算法的适用场景及优缺点。

机器学习的典型步骤:收集数据、准备数据、分析数据、训练算法、测试算法、使用算法。

1.2 研究路线

先从理论上剖析算法原理,再动手编写代码实现算法,确保算法可以处理简单的数据,并用真实的数据集去测试算法,最后总结并检验算法。

2 算法总结

2.1 监督学习

算法 优点 缺点 适用数据范围
K-近邻 精度高、对异常值不敏感、无数据输入假定。 计算复杂度高、空间复杂度高。 数值型和标称型。
决策树 计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。 可能会产生过度匹配问题。 数值型和标称型。
朴素贝叶斯 在数据较少的情况下仍然有效,可以处理多类别问题。 对于输入数据的准备方式较为敏感。 标称型数据。
逻辑斯蒂回归 计算代价不高,易于理解和实现。 容易欠拟合,分类精度可能不高。 数值型和标称型数据。
支持向量机 泛化错误率低,计算开销不大,结果易解释。 对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。 数值型和标称型数据。
AdaBoost 泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整。 对离群点敏感。 数值型和标称型数据。
线性回归 结果易于理解,计算上不复杂。 对非线性的数据拟合不好。 数值型和标称型数据。
树回归 可以对复杂和非线性的数据建模。 结果不易理解。 数值型和标称型数据。

2.2 非监督学习

算法 优点 缺点 适用数据范围
K-均值 容易实现。 可能收敛到局部最小值,在大规模数据集上收敛较慢。 数值型数据。
Apriori 易编码实现。 在大数据集上可能较慢。 数值型或者标称型数据。
FP-growth 一般要快于Apriori 实现比较困难,在某些数据集上性能会下降。 标称型数据。

About

机器学习常见算法的Python3实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages