LabelSpreading 的transduction与新样本预测有什么区别
LabelSpreading 里的 transduction_ 和 predict(X) 不是同一个入口。前者是 fit(X, y) 时在整张训练图上给样本分配的标签,包含原本用 -1 标记的未标注样本;后者是模型拟合后对一批输入特征做归纳式推断,适合处理之后到来的新样本。已经有标签的训练点不要拿来证明泛化效果,生产数据也不要把 transduction_ 当成新样本预测接口。
官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.semi_supervised.LabelSpreading.html
transduction_的长度等于传给fit的样本数,代表训练图上的传导标签。predict(X_new)与predict_proba(X_new)面向拟合后的新输入,概率列顺序对应classes_。alpha控制邻居信息相对初始标签的权重;它不是新样本置信度阈值。
先按样本来源拆开两个结果
LabelSpreading 是半监督分类器。fit 接收带标签和未标注样本的 X,未标注位置通常在 y 中写成 -1。算法根据样本之间的相似关系传播类别信息,最终把每个 fit 输入对应的标签保存到 transduction_。它回答的是“这张已参与传播的图上,每个节点现在被分到哪一类”。
predict(X_new) 的问题不同:X_new 可以是 fit 之后才出现的数据,接口执行的是文档所称的 inductive inference。它返回新输入的类别;如果需要每一类的归一化分布,使用 predict_proba。因此,二者最大的区别不是返回值类型,而是样本是否已经进入本次 fit 的传播图。

用接口名称确认“图内标签”还是“新数据预测”
下面的写法只展示接口关系。代码中的 X_new 不应被拼回原训练数组后再用结果冒充线上预测;上线时应保留训练特征处理流程,并检查列数和顺序与 n_features_in_ 一致。
import numpy as np
from sklearn.semi_supervised import LabelSpreading
# -1 表示这一行没有人工标签,参与传播但不是已知类别。
X_fit = np.array([[0.0, 0.1], [0.2, 0.0], [1.0, 1.1], [1.2, 0.9]])
y_fit = np.array([0, -1, 1, -1])
# alpha 控制邻居信息相对初始标签的影响,不是置信度阈值。
model = LabelSpreading(kernel="rbf", alpha=0.2, max_iter=30)
model.fit(X_fit, y_fit)
# 读取 fit 阶段整张图的传导标签,长度与 X_fit 相同。
labels_on_graph = model.transduction_
# 新样本走归纳式预测;概率列按 model.classes_ 对齐。
X_new = np.array([[0.1, 0.2], [1.1, 1.0]])
new_labels = model.predict(X_new)
new_probabilities = model.predict_proba(X_new)
如果业务只想查看训练图上未标注点的补全结果,可以用 transduction_ 配合原始的 y_fit == -1 掩码;如果业务要给刚上传的记录分类,就应该调用 predict,并在需要人工复核时保留 predict_proba 的整行分布,而不是只保存最大类别。
| 结果 | 对应样本 | 适合回答的问题 | 注意点 |
|---|---|---|---|
transduction_ | 传给 fit 的全部样本 | 训练图上的节点被分到哪类 | 不能当作独立测试集成绩 |
predict(X_new) | 拟合后的新输入 | 这批新特征预测成哪类 | 先保持特征处理一致 |
predict_proba(X_new) | 拟合后的新输入 | 各类别分布怎样 | 概率不是业务风险保证 |
kernel 和 alpha 改变的是传播边界,不是接口含义
kernel="rbf" 使用 RBF 相似度,kernel="knn" 则按近邻关系构图;选择哪个 kernel 会改变样本之间的连接方式。gamma 用于 RBF,n_neighbors 用于 KNN。它们会影响传播结果,但不会把 transduction_ 变成预测新数据的缓存。
alpha 是 clamping factor。官方定义是:样本从邻居吸收的信息相对于初始标签的比例;alpha=0 更偏向保留初始信息,接近 1 则更偏向邻居信息。生产调参时要同时看已知标签是否被稳定保留、未标注区域是否出现整片偏向,以及新样本的概率分布是否过于平均。不要把 alpha 直接解释成“只接受 20% 置信度”。

上线前用四项检查避免误读
第一,确认训练图里的 -1 只代表未标注,不要把它当成一个真实类别;第二,把 transduction_ 和原始行号一起落盘,避免传播后重排造成错配;第三,对新样本使用与训练期完全一致的特征缩放、词向量或列选择;第四,对低置信度的新样本设置人工复核或“暂不判定”分支。若要评估泛化能力,应使用独立的有标签验证集调用 predict 后再计算指标,不能直接对 transduction_ 做训练集式自评。
相关问题
transduction_ 会包含原本已经标注的样本吗?
会。它对应 fit 输入的全部样本;未标注点会被传播赋值,但已标注点也位于同一个结果数组中。
新样本能直接追加到 transduction_ 吗?
不能。新样本应调用 predict 或 predict_proba;若数据分布或特征空间发生变化,应重新设计训练和评估流程。
predict_proba 的列顺序怎样确认?
用 model.classes_ 对照概率矩阵的列,不能按业务标签名称的字典序自行猜测。
Go bloom 过滤器容量不足怎样影响误判率
- 上一篇
- Go bloom 过滤器容量不足怎样影响误判率
- 下一篇
- PHP strpbrk 找不到字符时怎样区分false与空字符串
-
- 科技周边 · 人工智能 | 1小时前 |
- scikit-learn LabelSpreading 怎样标记未标注样本
- 283浏览 收藏
-
- 科技周边 · 人工智能 | 4小时前 | nltk Tree treepositions leaf_treeposition 句法树
- NLTK Tree 的叶节点位置与树节点位置有什么区别
- 197浏览 收藏
-
- 科技周边 · 人工智能 | 4小时前 |
- NLTK Tree 怎样读取括号形式的句法树
- 203浏览 收藏
-
- 科技周边 · 人工智能 | 5小时前 | 音频重采样 torchaudio Resample 卷积核缓存
- torchaudio 重采样变换缓存内核怎样减少重复计算
- 356浏览 收藏
-
- 科技周边 · 人工智能 | 6小时前 |
- torchaudio 怎样重采样多声道波形
- 210浏览 收藏
-
- 科技周边 · 人工智能 | 7小时前 | python · beats librosa beat_track tempo 节拍检测
- librosa beat_track 的速度估计与节拍时刻有什么区别
- 467浏览 收藏
-
- 科技周边 · 人工智能 | 7小时前 |
- librosa 怎样估算音频节拍位置
- 444浏览 收藏
-
- 科技周边 · 人工智能 | 8小时前 |
- librosa 起音帧编号怎样转换成秒
- 306浏览 收藏
-
- 科技周边 · 人工智能 | 9小时前 | librosa 音频分析 起音检测 onset_detect
- librosa 怎样从音频中提取起音位置
- 484浏览 收藏
-
- 科技周边 · 人工智能 | 14小时前 |
- Optimum ONNX Runtime 怎样为推理模型选择执行提供程序
- 136浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 809次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 798次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 889次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 860次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 687次使用
-
- 量化模型本地推理的显存估算方法
- 2026-10-17 501浏览
-
- 本地大模型反复输出同一句话怎么调整生成参数
- 2026-09-06 501浏览
-
- Python 调用大模型时如何用结构化输出校验 JSON:从解析失败到可重试
- 2026-08-29 501浏览
-
- AI写作工具免费版安装教程(含豆包Clawdbot)
- 2026-05-30 501浏览
-
- WPS AI能自动生成PPT吗?输入主题一键制作演示文稿
- 2026-05-27 501浏览

