想象一座社区美食广场:几十个摊位、几百位厨师同时开火。过去每家都要从零买菜、切菜、熬汤底,同一锅高汤被重复熬了二十遍,锅都烧穿三口,口味还各不相同——有的偏咸,有的偏淡。后来有人提议:把最好的汤底存进公共冷柜,谁家用汤直接取,用得多的人家还按次数给熬汤的师傅分红。美食广场从此变了样:新菜上线快了三倍,味道也终于统一了。 在机器学习的世界里,这道“汤底”就是特征——喂给模型的年龄、点击次数、消费金额等结构化字段。特征存储就是那座公共冷柜,特征共享与复用就是“一汤十用”,而特征市场机制则是让好特征被更多人使用、贡献者获得激励的“爆款榜”。本文就用这座共享厨房的故事,带你理解特征工程中最落地的协作模式。

岗位关联

掌握特征共享与市场机制,是数据工程师构建企业级特征平台的核心能力,能直接降低重复建设成本、保障线上线下一一致性,推动团队高效协作。

目录
  1. 可视化演示
  2. 共享复用价值
  3. 特征存储架构
  4. 发布共享机制
  5. 复用组合模式
  6. 市场激励闭环
  7. 工程落地实践
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示特征共享流程、单特征多模型复用网络及特征市场供需均衡机制,理解特征平台核心价值。

本节配有交互动效(进入视口后自动加载,约 3KB)。

特征共享流程 ETL/流式/批处理生产特征,经平台统一管理 ML/推荐/分析模型按需消费特征 Producers → Feature Platform → Consumers 特征平台实现一次构建,多处复用

共享复用价值

美食广场开业的第一周,后厨一片混乱:十家摊位各自熬制番茄汤底,葱花切法不同、咸淡不一,客人点同一道汤面却喝出五种味道。直到有人把最好的汤底方子共享出来,大家才发现——原来九成的功夫都是白费的,重复劳动不仅烧钱,还制造混乱。

机器学习团队里每天都在发生同样的事。推荐组要“用户近7日活跃天数”,广告组要“用户近7日活跃天数”,风控组也要,于是三个小组各写一套 SQL,口径还互相打架:一个算自然周,一个算滚动 7 天。特征共享复用的价值就在此刻显现:把特征做成公共资产,一次建设、处处复用。它带来的好处是立体的——省下重复建设的成本,保证同一特征全公司口径一致,让新模型接特征从“按周开发”变成“按小时接入”。

量化这份价值可以用一个简单的成本公式:

回到那座美食广场:一锅高汤被十个摊位共用,省下的是九次熬制的时间与食材,只需付一点“冷藏保管费”。这就是特征共享最朴素的商业逻辑——复用是省出来的利润。

V节省=(N−1)×C建设−C共享V_{\text{节省}} = (N-1) \times C_{\text{建设}} - C_{\text{共享}}
公式解读:$N$ 个团队共用同一个特征,只有 1 个团队负责建设,其余 $N-1$ 个团队都省下了单次建设成本 $C_{\text{建设}}$,再扣掉发布共享的治理成本 $C_{\text{共享}}$,剩下的就是净节省。
  1. $N$(复用方数量)统计有多少个团队或模型会用到同一个特征,这是收益的来源,“用的人越多越划算”。
    N=使用同一特征的团队总数N = \text{使用同一特征的团队总数}
  2. $(N-1)$(避免重复的次数)第一个团队负责建设,其余 $N-1$ 个团队不必再各建一遍,像十个摊位只有一个摊主熬汤。
    N−1=除建设方外直接受益的团队数N - 1 = \text{除建设方外直接受益的团队数}
  3. $C_{\text{建设}}$(单次建设成本)从零开发一个特征需要的人力、算力、排期等全部开销。
    C建设=单次从零开发特征的成本C_{\text{建设}} = \text{单次从零开发特征的成本}
  4. $C_{\text{共享}}$(共享成本)发布、编目、权限治理、质量维护等平台侧投入,通常远小于重复建设成本。
    C共享=发布与维护公共特征的成本C_{\text{共享}} = \text{发布与维护公共特征的成本}

特征存储架构

共享厨房要运转,光有菜谱还不够,得有一座合格的中央冷柜:既要能存大宗食材备着慢慢用(离线),也要能随时打开取一勺立刻出锅(在线),而且两处的汤必须同一个味道。

