2023 年你应该知道的所有机器学习算法

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在过去的几年里根据自己的工作经验整理了我认为最重要的机器学习算法。

通过这个我希望提供一个工具和技术的存储库以便您可以解决各种数据科学问题

让我们深入研究六种最重要的机器学习算法

  1. 解释性算法
  2. 模式挖掘算法
  3. 集成学习算法
  4. 聚类算法
  5. 时间序列算法
  6. 相似度算法

1.解释算法

机器学习中最大的问题之一是了解各种模型如何得出最终预测。我们常常知道“是什么”但很难解释“为什么”。

解释性算法帮助我们识别对我们感兴趣的结果有有意义影响的变量。这些算法使我们能够理解模型中变量之间的关系而不是仅仅使用模型来预测结果。

您可以使用多种算法更好地理解给定模型的自变量和因变量之间的关系。

算法

  • 线性/逻辑回归一种对因变量与一个或多个自变量之间的线性关系建模的统计方法——可用于根据 t 检验和系数了解变量之间的关系。
  • 决策树一种机器学习算法它创建决策及其可能后果的树状模型。通过查看拆分分支的规则它们对于理解变量之间的关系很有用。
  • 主成分分析 (PCA)一种降维技术可将数据投射到低维空间同时保留尽可能多的方差。PCA 可用于简化数据或确定特征重要性。
  • Local Interpretable Model-Agnostic Explanations (LIME)一种算法通过使用线性回归或决策树等技术构建更简单的模型在预测周围近似模型来解释任何机器学习模型的预测。
  • Shapley Additive explanations (SHAPLEY)一种算法通过使用基于“边际贡献”概念的方法计算每个特征对预测的贡献来解释任何机器学习模型的预测。在某些情况下它可能比 SHAP 更准确。
  • Shapley Approximation (SHAP)一种通过估计每个特征在预测中的重要性来解释任何机器学习模型的预测的方法。SHAP 使用一种称为“联合博弈”的方法来近似 Shapley 值并且通常比 SHAPLEY 更快。

2.模式挖掘算法

模式挖掘算法是一种数据挖掘技术用于识别数据集中的模式和关系。这些算法可用于多种目的例如识别零售环境中的客户购买模式、了解网站/应用程序的常见用户行为序列或在科学研究中寻找不同变量之间的关系。

模式挖掘算法通常通过分析大型数据集并寻找重复模式或变量之间的关联来工作。一旦确定了这些模式就可以使用它们来预测未来趋势或结果或者了解数据中的潜在关系。

算法

  • Apriori 算法一种用于在事务数据库中查找频繁项集的算法 - 它高效且广泛用于关联规则挖掘任务。
  • 递归神经网络 (RNN)一种神经网络旨在处理顺序数据因为它们能够捕获数据中的时间依赖性。
  • 长短期记忆 (LSTM)一种循环神经网络旨在更长时间地记住信息。LSTM 能够捕获数据中的长期依赖关系通常用于语言翻译和语言生成等任务。
  • 使用等价类 (SPADE) 的顺序模式发现一种通过将在某种意义上等价的项目组合在一起来查找顺序数据中频繁模式的方法。这种方法能够处理大型数据集并且相对高效但可能不适用于稀疏数据。
  • PrefixSpan一种通过构建前缀树和修剪不频繁项目来查找顺序数据中频繁模式的算法。PrefixScan 能够处理大型数据集并且相对高效但可能不适用于稀疏数据。

3.集成学习

集成算法是一种机器学习技术它结合了多个模型的预测以便做出比任何单个模型都更准确的预测。集成算法优于传统机器学习算法的原因有以下几个

  1. 多样性通过组合多个模型的预测集成算法可以捕获数据中更广泛的模式。
  2. 鲁棒性集成算法通常对数据中的噪声和异常值不太敏感这可以导致更稳定和可靠的预测。
  3. 减少过度拟合通过对多个模型的预测进行平均集成算法可以减少单个模型过度拟合训练数据的趋势从而提高对新数据的泛化能力。
  4. 提高准确性集成算法已被证明在各种情况下始终优于传统的机器学习算法。

算法

  • 随机森林一种机器学习算法它创建决策树的集合并根据树的多数票进行预测。
  • XGBoost一种梯度提升算法它使用决策树作为其基础模型被认为是最强的 ML 预测算法之一。
  • LightGBM另一种梯度提升算法旨在比其他提升算法更快、更高效。
  • CatBoost一种梯度提升算法专门设计用于很好地处理分类变量。

4.聚类

聚类算法是一种无监督学习任务用于将数据分组为“集群”。与目标变量已知的监督学习相反聚类中没有目标变量。

这种技术对于发现数据的自然模式和趋势很有用并且经常在探索性数据分析阶段使用以进一步了解数据。此外聚类可用于根据各种变量将数据集划分为不同的部分。这方面的一个常见应用是对客户或用户进行细分。

算法

  • K模式聚类一种专门为分类数据设计的聚类算法。它能够很好地处理高维分类数据并且实现起来相对简单。
  • DBSCAN一种基于密度的聚类算法能够识别任意形状的聚类。它对噪声相对稳健可以识别数据中的异常值。
  • 谱聚类一种聚类算法它使用相似矩阵的特征向量将数据点分组到聚类中。它能够处理非线性可分数据并且相对高效。

5.时间序列算法

时间序列算法是用于分析时间相关数据的技术。这些算法考虑了一系列数据点之间的时间依赖性这在尝试预测未来值时尤为重要。

时间序列算法用于各种业务应用程序例如预测产品需求、预测销售或分析客户随时间变化的行为。它们还可用于检测数据中的异常或趋势变化。

算法

  • Prophet 时间序列建模Facebook 开发的一种时间序列预测算法旨在直观且易于使用。它的一些主要优势包括处理缺失数据和趋势变化、对异常值具有鲁棒性以及快速适应。
  • 自回归积分移动平均 (ARIMA)一种用于预测时间序列数据的统计方法它对数据与其滞后值之间的相关性进行建模。ARIMA 可以处理范围广泛的时间序列数据但可能比其他一些方法更难实现。
  • 指数平滑一种预测时间序列数据的方法它使用过去数据的加权平均值来进行预测。指数平滑实现起来相对简单可用于范围广泛的数据但性能可能不如更复杂的方法。

6.相似度算法

相似度算法用于衡量成对的记录、节点、数据点或文本之间的相似度。这些算法可以基于两个数据点之间的距离例如欧氏距离或基于文本的相似性例如 Levenshtein 算法。

这些算法具有广泛的应用但在推荐方面特别有用。它们可用于识别相似的项目或向用户推荐相关内容。

算法

  • 欧氏距离欧氏空间中两点之间直线距离的度量。欧氏距离计算简单广泛应用于机器学习但在数据分布不均匀的情况下可能不是最佳选择。
  • 余弦相似度基于两个向量之间的角度来衡量两个向量之间的相似度。
  • Levenshtein 算法一种用于测量两个字符串之间距离的算法基于将一个字符串转换为另一个字符串所需的最小单字符编辑插入、删除或替换次数。Levenshtein 算法通常用于拼写检查和字符串匹配任务。
  • Jaro-Winkler 算法一种基于匹配字符数和换位数来衡量两个字符串之间相似性的算法。它类似于 Levenshtein 算法通常用于记录链接和实体解析任务。
  • 奇异值分解 (SVD)一种矩阵分解方法可将一个矩阵分解为三个矩阵的乘积——它是最先进的推荐系统不可或缺的组成部分。
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 机器学习