Python预测算法

2025 年 1 月 5 日 | 阅读 9 分钟

引言

在本教程中,我们将学习 Python 预测算法。Python 中的预测模型基于历史数据中发现的模式来预测未来的发布。本质上,通过收集和分析历史数据,您可以训练模型来识别某些模式,从而防止未来的销售、疫情、欺诈等。换句话说,当 Python 模型在遇到新数据后进行训练时,它可以预测未来的结果。您可以使用不同的数据和机器学习算法来构建预测模型,例如决策树、K-均值聚类、时间序列、朴素贝叶斯等。

预测性编程在整个行业中被用作推动增长和变革的方式。公司使用此模型的一种方式是根据去年收集的数据预测下个月的销售额。同样,医疗保健行业也使用预测性分析来检测和识别患者的早期症状,以便医生能够更好地治疗患者。

我们可以使用 Python 编程语言进行预测分析吗?

是的,Python 可用于预测分析。Python 是当今最流行的编程语言之一,拥有丰富而强大的库。这使得构建预测模型的过程变得简单。一些流行的库有 pandas、NymPy、matplotlib、seaborn 和 scikit-learn。除了现有的库之外,Python 还有许多函数可以使数据分析和预测工作更加轻松。其语法易于学习,并且可以适应您的分析需求,使其成为数据科学家和雇主们的绝佳选择。

如果您充分利用 Python 及其所有库和功能,您将创建一个具有高可预测性的良好模型,这将为您公司或您的个人项目带来成功。但在开始构建这些模型之前,您需要一些编码和机器学习的背景知识来理解算法的机制。

如何在 Python 中编写预测模型?

您可以编写一个需要几个步骤的预测模型。首先,如果您的数据已过时,则需要在开始之前对其进行清理。如果您正在使用来自 GitHub 或 Kaggle 等其他来源的简单文件,这些步骤将适用于某些文件。检查您的数据日志并确保您了解其中存储的数据非常重要。调用 info()、shape() 和 describe() 等 Python 函数可以帮助您了解您正在处理的数据,从而更好地了解以后如何构建模型。

然后,您需要选择一个特征。您只需要数据集的一部分。因此,您应该只选择与测量变量具有最佳关系的特征。在此步骤中,您执行统计分析以确定数据集中的哪些内容对您的模型最重要。现在,是时候通过将数据集拆分为训练数据和测试数据来创建模型了。您希望您的模型训练得很好,以便在以后遇到未知对象时能够表现良好。最后,您可以通过运行分类报告和计算 ROC 曲线来评估模型的性能。

预测模型的过程是什么?

您需要始终专注于在设计初期投入正确的时间,例如假设生成或头脑风暴会议,或讨论或理解设计。所有这些活动都有助于我解决问题并最终建立一个更强大的业务。有很多原因说明为什么您应该首先利用这个机会,如下所示:

  1. 您有足够的时间投入,而且您精力充沛(这很重要)。
  2. 您还没有其他内容或想法的包袱;在深入研究生成的数据之前,请反思您的想法。
  3. 在下一个阶段,您将匆忙完成项目,将没有充足的时间。

这个阶段应该是好时光,所以您在这里不会谈论时间。我建议您像模型一样去做。这将帮助您构建更好的预测模型并减少以后的返工。让我们看看剩余的阶段和初始设计的时间。

  1. 首先,数据描述,占 50% 的时间
  2. 然后,数据处理,如缺失值和异常值修复,占 40% 的时间
  3. 数据建模,占 4% 的时间
  4. 最后一个是性能评估,占 6% 的时间

现在我们来讨论预测模型过程中的一些步骤,如下所示:

步骤 1 - 数据探索或描述性分析

数据探索或描述性分析是预测模型过程的第一步。每个数据科学家最初都需要花费大量时间进行数据探索。但随着时间的推移,他们将积累大量数据知识。考虑到数据准备占创建初始原型工作的 50%,自动化的好处显而易见。您可以阅读“数据探索的 7 个步骤”以了解最常见的数据分析任务。

随着高级机器学习工具的出现,完成此任务所需的时间已大大缩短。由于这是我们的第一个基本模型,我们已删除了所有任务质量方面的内容。因此,您用于解释的时间仅限于了解缺失值并直接查看主要特征。根据我的方法,您需要 2 分钟来完成此步骤(假设数据集中有 100,000 条观测值)。您必须在第一个模型中执行的以下操作包括:

  1. 您需要识别 ID、登录名和目标属性
  2. 指定分类特征和数值特征
  • 最后,识别不需要的列

步骤 2 - 数据处理或缺失值处理