在特征平台里,这座冷柜就是特征存储(Feature Store)。它通常分两层:离线存储对应数据仓库或分布式文件系统,容量大、批量跑,供模型训练时一次性读取海量历史特征;在线存储对应 Redis 这类高吞吐低延迟的数据库,供线上推理时毫秒级取出实时特征。两层共用同一套特征定义与计算逻辑,保证“训练时吃的”和“上线时吃的”是同一锅汤——这正是防止训练与推理偏差(training-serving skew)的关键。

除了双存储,特征存储还要记录血缘(lineage)——这个特征从哪张表来、经过什么加工、被谁引用过;同时做版本管理——特征口径变更时,旧版本照常可回溯,就像菜谱改版后老配方依然存档。衡量两层数据是否一致,可用一致率:

冷柜的意义不在于“能装”,而在于“取出的每一勺都和锅里一样”。特征存储架构的终极目标,就是让离线与在线永远喝到同一锅汤。

R一致=1−N偏差N总R_{\text{一致}} = 1 - \frac{N_{\text{偏差}}}{N_{\text{总}}}
公式解读:在全部 $N_{\text{总}}$ 次特征抽样比对中,出现线上线下取值不一致的有 $N_{\text{偏差}}$ 次,一致率越接近 1,说明“堂食”与“外卖”的味道越统一。
  1. $N_{\text{总}}$(抽样比对总数)定期从离线存储和在线存储各取同一批特征值进行比对的样本数。
    N总=参与比对的特征取值样本总数N_{\text{总}} = \text{参与比对的特征取值样本总数}
  2. $N_{\text{偏差}}$(不一致样本数)同一特征在离线与在线两端取值不一致的样本数,偏差越大说明口径越漂移。
    N偏差=两端口径不一致的样本数N_{\text{偏差}} = \text{两端口径不一致的样本数}
  3. $1 - \dfrac{N_{\text{偏差}}}{N_{\text{总}}}$(一致率)用 1 减去偏差占比,得到两者的一致性水平,是特征存储健康度的核心指标。
    R一致=1−N偏差N总R_{\text{一致}} = 1 - \frac{N_{\text{偏差}}}{N_{\text{总}}}

发布共享机制

共享厨房立了一条规矩:任何汤底想进公共冷柜,必须先在门口登记——叫什么名、用什么料、谁熬的、保质期多久。登记入册之后,别人才能搜得到、取得到、出了问题找得到人。

这条规矩对应特征平台的发布共享机制。一个特征要被共享,先要发布编目:把特征名、业务含义、计算口径、负责人(owner)、更新频率等元数据登记进中央目录;接着是检索发现:其他团队像翻菜谱一样按关键词搜索、浏览特征卡片,判断是否可用;然后是权限治理:谁可以读、谁可以写、谁能改口径,都由平台管控,避免“有人偷偷改了汤的配方”;最后是元数据管理:把特征的含义沉淀成团队共识,人员流动后知识仍在。

衡量一个平台的共享水平,最直观的指标是特征覆盖率:

登记入册的菜谱越来越多,厨师们开新店时先翻目录而不是先架锅。发布共享机制的本质,是把“人找特征”变成“特征找人”。

η=N可复用N需求\eta = \frac{N_{\text{可复用}}}{N_{\text{需求}}}
公式解读:团队需要的特征总数中,有多少比例已经能从共享目录里直接拿到。覆盖率越高,说明“菜谱目录”越全,团队越不需要从零开火。
  1. $N_{\text{需求}}$(需求特征数)新项目或新模型在规划阶段列出的全部特征需求数量。
    N需求=项目需求的全部特征数量N_{\text{需求}} = \text{项目需求的全部特征数量}
  2. $N_{\text{可复用}}$(可复用特征数)其中能在共享目录里直接找到、无需重新开发的部分。
    N可复用=共享目录中已满足需求的特征数量N_{\text{可复用}} = \text{共享目录中已满足需求的特征数量}
  3. $\eta$(覆盖率)两者之比,是共享机制是否健全的“晴雨表”,可用来指导平台建设优先级。
    η=N可复用N需求\eta = \frac{N_{\text{可复用}}}{N_{\text{需求}}}

复用组合模式

共享厨房里最会做菜的师傅从不止于“照方抓药”。番茄汤底直接加热水是清汤面,加上牛肉片就是红烧牛肉面,再加一把香菜又是一道新菜——好菜谱的价值,在于它像乐高积木一样可组合、可改造。

