Python
-
模型分数是否高于随机标签?用 permutation_test_score 做教学置换检验
一个分类器在交叉验证中得到较高分数,还需要问:它是否只是碰巧利用了这批样本的标签排列?permutation_test_score 保持特征与验证方案不变,反复打乱标签,形成“标签与特征无关联”时的分数对照。下面用人工合成数据执行一次教学检验。
-
同一模型为什么出现两种准确率?用 sample_weight 核对加权与未加权评估
同一批预测可以得到两种不同准确率:普通准确率每条样本权重相同,加权准确率会按事先定义的样本权重重新汇总。下面训练一个总预测多数类的教学模型,逐项核对正确数、权重和分母,说明数值差异从哪里来。
-
分类模型调参工具怎么选?同一搜索预算比较 GridSearchCV 与 RandomizedSearchCV
GridSearchCV 与 RandomizedSearchCV 都可以为分类器选超参数,但“哪个更好”必须先对齐搜索预算与交叉验证。下面让二者都评估9个候选、每个候选做同样3折验证,再比较它们探索了哪些参数与得到的验证分数。
-
预测未来 7 天结果怎么切验证集?按标签结束日期剔除跨界训练样本
预测未来7天累计结果时,一行训练样本的标签需要等到未来第7天才能确定。只按行日期把较早记录放进训练集,可能把验证开始之后才完成的标签带进去。下面给每条样本记录标签结束日期,并在每轮验证前剔除跨界训练行。
-
同一用户多条记录怎么验证模型?用 GroupKFold 保持逐折用户隔离
同一用户留有多条记录时,随机按行划成多折,会让同一用户同时出现在训练与验证。若目标是预测新用户,GroupKFold 可以让每一折的用户集合互不交叉,并让每位用户轮流进入验证折。下面同时输出折内分数和用户交集检查。
-
交叉验证为什么会泄漏?把缺失填补放进 Pipeline 后逐折评估
交叉验证中的泄漏常发生在划分之前:先用整张表计算缺失值的填补中位数,再把已经填好的数据送入交叉验证,验证折的信息已参与预处理。把 SimpleImputer 和分类器装进同一条 Pipeline,逐折拟合并核对中位数,才能检查这一步的边界。
-
OCR 识别结果怎么还原阅读顺序?按文字框坐标排序并检查跨栏错序
OCR 已返回文字和矩形坐标后,双栏文章如果只按 y 坐标排序,会变成“左第一行、右第一行、左第二行、右第二行”。下面用六个虚构文字框重建“先左栏,再右栏”的阅读顺序,并列出需要人工复核的版面情况。
-
两版 AI 文本怎么比对修改?按句输出增删并回查原文
比较两版 AI 草稿时,只看最后一版容易遗漏被删掉的条件。先按句子切分旧稿与新稿,再输出逐句的保留、删除和新增位置,让编辑返回原文核对“为什么改”;本例专门发现一个金额条件从第二版消失。
-
智能体误解否定句怎么办?建立禁止动作与转折测试用例
“不要退款,只查物流”里同时出现“退款”和“查物流”;智能体如果只扫关键词,就可能错误发起退款。先把禁止动作、请求动作和需要澄清的双重否定分开,再拿短句测试。测试通过仍不等于允许执行真实业务动作。
-
实体标注的 BIO 标签怎么生成?用字符偏移检查跨词与冲突
实体识别训练数据常把连续文本片段转成 B-ORG、I-ORG 等逐词标签。关键不是随意给词打标,而是先确认字符偏移与分词边界完全对齐:一个实体可跨多个词,冲突或半个词的片段必须退回修订。