# 理解模型算法

算法是生成模型的数学公式。它接受数据集的输入并生成模型的输出。每种算法都有不同的优点和缺点。

当您选择目标时，Qlik Predict 会自动为用例选择最佳算法。目标决定使用哪种算法。

在以下情况下，使用最适用于二进制和多类分类问题的算法：

* 目标只有两个唯一的值，如“客户是否会取消订阅？”- 是或否。

* 目标是一个具有三到十个唯一值的字符串值。例如，确定目标为“红色”、“蓝色”、“绿色”或“黄色”之一的最佳活动组合。

如果目标是数值列，则使用最适用于回归问题的算法。预测客户将购买多少是回归问题的一个例子。

## 二进制和多类分类问题的算法

Qlik Predict 对二进制和多类分类问题使用以下算法：

* CatBoost 分类

* 弹性网回归

* 高斯朴素贝叶斯

* 套索回归

* LightGBM 分类

* 逻辑回归

* 随机森林分类

* XGBoost 分类

## 回归问题的算法

Qlik Predict 对回归问题使用以下算法：

* CatBoost 回归

* LightGBM 回归

* 线性回归

* 随机森林回归

* SGD 回归

* XGBoost 回归

## 针对时间序列问题的算法

Qlik Predict 对时间序列问题使用以下算法：

* 时间序列 DeepAR

* 时间序列混合器

* 时间序列密集编码器

## 不同类型的模型

模型类型可以分为回归模型、集合、时间序列模型和其他类型的机器学习模型。

### 回归模型

回归模型，或一般线性模型，是沿着每个变量的域彼此独立地寻找趋势的模型。像代数方程 y = mx+b 一样，算法希望选择一个 m 和一个 b，平均来说，对于每个 x 和 y 值都会产生最高的精度。当有多个变量时，通常是相同的概念。线性回归和逻辑回归分别是用于回归问题和分类问题的回归模型的示例。

对于分类问题，回归模型输出是样本为正类的概率。这意味着 y 等于概率，而不是实际值。

回归很适合发现数据中的线性趋势，但有时存在一种非线性的关系。为了使回归能够很好地适应非线性模式，需要在训练模型之前进行数据转换。深入理解线性关系的好处是，线性关系通常在[外推方面](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/extrapolation-interpolation.htm)表现最好。下表列出了回归模型的利弊。

| 利 | 弊 |
| --- | --- |
| <ul> <li> <p>适合推断</p> </li> <li> <p>适合发现独立变量的线性趋势</p> </li> <li> <p>适用于相同人群的大量数据</p> </li> <li> <p>易于理解</p> </li> </ul> | <ul> <li> <p>不适合利用变量之间的模式</p> </li> <li> <p>不适合非线性趋势拟合</p> </li> <li> <p>有时过于简单 </p> </li> </ul> |

### 集成模型

集成是指多个模型组合在一起。这可以比作一群不同背景的人投票，用平均投票来决定。随机森林和 XGBoost 是集成模型的示例。

集成可以解决回归问题和分类问题。他们善于发现非线性关系，并善于发现变量之间的相互作用如何影响目标。尽管集合善于学习训练数据范围内的模式，但在预测超出范围的值时表现不佳。下表列出了集成模型的优缺点。

| 利 | 弊 |
| --- | --- |
| <ul> <li> <p>适合利用变量之间的模式</p> </li> <li> <p>适合发现非线性趋势</p> </li> <li> <p>适用于相同人群的大量数据</p> </li> </ul> | <ul> <li> <p>不适合推断</p> </li> <li> <p>不太容易解释</p> </li> </ul> |

### 时间序列模型

时间序列模型利用使用GPU加速和基于神经网络的方法的深度学习算法进行训练。这些模型经过训练，可以生成与特定日期和时间相对应的预测。时间序列模型支持涉及多变量目标以及静态、过去与未来协变量的预测。

时间序列模型需要大量计算能力。

### 其他模型类型

其他模型类型包括所有其他模型类型。示例包括最近邻和高斯朴素贝叶斯。这些类型的模型通常试图创建数据的新空间表示，通常通过创建某种类型的距离度量来度量两个记录的不同程度。它们可以很好地处理非线性趋势，但随着数据集大小的增加，计算成本要高得多。下表列出了其他模型的优缺点。

| 利 | 弊 |
| --- | --- |
| <ul> <li> <p>适合利用变量之间的模式</p> </li> <li> <p>适合发现非线性趋势</p> </li> </ul> | <ul> <li> <p>	不适合推断</p> </li> <li> <p>在更大的数据集上计算成本更高</p> </li> </ul> |