特征复用同样是分层次的。最基础的是原样引用:别的团队已经建好的“用户活跃度”,直接取用,不做任何加工;进阶的是交叉组合:把“点击次数”与“转化率”相乘,构造出“期望收益”这类新特征,一加一大于二;再进一步是派生加工:对上游特征做归一化、分箱、统计聚合,得到更适合当前模型的形态;最后是跨队继承:下游团队不仅复用特征,还继承上游的口径约定与数据血缘,形成一条健康的特征生态链。

交叉组合是复用中最常用也最出效果的手法,它的数学形态极其简单:

旧菜谱换新搭配,就成了一道新菜。复用组合模式告诉我们:特征的最大价值不在“拥有”,而在“连接”——把现成的积木拼出新形状,比每次从零烧制快得多。

xcross=xi×xjx_{\text{cross}} = x_i \times x_j
公式解读:两个含义互补的特征 $x_i$ 与 $x_j$ 相乘,得到一个能捕捉“两者同时发生”信号的新特征,比如“金额 × 频次”比单独的金额或频次更有判别力。
  1. $x_i$(基础特征一)第一个被复用的特征,比如用户近 7 日点击次数。
    xi=复用的基础特征一x_i = \text{复用的基础特征一}
  2. $x_j$(基础特征二)第二个被复用的特征,比如用户近 7 日平均单笔金额。
    xj=复用的基础特征二x_j = \text{复用的基础特征二}
  3. $x_i \times x_j$(交叉新特征)两者逐元素相乘,构造出能反映“高频且高额”用户的新信号。
    xcross=xi×xjx_{\text{cross}} = x_i \times x_j

市场激励闭环

共享厨房开张三个月后出现新问题:最受欢迎的汤底是老王熬的,但老王发现“反正大家都会用,我干嘛还要改良配方?”于是厨房管理委员会挂出一块爆款榜:每个汤底被取用多少次、评分多少分,全部公开;每月按取用次数给贡献者发放奖金。从此老王不但继续熬汤,还主动研究新配方。

特征平台同样需要这样的市场机制。第一步是使用计量:每次特征被读取都留痕,形成“谁在用、用了几次”的账单;第二步是质量评分:从准确性、新鲜度、覆盖率等多个维度给特征打分,低分特征自动降权;第三步是激励反馈:按使用量给特征贡献者计算积分或内部结算,同时使用者可以打差评、提需求,反馈回流到贡献者;最后是上下架规则:长期无人使用或质量不达标的特征下架清理,保持“货架”新鲜。

质量评分是市场机制运转的标尺,它通常是一个加权求和:

爆款榜让“熬好汤”成为一件有利可图的事。市场激励闭环的本质,是用机制让贡献者与使用者双赢——好特征被更多人用,用的人越多,贡献者越有动力改进,生态越滚越大。

Q=wA×A+wF×F+wC×CQ = w_{A} \times A + w_{F} \times F + w_{C} \times C
公式解读:特征的总体质量 $Q$ 由准确率 $A$、新鲜度 $F$、覆盖率 $C$ 三个维度加权合成,权重 $w_{A}$、$w_{F}$、$w_{C}$ 由平台根据业务侧重调节。
  1. $A$(准确率)特征取值与真实情况的吻合程度,数据质量差则此项低分。
    A=特征准确率指标A = \text{特征准确率指标}
  2. $F$(新鲜度)特征数据更新的及时程度,越高说明越“鲜活”,适合实时场景。
    F=特征新鲜度指标F = \text{特征新鲜度指标}
  3. $C$(覆盖率)特征在目标群体中的有效覆盖比例,缺失过多会拖累模型。
    C=特征覆盖率指标C = \text{特征覆盖率指标}
  4. $Q$(加权总评分)三项得分按权重线性加权,作为上架、推荐、激励的统一依据。
    Q=wA×A+wF×F+wC×CQ = w_{A} \times A + w_{F} \times F + w_{C} \times C

工程落地实践

美食广场的共享厨房能长期运转,还少不了一位运营管理员:统一采购食材、定期检查卫生、给过期食材贴下架标签、统计每天出餐量。没有管理员的厨房,冷柜再大也会变成放烂菜的仓库。

特征平台落地到工程实践,同样要有章法。工具层面,业界有开源的 Feast、商用平台 Tecton 以及各大云厂商的 Feature Store 服务,提供了开箱即用的发布、检索、双存储能力;规范层面,要建立命名规范(如 user_7d_active_days 这样的统一格式),让特征一看就懂;运维层面,要有 SLA 监控——特征服务的可用率、延迟、产出时间都要有明确承诺和告警;治理层面,要做好生命周期管理——从需求评估、发布、上线、监控到下线,每个阶段都有明确规则。

