NLP Academy · 课时

端到端的不平衡数据流水线

将各项修正整洁地组合起来

第 4 / 4 课13 个步骤

端到端的不平衡数据流水线 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。

整合所有步骤

现在,您将把每项修复串联成一个整洁的流程。一个流水线可以依次完成向量化、重采样和建模。

始终先划分数据

请先进行分层划分,使训练集和测试集保持相同的少数类比例。这样可以保证评估真实可靠。

X_tr, X_te, y_tr, y_te = train_test_split(X, y, stratify=y)

将文本向量化

使用TF-IDF将原始文本转换为数字,使分类器获得可以学习的特征。

tfidf = TfidfVectorizer()

在流水线内部重采样

请使用 imblearn 的流水线,使 SMOTE 只在训练折上运行,绝不泄漏到验证集或测试集。

from imblearn.pipeline import Pipeline

连接各个阶段

按顺序列出各个阶段:先是向量化器,然后是 SMOTE,最后是模型。流水线会将它们作为一个拟合后的对象运行。

pipe = Pipeline([('tf', tfidf), ('sm', SMOTE()), ('clf', LogisticRegression())])

一次整洁地完成拟合

对整个流水线调用 fit。每个步骤都会按顺序运行,并且只使用您的训练数据进行训练。

pipe.fit(X_tr, y_tr)

用正确的方式评估

不要只看原始准确率。分类报告会清晰展示少数类的精确率、召回率和 F1。

from sklearn.metrics import classification_report
print(classification_report(y_te, pipe.predict(X_te)))

无泄漏地验证

将流水线与分层交叉验证结合,使重采样在每一折内部重新进行。

调整阈值

从流水线获取概率,并选择一个阈值,使验证数据上的召回率达到目标。

proba = pipe.predict_proba(X_te)[:, 1]

保存整个流水线

使用 joblib 持久化整个拟合后的流水线,这样以后进行推理时,每个步骤都会自动重复。

import joblib
joblib.dump(pipe, 'model.joblib')

一个对象,结果可复现

由于向量化、平衡处理和建模都集中在一起,您的结果会保持可复现,也不会出现隐蔽的数据泄漏。🚀

快速检查

再来一道关于安全流水线的题。

回顾

进行分层划分,在流水线内部完成向量化和重采样,根据 F1 和召回率进行评估,调整阈值,然后将全部内容保存下来。🚀

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「端到端的不平衡数据流水线」课时是免费的吗?

是的 — 「端到端的不平衡数据流水线」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。

「端到端的不平衡数据流水线」这节课中我会学到什么?

将各项修正整洁地组合起来 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 NLP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「端到端的不平衡数据流水线」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 NLP Academy 课中编写并运行代码吗?

能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 罕见类别为何会被忽略
  2. 重采样与类别权重
  3. 选择阈值与指标
  4. 端到端的不平衡数据流水线
← 返回 NLP Academy