机器学习中的管道与文本数据处理
一、管道(Pipeline)的基础与应用
1.1 管道的重要性及数据泄漏问题
在机器学习中,有时会得到负的 $R^2$ 分数,这表明模型表现很差。使用管道(Pipeline)时,特征选择被放在交叉验证循环内,这意味着特征只能从训练数据中选择,而不能从测试数据中选择。因为数据是随机的,在训练集上与目标相关的特征,在测试集上可能与目标不相关。解决特征选择中的数据泄漏问题,会使模型评估结果产生巨大差异,可能从认为模型效果很好变为认为模型根本无效。
1.2 通用管道接口
管道类(Pipeline)不仅限于预处理和分类,它可以将任意数量的估计器连接在一起。例如,可以构建一个包含特征提取、特征选择、缩放和分类的管道,共四个步骤,最后一步也可以是回归或聚类。管道中除最后一步外的所有估计器都需要有 transform 方法,以便为下一步生成新的数据表示。
以下是 Pipeline.fit 和 Pipeline.predict 的内部实现代码:
def fit(self, X, y):
X_transformed = X
for step in self.steps[:-1]:
# iterate over all but the final step
# fit and transform the data
X_transformed = step[1].fit_transform(X
超级会员免费看
订阅专栏 解锁全文
2471

被折叠的 条评论
为什么被折叠?