SLA 监控中最关键的指标是特征服务的可用率:

有了管理员,厨房才不会乱;有了治理与监控,特征平台才不会沦为“数据垃圾场”。工程落地实践的一切努力,都是为了让“共享”这件事稳定、可信、可持续。

---

A可用=T在线T在线+T宕机A_{\text{可用}} = \frac{T_{\text{在线}}}{T_{\text{在线}} + T_{\text{宕机}}}
公式解读:在一段统计周期内,特征服务正常运行的时间 $T_{\text{在线}}$ 占全部时间(正常 + 宕机)的比例,99% 以上是常见目标。
  1. $T_{\text{在线}}$(正常运行时长)特征服务在统计周期内可正常提供取用服务的时间总和。
    T在线=统计周期内服务正常时长T_{\text{在线}} = \text{统计周期内服务正常时长}
  2. $T_{\text{宕机}}$(故障停摆时长)因宕机、故障、数据延迟导致服务不可用的时间总和。
    T宕机=统计周期内服务故障时长T_{\text{宕机}} = \text{统计周期内服务故障时长}
  3. $A_{\text{可用}}$(可用率)正常时长占全部时长的比例,是 SLA 承诺的核心数据。
    A可用=T在线T在线+T宕机A_{\text{可用}} = \frac{T_{\text{在线}}}{T_{\text{在线}} + T_{\text{宕机}}}

AI 应用场景

电商推荐与信息流共用用户活跃特征

阶段:特征工程 — 特征共享与复用

解决的问题:首页推荐与直播推荐两个业务线此前各自开发“用户活跃度”特征,一个按自然周统计,一个按滚动 7 天统计,模型效果对不上、数据口径天天扯皮。用特征平台集中发布统一口径的活跃度特征后,离线训练与在线推理读取同一份定义,偏差问题彻底消失。

具体案例:某电商 App 把“近 7 日活跃天数”“近 30 日消费金额”等特征发布到平台共享目录,新业务线接入时间从平均两周缩短到两天,跨团队月度对账会议直接取消。

风控跨产品线复用设备指纹特征

阶段:模型部署 — 特征在线服务与市场计量

解决的问题:信用卡团队与消费贷团队都需要“设备是否越狱”“IP 风险等级”等反欺诈特征,过去各建各的,不仅重复花钱,规则还不一致,黑产换一个产品线就能钻空子。通过特征市场按次计量、统一治理,两边的风控模型拿到的是同一套“高风险信号”。

具体案例:某金融科技公司上线共享特征市场后,设备指纹特征被 5 个产品线复用,反欺诈模型的上线周期缩短 60%,且新模型接入时可直接看到特征的历史质量评分。

Python 演示

python71 行
# -*- coding: utf-8 -*-"""迷你特征共享市场模拟: 演示特征发布、复用与市场激励"""  class Feature:    """一个可被共享复用的特征(菜谱)"""     def __init__(self, name, owner, value_fn):        self.name = name        self.owner = owner        self.value_fn = value_fn        self.gc_count = 0     def compute_value(self, sample):        self.gc_count += 1        return self.value_fn(sample)  class FeatureStore:    """特征存储: 负责发布、复用与收益统计(共享厨房)"""     def __init__(self):        self.catalog = {}        self.usage_map = {}     def publish(self, feature):        self.catalog[feature.name] = feature     def reuse(self, feature_name, team):        f = self.catalog[feature_name]        self.usage_map.setdefault(team, []).append(feature_name)        return f     def usage_report(self):        report = {}        for team, names in self.usage_map.items():            for name in names:                report[name] = report.get(name, 0) + 1        return report     def reward_report(self, unit_price=10):        return {name: cnt * unit_price                for name, cnt in self.usage_report().items()}  def main():    store = FeatureStore()     store.publish(Feature("member_activity", "team_a",                          lambda s: s["click_count"] / (s["days"] + 1)))    store.publish(Feature("spend_7d", "team_b",                          lambda s: sum(s["spend"])                          if len(s["spend"]) >= 7                          else sum(s["spend"]) / max(1, len(s["spend"]))))     sample = {"click_count": 30, "days": 10, "spend": [1, 2, 3, 4, 5, 6, 7]}     for _ in range(4):        f = store.reuse("member_activity", "team_c")        print("team_c 取用:", f.name, "->", f.compute_value(sample))     for _ in range(2):        f = store.reuse("spend_7d", "team_a")        print("team_a 取用:", f.name, "->", f.compute_value(sample))     print("复用次数统计:", store.usage_report())    print("市场激励结算:", store.reward_report(unit_price=10))  if __name__ == "__main__":    main()
目的:用一个几十行的迷你特征存储,模拟“发布特征 → 跨团队复用 → 按量统计 → 市场激励结算”的完整链路,帮助理解共享市机制的核心逻辑。
  1. class Feature:定义“菜谱”对象,包含特征名、归属团队和计算函数。
  2. self.gc_count = 0记录该特征被实际计算的次数,是后续激励的依据之一。
  3. def publish(self, feature):把特征登记进 catalog 目录,相当于菜谱入册。
  4. def reuse(self, feature_name, team):其他团队按名字“取用”特征,并记录到 usage_map。
  5. self.usage_map.setdefault(team, []).append(feature_name)记下“谁用了什么”,为市场计量留痕。
  6. def usage_report(self):汇总每个特征被取用的总次数,输出复用统计。
  7. def reward_report(self, unit_price=10):用“使用次数 × 单价”结算贡献者的市场激励。
  8. if __name__ == "__main__":可执行入口,直接运行即可看到发布、复用、结算全过程。

