缩放与选择特征
保留真正有帮助的特征
缩放与选择特征 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。
特征过多会造成损害
文本模型可能膨胀到包含数万个特征。其中许多特征只会增加噪声,因此删减特征列表通常能同时提升速度和准确率。
为什么要缩放
有些模型会直接比较特征的数值大小。如果某个特征的范围是 0 到 1000,那么除非先对它们进行缩放,否则它可能会掩盖其他特征。
标准化数值
StandardScaler 会将每个特征调整为均值为零、方差为单位方差。这样,每个数值特征都处于相同的尺度上。
from sklearn.preprocessing import StandardScaler
scaled = StandardScaler().fit_transform(numeric_features)谨慎处理稀疏数据
对稀疏的 TF-IDF 矩阵进行中心化会使其中充满非零值,浪费内存。请使用MaxAbsScaler,它可以在不破坏稀疏性的情况下进行缩放。
from sklearn.preprocessing import MaxAbsScaler
scaled = MaxAbsScaler().fit_transform(tfidf_matrix)去除无效特征
几乎不变化的特征无法向模型提供信息。VarianceThreshold 筛选器可以快速删除近似恒定的列。
选出最有用的特征
SelectKBest 会根据卡方检验等评分测试保留排名靠前的特征。您只需指定最佳的 k 个特征,它就会删除其余特征。
from sklearn.feature_selection import SelectKBest, chi2
best = SelectKBest(chi2, k=2000).fit_transform(X, y)让模型进行选择
带 L1 惩罚的模型会自行将无用权重压缩为零。这种内置的选择方式通常称为嵌入式特征选择。
只在训练集上拟合
始终只使用训练数据拟合缩放器和选择器,然后将它们应用于测试数据。混合使用会导致数据泄漏,并产生虚高的虚假得分。
将其放入流水线
将缩放和选择放入流水线后,每次都会按正确顺序运行。它还可以在验证期间阻止意外的数据泄漏。
from sklearn.pipeline import Pipeline
pipe = Pipeline([("select", SelectKBest(chi2, k=2000)), ("clf", model)])特征越少,模型越快
精简的特征集训练更快、需要更少内存,也更容易解释。去除噪声后,更小的特征集通常会更好。⚡
测量,不要猜测
尝试几个不同的 k 值,并比较验证得分。让数据而不是直觉决定要保留多少个特征。
快速检查
哪种缩放器能保持矩阵的稀疏性?
回顾
缩放数值特征,并使用 SelectKBest 或 L1选择有用的特征。对于稀疏数据使用 MaxAbsScaler,并在流水线中完成所有拟合。✅
用 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 反馈 — 无需本地设置。