单位 6 / 11

用人工智能生成图形:从代码到视觉,并进行验证

收益:

  • 通过将生成图形(而不是图形的图片)的代码打印到人工智能并自行运行,能够获得确定性和可重复的结果
  • 能够根据具有价值、完整性、规模和总和校验和的数据来验证图表输出
  • 能够施加诚实规则(从轴 0、直接标签、源注释)并依靠代码而不是口头猜测

您选择了正确的图表类型;现在是时候生产它了。这里人工智能最可靠的用途不是要求它“绘制”图表,而是打印生成图表的代码并自己运行该代码。从哪里?因为大语言模型就是文本生成器;可以口头“猜测”一个数字,但代码按原样处理数据并产生确定性结果(始终为相同的输入提供相同的输出)。在本单元中,我们将学习如何将图形代码(主要是 Python)打印到 AI 并验证输出。

为什么要编码,为什么要运行?

询问语言模型“销售总额是多少?”如果你问的话,它实际上并不收集数据;而是收集数据。生成一个可能的数字。但是,如果将聚合代码打印到其中并运行它,则结果来自真实数据。图表也是如此:模型生成的代码在您的计算机上的数据上运行。该代码也是可重复的:当数据更新时,您可以再次运行代码并刷新图表。

常用工具:matplotlib和seaborn(静态绘图)、plotly(交互式绘图)用Python语言;还有电子表格程序和 BI(商业智能)工具。在本单元中,我们将使用 Python/matplotlib 给出示例,因为它是最常见的;每辆车的原理都是相同的。

提示:不要说“给我一张图表的图片”,而是说“给我生成图表的代码,我将运行它”。这样,结果来自真实数据,您可以根据需要进行任意调整。

一步一步:从代码到图形

  1. 确定图形类型和消息(上一单元)。
  2. 向模型描述数据结构(列名称、类型;非敏感数据)。
  3. 生成代码,将诚实规则放入提示中(从轴 0、标签、源注释)。
  4. 自己运行代码并查看图表。
  5. 检查:图表中的值与数据中的值是否相同?总数/股是否持有?
  6. 改进:将标题更改为动作标题,删除不必要的内容,添加突出显示颜色。

你的角色:Python数据可视化助手。我有一个 CSV:列“月份”(YYYY-MM)、“频道”(文本)、“收入”(数字)。用 matplotlib 编写 LINE 图形代码:- 每个通道都是一条单独的线,x=月,y=来。- 让 y 轴从 0 开始(不要剪切)。- 直接将标签放在线的末尾,不需要单独的图例。- 在标题中放置操作标题的占位符。- 在右下角添加一个小“来源:[ ... ]”注释。使代码完整且可执行,并编写示例读取行。拟合数字;从 CSV 读取数据。

要修复现有图表:

修复此 matplotlib 代码:(1) 按值从大到小对条进行排序,(2) 仅将最高的条设为橙色,其余条设为灰色,(3) 使 y 轴从 0 开始,(4) 使用千位分隔符格式化小数。返回完整的代码。代码:[...]

对于交互式图表(对于仪表板):

使用 Plotly 使用相同的数据编写交互式折线图代码:鼠标悬停将显示月份和收入,并且可以过滤渠道。让轴从0开始。给出完整的代码。

验证:图表是“正确的”,而不是“漂亮的”?

工作并没有因为图形输出就结束了。三个校验和:

  • 提供价值:手动/表格检查 2-3 个随机点。图表上的最高柱真的是最高的吗?
  • 总计/份额验证:部分-整体图表中的份额是否已完成 100%?
  • 视觉诚实:轴是否从 0 开始,比例是否线性,单位是否相同? (详细内容见下一个单元。)

控制

如何护理

红旗

价值

将 2-3 个点与数据进行比较

图形数据不匹配

诚信

是否缺少任何月份/类别?

间隙被默默跳过

规模

Y 轴从哪里开始

不为0,差异被夸大

总计

股数/总数

它并不能保持100%

注意:模型有时会“补全”数据中缺失的月份或默默地丢弃缺失的行。查看图表上的点数是否与数据中的行数匹配。

三个迷你箱子