常见误区

误区共享特征就是把它导出成文件,通过邮件或网盘发给别的团队,对方收到后自己存一份,大家各用各的。

正解真正的共享是“一份特征、处处引用”。就像共享厨房只有一个汤底桶,每个摊位按需取用,而不是各自端一锅回家。中心化存储加引用机制才能保证口径单一、更新同步;复制只会导致版本漂移——原团队修复了 bug,你的副本还是旧的,存储还白白翻倍。

为何常见:文件传输是最直观的协作方式,初学者看不到“中心化发布-订阅”带来的长期收益,只看到“发过去最省事”。

误区离线训练时用一套特征计算逻辑,线上推理时另写一套,只要模型能跑就行,两边“差不多”就够了。

正解这会直接引发训练与推理偏差(training-serving skew):训练时用的是历史快照分布,线上用的是实时分布,两边不一致,模型上线效果立刻缩水。正确做法是用特征存储统一管理两套存储,共用同一份口径定义——像同一锅高汤,堂食和外卖都必须从同一个桶里舀。

为何常见:离线与在线的技术栈差异大,通常由不同 pipeline 负责,短期内看不出问题,直到上线 AB 测试暴跌才回头排查。

误区特征市场做出来就是一套内部计费系统,给每个特征标个价,按月从各团队预算里扣钱。

正解定价只是手段而非目的。特征市场的核心是激励与反馈:按使用量统计让贡献者得到认可,质量评分让低质特征被降权下架,使用者能反馈问题,贡献者据此改进,形成“好特征被更多人用、被用后变得更好”的闭环。如果只收费,反而会抑制共享意愿。

为何常见:“市场”这个词天然让人联想到买卖和金钱,忽略了它在组织内部更重要的治理和激励属性。

误区复用就是把写特征的代码拷到自己的项目里,改改参数跑起来,反正逻辑是一样的。

正解复制代码会切断血缘与更新通道:原团队修复了口径 bug,你的拷贝还是旧逻辑;上游表结构变更,你的任务静默失败。正确姿势是通过特征平台引用现成特征,血缘、版本、SLA 全由平台保障——像从共享菜谱库取菜谱,而不是手抄一份带回家。

为何常见:工程师最熟悉 copy-paste,且短期看不到血缘管理的价值,等出了线上事故才追悔莫及。

面试题

Q1. 特征共享复用带来的最直接价值是什么?

单选题 · easy

  • A.减少重复开发← 正确答案
  • B.增加磁盘容量
  • C.加快网络传输
  • D.降低模型精度

答案:A。像十个摊位不再各自熬汤底一样,特征共享最直接的价值是避免重复建设、节省开发成本。增加容量、加快网络与特征共享无关,而共享的目标是提升模型效果而非降低精度,所以选 A。

Q2. 特征存储(Feature Store)通常分为哪两个部分?

单选题 · easy

  • A.在线存储与离线存储← 正确答案
  • B.主存储与备用存储
  • C.训练数据与测试数据
  • D.结构化与非结构化

