机器学习模型输出的不是最终答案,而是一张需要被业务理解和使用的预测结果表。在这套无代码工作流中,Amazon SageMaker Canvas 负责生成欺诈检测预测,Amazon QuickSight 则把这些预测转换成互动仪表板、自然语言问答和面向管理层的摘要。
关键变化在于:模型结果不再停留在数据科学工具里,而是进入销售、风控、财务和管理层都能访问的分析环境。这样,团队可以围绕风险金额、欺诈概率、地区分布和时间趋势做出更快的判断。
从预测文件到分析数据集
SageMaker Canvas 生成预测后,通常会得到包含原始特征、预测类别和概率分数的数据。导入 QuickSight 前,建议先确认数据具备以下字段:
- 交易或事件的唯一标识
- 预测标签,例如
fraud或legitimate - 欺诈概率或风险分数
- 交易金额
- 交易时间
- 地区、渠道、客户类型等可切分维度
字段命名越稳定,后续计算字段和筛选器越容易维护。尤其要保留模型的概率分数,而不只是最终标签,因为业务通常需要区分“低概率可疑”和“高概率可疑”。
下面的 Python 示例生成一份可用于改造的预测结果文件。实际使用时,可以把示例数据替换成 SageMaker Canvas 导出的 CSV,或者改为读取团队已有的预测文件。
from pathlib import Path
import csv
rows = [
{"transaction_id": "T1001", "transaction_date": "2025-01-03", "region": "East", "channel": "web", "amount": 129.90, "prediction": "legitimate", "fraud_probability": 0.03},
{"transaction_id": "T1002", "transaction_date": "2025-01-03", "region": "West", "channel": "mobile", "amount": 980.00, "prediction": "fraud", "fraud_probability": 0.91},
{"transaction_id": "T1003", "transaction_date": "2025-01-04", "region": "East", "channel": "web", "amount": 430.50, "prediction": "fraud", "fraud_probability": 0.76},
]
output = Path("fraud_predictions.csv")
with output.open("w", newline="", encoding="utf-8") as file:
writer = csv.DictWriter(file, fieldnames=rows[0].keys())
writer.writeheader()
writer.writerows(rows)
print(f"Created {output} with {len(rows)} prediction records")
运行命令:
python3 create_predictions.py
生产环境中,CSV 可以放在 Amazon S3,再由 QuickSight 创建文件数据源;也可以先写入 Snowflake,再通过 QuickSight 连接 Snowflake 数据库。若数据量持续增长,Snowflake 更适合作为统一的数据层,因为它可以把交易事实、模型预测和业务维度关联起来。
在 QuickSight 中设计有用的仪表板
导入数据后,可以在 QuickSight 中创建分析并选择适合业务用户的视觉元素。一个实用的欺诈监控仪表板可以分成三层:
1. 管理层指标
顶部放置少量但稳定的 KPI:
- 交易总数
- 预测欺诈数量
- 预测欺诈率
- 高风险交易金额
- 平均欺诈概率
KPI 不应只是装饰。每个指标都应能通过点击或筛选器追溯到具体交易,避免管理层看到异常后仍然需要人工导出数据调查。
2. 趋势和分布
中间区域可以使用时间序列图展示每日欺诈率,用堆叠柱状图比较不同渠道的风险数量,再用地图或条形图查看地区差异。常用的筛选器包括日期、地区、渠道和预测标签。
如果使用 Snowflake,可以先建立一个面向 QuickSight 的视图,统一业务口径:
create or replace view analytics.fraud_prediction_dashboard as
select
transaction_id,
cast(transaction_timestamp as date) as transaction_date,
region,
channel,
amount,
prediction,
fraud_probability,
case
when fraud_probability >= 0.80 then 'high'
when fraud_probability >= 0.50 then 'medium'
else 'low'
end as risk_level
from analytics.fraud_predictions
where transaction_timestamp >= dateadd(day, -90, current_timestamp());
这个视图示例假设预测表名为 analytics.fraud_predictions,字段名与查询一致。接入现有环境前,应根据实际表结构、时区和数据保留策略调整查询。把风险等级计算放在数据层,能够减少不同仪表板之间出现不一致规则的可能。
3. 调查明细
底部保留可排序的交易表,至少显示交易编号、时间、金额、地区、渠道、预测标签、概率和风险等级。调查人员需要快速定位高金额、高概率的记录,因此表格通常比一张复杂图表更有价值。
用生成式 BI 让问题变成查询
当 QuickSight 的生成式 BI 能力可用并且已经配置好相应的数据集后,用户可以用自然语言提问,例如:
- “过去 30 天哪个渠道的欺诈率最高?”
- “列出欺诈概率超过 80% 且金额大于 500 美元的交易。”
- “按地区比较高风险交易金额,并显示环比变化。”
- “为什么本周的欺诈率高于上周?”
自然语言问答适合探索和快速沟通,但不能替代指标定义和权限设计。上线前应检查以下内容:
- 字段名称和业务术语是否容易被正确理解
- 时间字段是否使用统一时区
- 金额是否明确币种
- 用户是否只能看到自己有权限访问的数据
- “欺诈率”是按交易数量计算,还是按金额计算
对于关键管理报表,建议把经过验证的计算字段和视觉元素固定下来,再把生成式问答用于补充探索。这样既保留灵活性,也不会让同一个问题因为口径不同得到看似合理但无法比较的答案。
发布 AI 生成的管理层摘要
面向高管的摘要不需要列出所有交易,而应聚焦变化、影响和行动方向。可以让 QuickSight 根据分析中的关键趋势生成初稿,然后由业务负责人复核后发布。
一份合格的摘要应回答三个问题:
- 哪些指标发生了显著变化?
- 变化可能带来多大的业务影响?
- 团队下一步需要调查或采取什么措施?
例如,摘要可以围绕“移动端高风险交易数量上升、West 地区风险金额集中、需要检查近期设备或支付规则变化”组织内容。但这类文本应被视为经过数据支持的沟通草稿,而不是自动执行决策。模型误报、数据延迟、样本变化和指标口径变化都可能影响结论。
一套可落地的上线检查表
- 确认 Canvas 导出的预测标签和概率字段已正确导入
- 检查金额、日期和分类字段的数据类型
- 为高风险交易设置清晰的筛选条件
- 用独立 SQL 或抽样结果核对 QuickSight 的 KPI
- 为仪表板配置数据访问权限
- 明确数据刷新频率和延迟范围
- 验证生成式 BI 对日期、金额和风险等级的理解
- 发布摘要前由风控或业务负责人审核
- 记录模型版本,便于解释历史预测结果
把 SageMaker Canvas 和 QuickSight 连接起来,价值不只是生成一张更漂亮的图表。真正重要的是建立一条从预测、验证到业务行动的路径:Canvas 产生可用的模型结果,Snowflake(如采用)提供稳定的数据语义,QuickSight 负责让不同角色能够查看、提问和共享洞察。对团队而言,最稳妥的采用方式是先从一个定义清晰的欺诈监控仪表板开始,再逐步扩展到自然语言分析和自动化管理层摘要。