zoukankan      html  css  js  c++  java
  • Pipline

     

    内容简述

    Pipeline可用于将多个估计量顺序链接到一个。这是有用的,因为处理数据通常有固定的步骤顺序,例如特征选择,归一化和分类。

    Pipeline在这里有两个目的:

    便捷:你只需要在你的数据上调用一次fit和predict,来匹配估计器的整个序列。

    联合参数选择:您可以同时对流水线中所有估计量的参数进行网格搜索。

    管道构造

    1)基本形式:

    Pipeline是使用(key, value)对的列表构建的,其中key是包含要给出此步骤的名称的字符串,value是估计器对象

    from sklearn.pipeline import Pipeline

    from sklearn.svm import SVC

    from sklearn.decomposition import PCA

    estimators = [('reduce_dim', PCA()), ('clf', SVC())]

    pipe = Pipeline(estimators)

    2)简写形式:

    from sklearn.pipeline import make_pipeline

    from sklearn.naive_bayes import MultinomialNB

    from sklearn.preprocessing import Binarizer

    make_pipeline(Binarizer(), MultinomialNB())

    参数修改

    可以使用<estimator>__<parameter>语法访问流水线中的估计器的参数 :

    pipe.set_params(clf__C=10)

    pipline用于网格搜索

    from sklearn.model_selection import GridSearchCV

    #形式:{估计器别名1__参数名称:参数列表,估计器别名2__参数名称:参数列表}

    params = dict(reduce_dim__n_components=[2, 5, 10],  clf__C=[0.1, 10, 100])

    grid_search = GridSearchCV(pipe, param_grid=params)

    #还可以进行如下构造

    from sklearn.linear_model import LogisticRegression

    params = dict(reduce_dim=[None, PCA(5), PCA(10)], clf=[SVC(), LogisticRegression()], clf__C=[0.1, 10, 100])

    grid_search = GridSearchCV(pipe, param_grid=params)

  • 相关阅读:
    read和write函数
    Android开发(20)--RadioGroup的使用
    利用Excel批量高速发送电子邮件
    NOTIFYICONDATA结构
    辞职信模板
    使用markdown语法撰写csdn博客
    算法笔记2-优先队列(堆)(上)
    湖南两初中女生水库溺亡的最新相关信息
    《cracking the coding intreview》——链表
    java算法集训代码填空题练习1
  • 原文地址:https://www.cnblogs.com/yongfuxue/p/10095476.html
Copyright © 2011-2022 走看看