在数据分析中激发生成式人工智能
如何在数据分析中激发生成式人工智能的应用
介绍
生成式人工智能通过创建新的数据和简化编码和分析等任务,提升了数据分析的能力。 诸如GPT-3.5这样的大型语言模型(LLMs)通过理解和生成SQL、Python、文本摘要和数据可视化来实现这一目标。然而,存在一些限制,例如处理短上下文和错误。 未来的改进目标是专用LLMs、多模态能力和更好的用户界面,以实现流畅的数据工作流程。 TalktoData等倡议旨在通过用户友好的生成式人工智能平台使数据分析更加可访问。 目标是为每个人简化和扩大数据分析。
学习目标:
- 理解生成式人工智能在数据分析中的作用。
- 探索大型语言模型(LLMs)在数据分析中的应用。
- 识别生成式人工智能在数据分析中的限制和解决方案。
定义生成式人工智能:理解其功能和重要性
生成式人工智能是一个优秀的内容生成的人工智能子集,包括文本、图像、音频、视频和合成数据。与根据预定义参数进行分类或预测的传统人工智能模型不同,生成式人工智能可以生成内容。它在深度学习的领域内运行,通过根据提供的输入生成新的数据标签来区分自己。
一个显著的区别在于它处理非结构化数据的能力,消除了将数据塑造成预定义参数的需求。生成式人工智能有巨大的潜力来理解和推断给定的数据。因此,它成为数据分析中的一项创新技术。
生成式人工智能在数据分析中的应用
生成式人工智能,特别是通过LLMs(例如GPT-4或GPT-3.5),在数据分析中具有许多应用。其中最有影响力的用例之一是它能够为数据专业人员生成代码。通过在SQL和Python中训练的LLMs可以生成代码,极大地帮助数据分析任务。
这些模型具有推理能力,使它们能够从数据中提取洞察和创建相关性。此外,它们还可以进行文本摘要、生成可视化甚至修改图形,从而提升分析过程。它们不仅执行传统的机器学习任务,如回归和分类,还适应直接分析数据集。这使得数据分析更加直观和高效。
揭示LLMs的能力和实际应用
在利用LLMs进行数据分析时,过程涉及使用各种库,如OpenAI的GPT 3.5、LLaMA Index和相关框架,对CSV文件和SQL数据库进行数据分析。
代码:
#导入OpenAI和API密钥import osimport openaifrom IPython.display import Markdown, displayos.environ["OPENAI_API_KEY"] = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'openai.api_key = os.environ["OPENAI_API_KEY"]#导入pandas和Llama-index的Pandas Query Engineimport pandas as pdfrom llama_index.query_engine import PandasQueryEngine#加载示例csv文件(泰坦尼克号数据集)df = pd.read_csv("titanic.csv")df.head(5)
输出:
LLM的主要意义在于其根据自然语言查询生成代码的内在能力。从而使用户能够无缝地从数据中获取洞察力。例如,将CSV文件加载到Pandas查询引擎中,允许用户用常规语言提问,比如“有多少乘客幸存下来?”LLM会生成相应的代码,提供准确的结果。
代码:
response = pd_query_engine.query("有多少乘客幸存下来?",)display(Markdown(f"<b>{response}</b>"))
输出:
代码:
response = pd_query_engine.query("男性和女性人口的平均,最大和最小年龄是多少?",)display(Markdown(f"<b>{response}</b>"))
输出:
这种无缝互动扩展到SQL数据库,其中LLM根据提供的元数据生成SQL查询,允许复杂的查询,比如从特定国家检索最畅销的专辑。元数据在有效利用LLM进行数据分析方面发挥了关键作用。在SQL数据库中,元数据提供有关表、主键、外键、列名及其各自数据类型的关键信息。这些元数据在LLM中充当指南的作用,使它们能够理解数据库结构,并基于这些预定义参数生成SQL查询。
代码:
#从SQLITE Tutorial中加载一个sqlite数据库from sqlalchemy import create_engine, MetaData, Table, Column, String, Integer, select, column# 示例数据库# https://www.sqlitetutorial.net/sqlite-sample-database/engine = create_engine("sqlite:///Chinook.db")metadata_obj = MetaData()# 让我们使用来自Llama-index的SQL查询引擎from llama_index import SQLDatabase# 创建SQL数据库对象sql_database = SQLDatabase(engine)# 创建查询引擎from llama_index.indices.struct_store import NLSQLTableQueryEnginequery_engine = NLSQLTableQueryEngine(sql_database=sql_database)query_str = ("数据库中的所有表是什么?")response = query_engine.query(query_str)print(response)
输出:
代码:
response = query_engine.query("给我Album表的前5行")print(response)
输出:
然而,存在一些限制,如短上下文限制、代码生成中的潜在错误和计算开销。明显需要先进的LLM(如GPT-4)来增强对上下文的理解和SQL查询代码生成的准确性。此外,未来发展的方向在于使这些AI系统更加用户友好、直观,并能够处理多样化的数据分析工作流。此外,它们有可能在未来彻底改变企业和用户与分析工具的互动方式。
语言模型模型,特别是GPT-3.5,给出了生成AI在现实应用中的潜力的实际示例。通过在Colab笔记本中进行实际演示,可以清楚地看到LLM在分析CSV文件和SQL数据库方面的能力,简化了常见用例的数据分析过程。
通过加载示例CSV文件和公共SQL数据库,这些LLM展示了它们生成与数据相关问题答案的能力。它们展现了解释用户查询、理解表结构和提供准确响应的熟练性。然而,使用LLM也会显现出某些限制和缺点。
克服生成AI在数据分析中的限制和缺点
尽管LLM具有巨大的能力,但它们并不是没有限制的。它们的主要限制包括短上下文、高错误率、计算开销以及对终端用户缺乏直观界面的问题。提供大量数据可能导致溢出错误,而且错误率,尤其是在通用LLM中,可能达到40%。
此外,缺乏直观的用户界面限制了广泛的采用,尤其是在商业用户中,他们可能不熟悉API或编码界面。为了解决这些限制,需要解决方案和进展。
了解使用生成式AI的限制和挑战
生成式AI,特别是LLMs,面临的挑战需要改进模型和方法论,以克服现有限制。针对短期背景问题、更高的错误率、计算开销和缺乏直观用户界面的困扰,需要创新解决方案来优化LLM在数据分析中的性能。
生成式AI在数据分析中未来的发展和进展
生成式AI在数据分析中的未来充满了希望的发展。LLM能力的增强,如GPT-4和其他模型,旨在解决当前的限制。将LLM的重点放在SQL的微调和整合多模型能力,包括文本、语音和图像输入,将彻底改变数据分析工作流程。
此外,引入以UI/UX为驱动的最终用户应用将民主化生成式AI在数据分析中的使用,使更广泛的受众能够利用其强大的功能。
解决当前缺陷:展望改进方法
解决生成式AI的缺陷需要创新的方法。在TalktoData中,我们正在研究一种旨在简化数据分析的解决方案。该平台提供了一个专为数据分析工作流程设计的直观用户界面,满足处理各种数据源(包括SQL数据库和各种文件格式)的复杂性。
为每个查询创建专用的Jupyter Sandbox实例的创新功能使用户能够与平台交互并获得洞察,生成代码并在专用环境内执行。这消除了传统数据分析工作流程的复杂性,简化了过程并实现了无缝互动。
通过TalktoData的解决方案创新数据分析工作流程
TalktoData的解决方案有望彻底改变数据分析任务的执行方式。通过将生成式AI的强大功能与直观和用户友好的界面相结合,该平台旨在弥补数据分析的复杂性和以用户为中心的方法之间的差距。通过简化交互、生成代码和执行分析过程,该解决方案旨在赋予各行各业的数据专业人员更强大的能力。
结论
生成式AI,特别是GPT-3.5等LLMs,正在改变数据分析。它们不仅能够创建新数据,还能简化复杂的分析任务。尽管这些模型具有革命性的潜力,但它们也存在重要的限制。这些限制促使我们需要改进模型并提供更用户友好的界面。
生成式AI在数据分析中的未来在于改进像GPT-4这样的模型,实现多模态能力,并提供更强大的用户体验。像TalktoData这样的倡议表明,数据分析正朝着更具可访问性的方向发展。它强调了简化和扩大数据分析以用户为中心的追求。随着技术的不断发展,应对这些挑战将导致生成式AI在数据分析中更具包容性、直观性和强大的应用。
主要要点
- 生成式AI通过创建内容而不是预定义的分类或预测与传统模型不同,从而革新了数据分析。
- 像GPT-3.5这样的模型在生成代码、分析数据和创建可视化方面表现出色,提升了数据分析过程。
- 短期背景和界面复杂性等限制推动了未来改进模型、改进用户界面和实现多模态能力的需求。
常见问题
关于作者
Vinod Varma是一位经验丰富的数据专业人员,拥有数据科学和分析的丰富背景。作为Sager AI的联合创始人,他自2022年2月以来一直在塑造公司的愿景并推动其增长。Sager AI专注于生成式AI和数据的交叉领域,提供利用尖端技术的创新解决方案。Vinod的丰富经验包括在德国科隆的HRS Group担任数据科学家,他为数据驱动的策略做出了贡献。
DataHour页面: https://community.analyticsvidhya.com/c/datahour/unleashing-generative-ai-in-data-analytics