赞
踩
1.导入
前面有过这样的比方,首要对数据进行缩放,然后手动兼并特征,再运用无监督机器学习来学习特征。因而,大多数机器学习运用不只需求运用单个算法,而且还需求将许多不同的处理进程和机器学习模型链接在一起。接下来将介绍怎样运用Pipeline 类来简化构建改换和模型链的进程,将要点介绍怎样将Pipeline 和GridSearchCV 结合起来,然后一起查找一切处理进程中的参数。
举一个比方来阐明模型链的重要性。咱们知道,能够经过运用MinMaxScaler 进行预处理来大大提高核SVM 在cancer 数据集上的功能。下面这些代码完成了区分数据、核算最小值和最大值、缩放数据与练习SVM:
上面的代码第11行,是在x_train数据中找到最大值、最小值,然后用它别离缩放练习集和测验集,如第13、15行所示。这是所要求的正确的做法。
现看下面的比方:练习集和验证集却没有遵从这个要求。
!!! 问题所在 : 穿插验证的数据集是已经在外面进行缩放处理的练习集,在穿插验证内部将其格外 练习集和验证集如图 6-1所示。
谨记一条准则:先区分数据集,再进行缩放处理或其它预处理。
那么,在穿插验证内部,怎样做到呢?
在scikit-learn 中,要想运用cross_val_score 函数和GridSearchCV 函数完成这一点,能够运用Pipeline 类。Pipeline 类能够将多个处理进程兼并(glue)为单个scikit-learn 估量器。Pipeline 类自身具有fit、predict 和score 办法,其行为与scikit-learn 中的其他模型相同。Pipeline 类最常见的用例是将预处理进程(比方数据缩放)与一个监督模型(比方分类器)链接在一起。2.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。