sklearn.pipeline的作用 函数参数解释及代码举例
  X5zJxoD00Cah 2023年11月12日 29 0

sklearn.pipeline是一个实用的工具,可以将多个数据预处理步骤和机器学习模型组合成一个整体,从而简化了机器学习的流程。Pipeline类可以将多个算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流。主要带来两点好处:1. 直接调用fitpredict方法来对pipeline中的所有算法模型进行训练和预测。2. 可以结合grid search对参数进行选择。具体而言,Pipeline实现了对全部步骤的流式化封装和管理,可以很方便地使参数集在新数据集(比如测试集)上被重复使用。

下面是一个简单的例子,展示了如何使用Pipeline对训练集和测试集进行如下操作:先用StandardScaler对数据集每一列做标准化处理(是 transformer),再用PCA将原始的30维度特征压缩到2维度(是 transformer),最后再用模型LogisticRegression(是 Estimator)。调用Pipeline时,输入由元组构成的列表,每个元组第一个值为变量名,元组第二个元素是sklearn中的transformer或Estimator。注意中间每一步是transformer,即它们必须包含fit和transform方法,或者fit_transform。最后一步是一个Estimator,即最后一步模型要有fit方法,可以没有transform方法。

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline

pipe_lr = Pipeline([
    ('sc', StandardScaler()),
    ('pca', PCA(n_components=2)),
    ('clf', LogisticRegression(random_state=1))
])

pipe_lr.fit(X_train, y_train)
print('Test accuracy: %.3f' % pipe_lr.score(X_test, y_test))

更多关于Pipeline的信息,请参考官方文档

源: 与必应的对话, 2023/10/5 (1) 利用sklearn中pipeline构建机器学习工作流 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/42368821. (2) sklearn pipeline函数-CSDN博客. https://blog.csdn.net/weixin_41500849/article/details/80389331. (3) sklearn的make_pipeline函数的代码解释、使用方法. https://developer.aliyun.com/article/988120. (4) sklearn之pipeline:sklearn.pipeline函数使用及其参数解释之详细攻略-阿里云开发者社区. https://developer.aliyun.com/article/800578. (5) 机器学习之构建Pipeline(一) - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/395777245. (6) undefined. https://archive.ics.uci.edu/ml/machine-learning-databases/.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年11月28日   29   0   0 Web知乎Python
  X5zJxoD00Cah   2023年11月19日   20   0   0 知乎PythonTOML
  X5zJxoD00Cah   2023年12月11日   25   0   0 知乎Python迭代器
X5zJxoD00Cah