用途:帮助用户在 CARTO Workflow 中构建复合评分、指数或多变量排名。使用前需先加载 carto-create-workflow 以了解开发流程,该技能同时覆盖 MCP 服务器工作流工具(create_workflow、validate_workflow、run_workflow)与 carto workflows CLI 两种接入路径。
方法选择:先判断评分方式。若有目标/结果变量(如营收、销售额、犯罪率),使用有监督方法 native.spatialcompositesupervised。若无目标但有变量重要性的专家知识,可选用逐变量 native.normalize 加 native.selectexpression 直接写加权和 SQL(透明、可审计、需自行归一化),或使用 native.spatialcompositeunsupervised 并设 scoring_method 为 CUSTOM_WEIGHTS(一节点完成但公式隐藏在组件内)。若无目标也无权重,用无监督方法 ENTROPY 或 FIRST_PC。
有监督流程:加载已按 H3 或 Quadbin 预索引的空间特征数据集与目标数据集,按空间索引列连接,特征选择时仅保留实际特征数值列(去掉空间索引列与几何),再运行 native.spatialcompositesupervised,示例参数为 model_type: LINEAR_REG、bucketize: EQUAL_INTERVALS_ZERO_CENTERED、n_buckets: 5、outlier_removal: true、r_squared_threshold: 0.4,输出为基于回归残差的评分。
无监督流程:加载空间特征数据集,仅选相关特征列,用 native.casewhen 将类别/序数变量编码为数值,必要时对“越高越差”的变量乘 -1 或使用 reverse 标志,再运行 native.spatialcompositeunsupervised,可选 scoring_method 为 CUSTOM_WEIGHTS/ENTROPY/FIRST_PC;CUSTOM_WEIGHTS 需要 weights,其实际线格式为 JSON 编码的三元组字符串 [[<column>, <weight>, <reverse>], ...],非对象映射;常用配置 scaling: RANKING、aggregation: LINEAR、output: RETURN_RANGE 且 range 为 [0,1]。
注意事项:所有输入变量须为数值且方向一致;有监督的 R 方阈值默认 0.4 较宽松,拟合差时残差评分多为噪声;自定义权重会在内部归一化为和为 1,绝对值不重要只看比例;有监督评分为残差而非原始值;Snowflake 上未加引号标识符为大写,引用列名时需注意;weights 类型标签被误报为 ColumnNumber,应以上述三元组字符串为准。资料提供两个参考模板:composite-score-supervised.json 与 composite-score-unsupervised.json,均使用米兰 Quadbin 18 空间特征数据。该技能的收费、平台限制等未提供。