数据可视化是将数据以图表、图形等视觉形式呈现的过程,它可以帮助我们发现数据中的模式、趋势和相关性,并提供洞察和理解。通过数据可视化,我们可以更好地理解数据的含义,传达和解释结果,并支持数据驱动的决策和沟通。
友情链接:ACEJoy
示例:可视化鸢尾花数据集
任务: 使用 DataInterpreter
对 sklearn 的鸢尾花数据集进行简单的分析和可视化。
代码:
python examples/di/data_visualization.py
examples/di/data_visualization.py
文件中的代码如下:
import asyncio
from metagpt.logs import logger
from metagpt.roles.di.data_interpreter import DataInterpreter
from metagpt.utils.recovery_util import save_history
async def main(requirement: str = ""):
di = DataInterpreter()
rsp = await di.run(requirement)
logger.info(rsp)
save_history(role=di)
if __name__ == "__main__":
requirement = "对 sklearn 的鸢尾花数据集进行数据分析,并包含一个图表"
asyncio.run(main(requirement))
执行上述代码后,生成的计划和代码将分别保存在 data/output/current_time/plan.json
和 data/output/current_time/code.ipynb
文件中。
执行结果
DataInterpreter
提出了以下解决方案任务:
[
{
"task_id": "1",
"dependent_task_ids": [],
"instruction": "从 sklearn 加载鸢尾花数据集。"
},
{
"task_id": "2",
"dependent_task_ids": ["1"],
"instruction": "对鸢尾花数据集进行探索性数据分析。"
},
{
"task_id": "3",
"dependent_task_ids": ["2"],
"instruction": "创建图表来可视化鸢尾花数据集的特征。"
}
]
DataInterpreter
能够将问题分解成逻辑任务,并按照加载数据、分析数据和绘制图表步骤进行执行。
DataInterpreter
生成的代码如下:
# ----------------------------------task1------------------------------------
from sklearn.datasets import load_iris
iris_data = load_iris()
iris_data.keys()
!pip install scikit-learn
from sklearn.datasets import load_iris
iris_data = load_iris()
iris_data.keys()
# ----------------------------------task2------------------------------------
import pandas as pd
# 从鸢尾花数据集创建 DataFrame
iris_df = pd.DataFrame(iris_data['data'], columns=iris_data['feature_names'])
iris_df['species'] = pd.Categorical.from_codes(iris_data['target'], iris_data['target_names'])
# 汇总统计
summary_statistics = iris_df.describe()
# 检查缺失值
missing_values = iris_df.isnull().sum()
(summary_statistics, missing_values)
# ----------------------------------task3------------------------------------
import matplotlib.pyplot as plt
import seaborn as sns
# 使用 seaborn 的 pairplot 可视化数据集特征
sns.set(style='whitegrid', context='notebook')
iris_pairplot = sns.pairplot(iris_df, hue='species', height=2.5)
plt.show()
在执行任务 1 时,由于环境中缺少 scikit-learn,第一次执行时发生了错误。但是,DataInterpreter
能够分析并解决这个问题,通过安装 scikit-learn 来解决。在任务 3 中,DataInterpreter
使用 seaborn 的 pairplot
函数创建了一个散点图矩阵,它可视化了数据集不同特征之间的关系,并使用颜色区分了不同物种的数据点。最后,使用 plt.show()
显示图表。
以下是 DataInterpreter
运行代码后绘制的图表。很明显,代码成功执行并生成了一个漂亮的可视化表格,它可以帮助我们更有效地分析数据集的特征。
总结
这个例子展示了 DataInterpreter
如何使用数据可视化来帮助我们分析和理解数据。它能够自动生成代码,并根据我们的需求选择合适的可视化方法。
更多学习资源
- MetaGPT 文档:了解更多关于 MetaGPT 的信息。
- MetaGPT Github:查看 MetaGPT 的源代码和示例。
- MetaGPT 论文:深入了解 MetaGPT 的技术细节。