答案:A。Feature Store 的经典二分是离线存储(批量训练取数)与在线存储(实时推理取数),两者共用同一口径。主备是容灾概念,训练测试是数据划分,结构化非结构化是数据类型分类,均不符合。

Q3. 防止模型上线后效果衰减(训练与推理偏差)的关键措施是什么?

单选题 · mid

  • A.在线离线特征口径统一← 正确答案
  • B.增加模型的隐藏层数量
  • C.缩减训练数据的数据量
  • D.提升单机 GPU 的计算频率

答案:A。训练与推理偏差的根源是两边特征口径不一致,好比堂食和外卖不是同一桶汤。统一口径后离线在线分布一致,模型才能真正“所见即所得”。增加层数、缩数据、提算力都与偏差无关。

Q4. 特征市场机制最主要的目标是什么?

单选题 · mid

  • A.激励贡献并形成质量反馈← 正确答案
  • B.作为主业来赚取外部现金
  • C.用价格代替算法与模型
  • D.自动删除低价值的数据

答案:A。特征市场是组织内部的治理与激励闭环,核心是让贡献者受认可、让使用者有反馈,好比爆款榜激励厨师改良菜谱。它不是为了对外赚钱,更不替代模型,计费只是手段。

Q5. 下列哪些属于特征复用的典型模式?

多选题 · mid

  • A.直接引用现成的特征← 正确答案
  • B.组合旧特征生成新特征← 正确答案
  • C.派生加工上游的特征← 正确答案
  • D.删除已被使用的特征

答案:ABC。复用分为原样引用、交叉组合、派生加工、跨队继承等层次,都是“在已有特征之上创造价值”。删除已被使用的特征会破坏现有模型,是典型的破坏性操作,不属于复用。

Q6. 特征的“新鲜度”衡量的是什么?

单选题 · mid

  • A.特征更新与当前时刻之差← 正确答案
  • B.特征总量的多少与高低
  • C.模型参数量的大小与规模
  • D.训练轮次的个数与次数

答案:A。新鲜度描述的是数据是否“鲜活”,即特征最近更新时间与当前时刻的间隔,间隔越小越适合实时场景。特征总量、模型参数量、训练轮次都与“时间上的新鲜程度”无关。

Q7. 特征覆盖率 η = 可复用特征数 / 需求特征数,它反映的是什么?

单选题 · hard

  • A.需求被现成特征满足的比例← 正确答案
  • B.模型在测试集上的准确率
  • C.服务在时间上的可用比例
  • D.样本在批次中的占比多少

答案:A。覆盖率回答的是“团队需要的特征里,有多少能直接从共享目录拿到”,是衡量共享机制健全度的晴雨表。准确率是模型指标,可用率是 SLA 指标,样本占比是数据分布指标,三者与覆盖率定义不同。

Q8. 特征共享平台需要哪些治理能力来支撑?

多选题 · hard

  • A.权限授权与使用的管控← 正确答案
  • B.血缘追踪与问题的溯源← 正确答案
  • C.版本管理与历史的回溯← 正确答案
  • D.编译器优化与代码混淆

答案:ABC。共享要跑得久,必须有权限治理(谁能用)、血缘追踪(从哪来、被谁用)、版本管理(口径变更可回溯),三者构成“责任到人、来源可查、历史可溯”的治理三角。编译器优化与代码混淆属于软件工程范畴,与特征治理无关。

Q9. 复用节省公式 V = (N-1) × C建 - C共享 中,N 表示什么?

单选题 · easy

  • A.使用该特征的团队数量← 正确答案
  • B.单个样本的特征维度数
  • C.神经网络模型的层数
  • D.训练时使用的样本条数

答案:A。N 是复用同一特征的团队总数,N-1 是除建设方外省下重复开发的团队数,N 越大收益越明显。特征维度、模型层数、样本条数代入公式都没有实际意义。

Q10. 衡量特征服务可用率时,可以看哪些指标?

多选题 · mid

  • A.请求成功数与请求总数之比← 正确答案
  • B.服务正常运行时间与总时间之比← 正确答案
  • C.单个特征的 SHAP 贡献值
  • D.数据分布倾斜程度的比例

答案:AB。可用率既可用请求成功率衡量(成功请求占比),也可用时间维度衡量(正常运行时长占比),两者等价。SHAP 值用于解释模型预测,数据倾斜比例用于描述分布,均不反映服务的可用性。