sklearn中的pipeline的创建与访问
前期博文提到管道(pipeline)在机器学习实践中的重要性以及必要性,本文则递进一步,探讨实际操作中管道的创建与访问。
已经了解到,管道本质上是一定数量的估计器连接而成的数据处理流,所以成功创建管道的唯一要求就是:管道中所有估计器必须具有fit()和transform()方法,但管道中最后一个估计器只需具有fit()方法足矣;
这个约束条件的目的是保证,管道中后一个估计器能够接受前一个估计器的transform输出。
pipeline创建
创建管道一般有两种途径:
如上图,利用Pipeline创建两个估计器构成的管道,并且指明每个步骤的名称;利用pipe_long.steps()方法可以得到管道的每个估计器的细节信息。
对比这两个创建方法,可以发现不指定处理步骤名称时,系统会自动给估计器命名(见图中圆圈部分)。
访问pipeline中估计器信息
如下图所示,圆圈部分利用管道的named_steps属性和特定估计器的名称指定访问目标,而后访问目标的components_信息。
下面是一个较为完整的实例:
第一步,先创建由数据标准化函数和逻辑回归分类器构成的管道,并在网格搜索的框架下进行训练数据的拟合:
第二步:类似地,利用管道的named_steps属性指定逻辑回归估计器的步骤名称,得到估计器的大体信息和系数属性。
实际上,管道机制与网格搜索的结合可以完成许多有意思的工作,这一部分内容见后期博文。
作者: pythonfl
出处: http://www.cnblogs.com/pythonfl/
本文版权归作者和博客园共有,转载时请标明出处;如有疑问,欢迎联系fangleiecust@163.com;如发现文中内容侵犯到您的权利,请联系作者予以处理。