Type something to search...
使用人工智能代理进行数据探索:使用 SmolAgents 探索泰坦尼克号数据集

使用人工智能代理进行数据探索:使用 SmolAgents 探索泰坦尼克号数据集

十年前,当我开始我的机器学习之旅时,和许多人一样,我是从泰坦尼克号数据集开始的。我清晰地记得进行第一次探索性数据分析(EDA)的兴奋,发现模式和关联。快进到今天,数据分析的格局已经以我无法想象的方式演变。在这个智能AI的时代,我们现在可以将大部分的EDA委托给智能代理。问题不再是我们能否自动化EDA?而是我们能将这些能力推向多远?

简短的回答是:相当远。借助由尖端AI模型驱动的多代理框架,仅通过提问就可以执行详细、动态的EDA。想象一下,与您的数据集进行对话式互动——请求洞察、澄清和可视化,就像与数据科学同事自然交谈一样。让我们探索这一变革性能力。

设置舞台

什么是 SmolAgents?: SmolAgents 是 Hugging Face 提供的一个多功能库,允许开发者仅用几行代码部署代理。尽管它简单,但在简化复杂工作流程方面非常有效。

以下是一个简单的工作流程,演示 SmolAgents 在探索性数据分析(EDA)中的强大功能:

## Step 1: Import necessary libraries
from dotenv import load_dotenv 
from smolagents import CodeAgent, LiteLLMModel, tool, GradioUI 
import pandas as pd

## Step 2: Load environment variables, including API keys, from a .env file
load_dotenv()  

## Step 3: Define the Language Model (LLM). Here, we use Google's Gemini model
model = LiteLLMModel(model_id="gemini/gemini-1.5-flash",  
                     api_key=os.environ["GOOGLE_API_KEY"])

这段代码首先导入了必要的库,包括用于 AI 代理功能的 smolagents。环境变量(如 API 密钥)通过 load_dotenv.env 文件中加载。使用的语言模型是 Google 的 Gemini 1.5 Flash,通过 LiteLLMModel 类实例化。

## Step 4: Define tools

## Tool 1: A custom tool for loading the Titanic dataset
@tool
def get_titanic_data() -> dict:
    """Returns titanic dataset in a dictionary format.
    """    
    df = pd.read_csv('data/Titanic-Dataset.csv')    
    return df.to_dict()

## Tool 2: A custom tool for saving a dataset as a CSV file
@tool
def save_data(dataset:dict, file_name:str) -> None:
    """Takes the dataset in a dictionary format and saves it as a CSV file.

       Args:
           dataset: dataset in a dictionary format
           file_name: name of the file of the saved dataset
    """    
    df = pd.DataFrame(dataset)
    df.to_csv(f'data/{file_name}.csv', index=False)  


## Step 5: Define the Agent
## Using SmolAgents, we configure the agent with tools, the chosen LLM, and authorized library imports
agent = CodeAgent(tools=[get_titanic_data],    
                  model=model, 
                  additional_authorized_imports=['numpy', 'pandas', 'matplotlib.pyplot'])

定义了一个自定义工具 get_titanic_data,用于从 CSV 文件加载 Titanic 数据集并将其作为字典返回以供进一步探索。然后将此工具集成到 CodeAgent 中,CodeAgent 是 SmolAgents 框架的一部分,它将工具、LLM 和授权的 Python 库结合在一起,以高效地执行探索性数据分析(EDA)。

## Step 6: Launch a user-friendly chat interface with a single line of code
GradioUI(agent).launch()

最后,GradioUI 类提供了一个用户友好的界面,用于与代理进行交互。只需一行代码,就可以启动基于 Gradio 的聊天界面。

提问

以下是我向代理提出的一些问题。

我问的第一组问题集中在理解泰坦尼克号数据集的结构。这些问题包括根据列名解释列内容、识别缺失值以及检测异常值。目的是处理缺失值、修复异常值并使用 save_data 工具保存清理后的数据。

接下来,我询问了特定特征可能如何影响生存率。例如,我探讨了票务等级或年龄是否对生存有影响,以及这些因素可能为何起作用。

最后,我将注意力转向预测建模。我询问了哪些新特征可以增强预测,并请代理构建一个预测模型以报告 F1 分数。

你的回合

如果你对 SmolAgents 的潜力感到好奇,为什么不试试自己呢?加载你最喜欢的数据集,开始提问,看看你能发现什么见解。智能代理的时代已经到来——这正在改变游戏规则。

如果你喜欢这篇文章,请关注我们!

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多