Press "Enter" to skip to content

《PandasAI全面指南》

介绍

生成式人工智能(Generative AI)和大型语言模型(Large Language Models,LLMs)给人工智能和机器学习带来了新的时代。这些大型语言模型被用于不同领域的各种应用,并且开启了人工智能的新视角。这些模型在全球范围内的大量文本数据上进行训练,可以以人类一样的方式生成文本。最著名的LLM示例是由OpenAI开发的ChatGPT,它可以执行各种任务,从创作原创内容到编写代码。在本文中,我们将探讨LLMs的一个应用:PandasAI库。PandasAI指南可以被视为Python流行的Pandas库和OpenAI的GPT之间的融合。它非常强大,可以在不编写太多代码的情况下从数据中快速获取洞察。

学习目标

  • 了解Pandas和PandasAI之间的区别
  • 了解PandasAI在数据分析和可视化中的作用
  • 使用PandasAI构建完整的探索性数据分析工作流程
  • 了解编写清晰、简明和具体提示的重要性
  • 了解PandasAI的限制

本文作为”数据科学博文马拉松”的一部分发布。

PandasAI

PandasAI是一个使数据分析和可视化任务更加简单的新工具。PandasAI是基于Python的Pandas库构建的,并在其工作中使用生成式人工智能和LLMs。与Pandas不同,您不需要手动分析和处理数据,PandasAI允许您通过提供文本提示来从数据中生成洞察。就像给您的助手下指示一样,他们熟练并能够快速完成工作。唯一的区别是,它不是人类,而是一台机器,可以像人类一样理解和处理信息。

在本文中,我将使用代码示例和解释来回顾使用PandasAI进行完整的数据分析和可视化过程。那么,让我们开始吧。

建立OpenAI帐户并提取API密钥

要使用PandasAI库,您必须创建一个OpenAI帐户(如果您还没有),并使用您的API密钥。可以按照以下步骤进行操作:

  1. 访问https://platform.openai.com并创建一个个人帐户。
  2. 登录您的帐户。
  3. 在右上方点击个人
  4. 从下拉菜单中选择查看API密钥
  5. 创建一个新的密钥。
  6. 将密钥复制并存储到您计算机上一个安全的位置。

如果您按照上述步骤操作,那么您已经可以在项目中利用生成式人工智能的强大功能。

安装PandasAI

在Jupyter Notebook/Google Colab或终端中输入以下命令来安装Pandasai软件包。

pip install pandasai

安装需要一些时间,但一旦安装完成,您就可以直接在Python环境中导入它。

from pandasai import PandasAI

这将导入PandasAI到您的编码环境中。我们已经准备好使用它了,但让我们首先获取数据。

获取数据并实例化LLM

您可以使用任何您喜欢的表格数据。本教程将使用医疗费用数据。(注意:PandasAI只能分析表格和结构化数据,如常规pandas,而不能分析非结构化数据,如图像)。

数据如下所示。

《PandasAI全面指南》 四海 第1张

《PandasAI全面指南》 四海 第2张

《PandasAI全面指南》 四海 第3张

《PandasAI全面指南》 四海 第4张

《PandasAI全面指南》 四海 第5张

收费列的中位数大约为9382。在图中,这由盒子中间的橙色线表示。可以清楚地看到,收费列包含许多异常值,这些异常值在上图中用圆圈表示。

现在让我们创建一些显示多列之间关系的图表。

地区 vs. 吸烟者

提示 = "制作一个地区与吸烟者的横向条形图,将图例缩小。"
pandas_ai(data, prompt=prompt)

《PandasAI全面指南》 四海 第6张

从图表中,人们可以很容易地看出东南地区的吸烟者人数最多,超过了其他地区。

收费随年龄变化

提示 = '''制作一个以年龄为横坐标、收费为纵坐标的散点图,并使用吸烟者的值进行颜色编码。
            同时提供图例。'''
pandas_ai(data, prompt=prompt)

《PandasAI全面指南》 四海 第7张

看起来,非吸烟者的年龄和收费呈线性关系,而吸烟者则没有特定的模式。

收费随 BMI 变化

为了使事情变得更复杂,让我们尝试只使用一部分数据而不是真实数据来创建一个图表,并看看 LLM 的表现如何。

提示 = "制作一个以 BMI 为横坐标、收费为纵坐标的散点图,并使用吸烟者的值进行颜色编码。
          添加图例,并仅使用有少于 2 个孩子的人的数据。"
pandas_ai(data, prompt=prompt)

《PandasAI全面指南》 四海 第8张

即使在复杂的问题下,它也表现出色。PandasAI 现在展示了其真正的潜力。您已经见证了大型语言模型的真正威力。

局限性

  • PandasAI 生成的响应有时可能会显示出固有的偏见,这是由于大型语言模型从互联网上训练的海量数据导致的,这可能会妨碍分析。为了确保公正和无偏的结果,了解和减轻这种偏见至关重要。
  • 大型语言模型有时会误解模糊或语境复杂的查询,导致不准确或意外的结果。在做出任何关键的数据驱动决策之前,必须谨慎并仔细检查答案。
  • 它有时可能会回答缓慢或完全失败。服务器托管大型语言模型,偶尔可能出现技术问题,导致请求无法到达服务器或无法处理。
  • 它不能用于大数据分析任务,因为在处理大量数据时计算效率低下,并且需要高性能的 GPU 或计算资源。

结论

我们已经完整地演示了使用 PandasAI 库进行现实世界数据分析任务的强大能力。在处理 GPT 或其他大型语言模型时,编写一个良好的提示的力量是不可言喻的。

以下是本文的一些关键要点:

  • PandasAI 是一个将生成式人工智能能力添加到 Pandas 的 Python 库。
  • PandasAI 通过使用文本提示以自然语言提问的方式,使 Pandas 具有对话能力。
  • 尽管其惊人的能力,PandasAI 也有其局限性。不要盲目信任或在复杂的用例(如大数据分析)中使用。

感谢您坚持到最后。希望您会发现本文对您有所帮助,并开始在项目中使用 PandasAI。

常见问题(FAQ)

问题1:PandasAI是pandas的替代品吗?

答:不,PandasAI不是pandas的替代品。它通过使用生成式AI功能增强了pandas,并且是为了补充pandas而设计的,而不是替代它们。

问题2:PandasAI可以用于哪些目的?

答:可以将PandasAI用于数据探索和分析以及在允许的MIT许可下的项目中。不要将其用于生产目的。

问题3:PandasAI支持哪些LLM(大型语言模型)?

答:它支持多个大型语言模型(LLM),如OpenAI、HuggingFace和Google PaLM。您可以在此处找到完整列表。

问题4:它与pandas有何不同?

答:在pandas中,您必须手动编写完整的代码来进行数据分析,而PandasAI使用文本提示和自然语言来进行数据分析,无需编写代码。

问题5:PandasAI是否总是给出正确答案?

答:不,它有时可能会因用户提供的模糊提示或数据中的某些偏差而输出错误或不完整的答案。

本文中显示的媒体不归Analytics Vidhya所有,仅由作者自行决定使用。

Leave a Reply

Your email address will not be published. Required fields are marked *