数据处理或缺失值处理是预测模型过程的下一步。有很多方法可以解决这个问题。对于我们的第一个模型,我们将专注于智能而快速的技巧来创建第一个可工作的模型。

  1. 首先,您需要为缺失值创建一个虚拟标记。当缺失值有时携带太多信息而忽略重要内容时,它会起作用。
  2. 然后,我们需要填充缺失值。均值、中位数或任何最简单的方法都可以做到。均值和中位数填充有效;大多数人喜欢使用均值填充,但如果分布不均匀,我建议使用中位数。另一种智能方法是使用其他相关特征来影响结果或从类似数据和均值插补中创建模型。例如,在泰坦尼克号生存挑战中,您可以使用乘客的名字(“先生”、“小姐”、“女士”、“主人”等)来猜测他们的年龄,这是一个具有挑战性的解决方案。它对模型的性能产生了积极影响。
  • 现在,我们为分类变量分配缺失值。创建一个新的层次结构来填充分类变量。因此,所有缺失值都被编码为一个单独的值(例如,“New_Cat”),或者您可以查看混合频率并填充缺失值。使用频率高的值。使用这种简单的数据处理方法,您可以将数据处理时间缩短到 3-4 分钟。

步骤 3 - 数据建模

数据建模是预测建模过程的第三步。根据业务问题,建议使用 GBM 或随机森林技术之一。这两种方法都有助于创建解决方案。我们经常看到数据科学家将这两种方法用作初始模型,有时也用作最终模型。这将花费最长的时间(约 4-5 分钟)。

步骤 4 - 性能评估

最后一步是处理预测模型的性能评估。有许多方法可以衡量模型的性能。我们建议将训练数据分成训练和验证(理想情况下为 70:30),并创建一个由 70% 训练数据集组成的模型。现在,使用 30% 的验证数据进行交叉验证,并使用基准来衡量性能。这个过程最终需要 1-2 分钟来完成和记录。

现在我们将其付诸实践

您已经完成了所有假设生成,并且擅长使用 Python 进行数据科学。我将通过一个竞争性案例研究的例子来解释。让我们来看一下例子。

步骤 1:导入所需的库并读取测试和训练数据。将两者连接起来。

步骤 2:Python 中不需要此步骤的框架。所以,我们进入下一步。

步骤 3:在此步骤中,我们可以查看数据集的列名和摘要。

步骤 4:在此步骤中,我们识别 ID 变量、目标变量、分类变量、数值变量和其他变量。

步骤 5:在此步骤中,我们识别带有缺失值的变量,然后为其创建一个标记。

输出

使用上述命令,我们可以找到以下输出。

Acc.Status                               True
Average.A.C.Balance                      True
Average.Credit.Card.Transaction			 True
Balance.Transfer                         True
Home.Loan                                True
Investment.Tax.Saving.Bond			     True
Investment.in.Commudity			         True
Investment.in.Derivative			     True
Investment.in.Equity			         True
Investment.in.Mutual.Fund			     True
Life.Insurance                           True
Medical.Insurance                        True
Online.Purchase.Amount			         True
Personal.Loan                            True
Portfolio.Balance                        True
REF_NO                                   False
TV_area                                  True
Term.Deposit                             True
Type                                     False
age_band                                 True
children                                 True
 

步骤 6:在此步骤中,我们填充缺失值,代码如下:

步骤 7:在此步骤中,我们为分类变量创建标签编码器。然后,将数据集拆分为训练数据集和测试数据集。在这里,我们还将训练数据拆分为训练和验证。代码现在如下:

步骤 8:在此步骤中,我们将填充的变量和虚拟(非标记)变量导入模型。我使用了随机森林来预测类别。代码现在如下:

步骤 9:在此步骤中,我们正在检查性能然后进行预测。所以,代码现在在下面 -

最后,我们需要提交代码。

讨论预测的类型。

预测基本上有三种类型,如下所示:

1. 分类

在分类中,我们可以根据带有标记示例的训练数据来预测输入所属的类别。

2. 回归

它预测一个固定的数字作为输出,旨在找到输入变量和目标变量之间的关系。

3. 时间序列预测

通过时间序列,根据历史数据中观察到的模式和趋势预测未来值。

结论

通过本教程,我们学习了 Python 预测算法。Python 中的预测模型基于历史数据中发现的模式来预测未来的发布。Python 中的预测模型是数学或数学算法。它用于根据输入数据进行预测。预测模型使用机器学习或统计技术来分析历史数据并学习可用于预测未来结果或趋势的模式。Python 有许多函数可以使数据分析和预测工作更加轻松。因此,我们使用 Python 编程语言进行预测算法。