使用Pipeline构建算法链
描述
在机器学习中,经常会使用多个算法模完成一个任务,这时可以使用Pipeline构建算法链,将多个算法整合为一个“复合模型”,它同样拥有fit、score、predict等方法。构建算法链可以大大简化模型代码,同时还能够避免因模型之间数据不一致导致的性能问题。Pipeline的经典应用场景是整合预处理和监督学习模型,同时还可以结合网格搜索、交叉验证进行调参、选出最优的模型和参数。
本任务主要实践内容包括:
1、 使用Pipeline整合预处理与KNN分类器,实现肿瘤分类预测
2、 使用Pipeline结合网格搜索,自动选择最优模型组合及模型最优参数。
环境
-
操作系统:Windows10、Ubuntu18.04
-
工具软件:Anaconda3 2019、Python3.7
-
硬件环境:无特殊要求
-
依赖库列表
scikit-learn 0.24.2
分析
本任务使用乳腺癌数据集(breast_cancer),任务中涉及以下环节:
a)加载并拆分数据集;
b)使用MinMaxScaler缩放器进行预处理;
c)建立KNN分类模型并评估;
d)使用Pipeline构建算法链,整合上述预处理和分类模型,并评估;
e)使用Pipeline结合网格搜索,选择最佳模型组合及参数。
实施
步骤1、加载并拆分乳腺癌数据集
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, StandardScaler
# 加载、拆分数据
cancer = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, random_state=0)
步骤2、使用MinMaxScaler缩放器进行预处理,然后创建KNN分类模型并评估
# 创建MinMaxScaler缩放器
scaler = MinMaxScaler()
# 数据缩放预处理
X_train_scaled = scaler.fit_transform(X_train

最低0.47元/天 解锁文章
1035

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