案例 1 — 代码节拍预测。分析师首先询问模型“总数是多少?”他问道,得到的答案是“约420万”。然后他打印出加法代码并运行:实际总数是387万。口头预测的错误率为 8%。从那天起,他就从密码中得到了每一个数字。

情况 2 — 无声缺线。一个团队制作了月度图表;一切看起来都很好。但 3 月份的数据是空白的,图表跳过了它,将 2 月份与 4 月份联系起来;它看起来很柔软,因为它很流行。他们注意到了点的数量(应该是 12,而不是 11)并进行了修正;实际趋势出现了跳跃。

案例 3 — 再现性。一位营销人员每个月都会手工绘制图表(大约 40 分钟)。一旦他安装了人工智能编写的代码;在接下来的几个月中,我们花了 2 分钟时间输入新的 CSV 并运行代码。每月节省 38 分钟,并且不再出现手动复印错误。

弱提示/强提示

弱:

绘制此销售数据的图表。

模型可以拟合图片或给出随机代码;数据没有被实际处理,没有诚实设置。

强的:

您的角色:Python/matplotlib 助手。数据:CSV,列“region”(文本)、“buyume_percentage”(数字,可以为负数)。编写水平条形图代码:按值排序,突出显示最高区域,添加 y=0 参考线(显示负数),在条形末端放置百分比标签。提供可执行代码、从 CSV 读取、数字拟合。为标题放置一个操作标题占位符。

第二个包括数据结构、诚实规则和“从代码中读取,不要编造”原则;输出既准确又可编辑。

工具选择:何时使用电子表格,何时使用代码?

您不必为每个图表编写代码。对于小型、一次性、简单的图表,电子表格(Excel、Google 电子表格)通常就足够且快速。代码在以下情况下获胜:数据定期更新(每月刷新同一个图表)、图表复杂或数量众多(例如小型多个图表)、需要完全控制(完整性设置、自定义标签),或者结果的可重复性很重要。你可能还会问哪一种适合人工智能。

状态

合适的车辆

为什么

一次性简单酒吧

电子表格

速度快,无需代码

报告每月更新

代码(Python)

编写一次,再次运行

交互式/过滤仪表板

代码(绘图)/BI 工具

需要互动

很多小图形

代码

手绘很累而且不准确

您的角色:数据可视化顾问。我需要生成以下图表:[食谱]。数据更新[多久]一次,需要[多少]个不同的图表。电子表格或 Python 代码哪个更有意义?证明你的决定合理;您推荐哪个库用于代码?

提示:“我每个月都会这样做一次吗?”如果问题的答案是“是”,那么代码投资几乎总是能收回成本。如果是一次性的,一张电子表格就足够了。

常见错误

  • 请求图表的“图片”:当您请求图像而不是代码时,数据实际上并未被处理。
  • 信任代码而不执行它:将输出放在幻灯片上而不进行视觉验证。
  • 不提供值验证:不将图表上的点与数据进行比较。
  • 没有看到丢失/跳过的行:没有检查点数。
  • 将其视为一次性工作:不保留代码,每个月从头开始。

总之

向人工智能询问生成图表的代码,而不是图表的图片,然后自己运行该代码;因为代码按原样处理数据并给出确定性和可重复的结果。描述数据结构,将完整性规则(从轴 0、标签、源)放入请求中,使用 value-integrity-scale-sum 哈希值验证输出。代码每次都胜过口头预测;但最终的控制权是你的。

应用任务

对于你的数据文件:(1)向人工智能描述数据结构并打印图形生成代码(带有诚实规则)。 (2) 运行代码并手动将图表中的2-3个值与数据进行比较。 (3) 在同一代码中,按值对条形进行排序并添加单一突出显示颜色。 (4) 保存代码以供下个月再次使用。

清单

  • [ ] 我想要并运行生成图表的代码,而不是生成图表的图片。
  • [ ] 代码从真实文件中读取数据,不补数字。
  • [ ]我将图表中的2-3个值与数据进行了比较。
  • [ ] 点/类别的数量与数据中的行兼容。
  • [ ] Y轴和刻度是诚实的;没有轴中断。
  • [ ] 我保存了代码以便再次使用。