# 机器学习算法比较

> 原文： [https://pythonbasics.org/machine-learning-algorithms-comparison/](https://pythonbasics.org/machine-learning-algorithms-comparison/)

人工智能（特别是机器学习）的创建是为了简化开发人员和程序员的工作。

不必编写很多代码，您必须在机器学习算法之间进行选择，然后再决定一种编程语言。 那可能很棘手。



为什么？ 首先，有四种类型的机器学习算法。

## 机器学习算法

### 监督学习

监督学习基于**标记的训练数据**。

监督学习的基础是称为培训数据的数据和一组培训示例。

带标签的训练集具有预测其他对象上未知标签的功能。

它有两种类型：

1.  回归（如果标签是实数）
2.  分类（如果标签是有限且无序的）。

![supervised learning uses labeled training data](img/a00bd824aae90021b95e57c905444e0f.jpg)

### 无监督学习

无监督学习是无标签数据。

无监督学习的基础是关于对象的信息较少。 这些测试数据没有标签，分类或分类。

无监督学习可以在群集中创建具有相似性的对象组，并将所有群集中的不同对象（假定这些对象为异常）分离。

### 半监督学习

半监督学习被标记和未被标记。

收集有监督和无监督的利弊，半监督学习尤其适合那些无法标记其数据的人。

训练集具有标记和未标记两种，以提高准确性。

### 强化学习

强化学习正在采取行动。

它与之前的有所不同，因为没有用于强化学习的数据集。

强化学习是软件代理应采取的措施以最大化回报。 这是训练以最有效的方式行事。

### 算法

因此，知道了这一点，就可以快速恢复六种机器学习算法。

*   **线性回归** & **线性分类器**：如果有最简单的算法，应该使用这些算法。 当您具有成千上万的功能并需要提供不错的质量时，可以使用它。

比这些更好的算法可能会过拟合，而回归和分类器将确保大量功能。

*   **Logistic 回归**：执行二进制分类，因此标签输出为二进制。 它采用特征的线性组合，并对其应用非线性函数。 这是非线性分类器最简单的算法。

*   **决策树**：树枝和树叶可以挽救生命。 该算法是从观察到结论的预测模型。 真实的人可以使用决策树来做出决策，这使得它很容易理解。 最容易解释的通常用于组成随机森林或渐变增强。

*   **K-均值**：如果您的目标是根据对象的特征分配标签，但是您没有任何标签，则称为聚类任务，该算法可以实现这一任务。 但是，有多种聚类方法具有不同的优缺点，应该首先考虑一下。

*   **主成分分析（PCA）**：当您具有广泛的功能，彼此之间高度相关并且模型很容易适合大量数据时，可以应用它。 该算法在减少信息损失最小的情况下很好地减少了维数。

*   **神经网络**：每个特定任务都有许多不同的体系结构或一系列层/组件。 在处理图像时，神经网络是理想的选择。 他们的训练需要巨大的计算复杂性，但却提出了算法的新时代。