当fit方法中有其他超参数的情况下如何使用pipeline

来源:11-9 SVM思想解决回归问题

神羅ten徵

2019-07-23

在课程中讲到,当几个实例拥有相同的方法时,可以使用pipeline将其相连来起到简化步骤的效果

如StandardScaler、PolynomialFeatures等转换器同时拥有fit、transform方法,而LinearSVC等分类器拥有fit、predict、score等方法,因此可以将多个转换器和一个分类器通过串联得到一个Pipeline实例

但是,若有的分类器的fit方法中存在一些特殊的关键字参数(如LinearSVC的fit方法有一个sample_weight关键字而转换器的fit方法没有这个关键字),此时若将sample_weight关键字传入到Pipeline实例的fit方法中并执行时,程序会报错

那么如果确实需要在LinearSVC的fit方法中添加sample_weight这样的关键字参数,此时应该如何使用pipeline呢?

谢谢!

写回答

1回答

liuyubobobo

2019-07-24

首先,请确定你已经懂了这个问答中的描述的如何为pipeline中的算法调参的问题,关键是参数的命名法则:

http://coding.imooc.com/learn/questiondetail/61679.html


在这个基础上,sample_weight前面,也只需要加上:

{$Pipeline中的对象名称}__sample_weight

即可。


一小段根据这一小节的代码改写的测试代码。

//img.mukewang.com/szimg/5d376c050984292f15121388.jpg


继续加油!:)

0
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5858 学习 · 2437 问题

查看课程