• 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)

  • 相关阅读:
    linux下光标定位和清屏函数
    使用NHibernate的时候出现“指定的转换无效”的错误
    UI 界面:技术决定一切
    BeamTarget红外线的末尾
    Chicken的代码解剖:6 PlayerController
    kismet模块创建
    Projectile重构
    关卡设计师优化关卡
    一些主类的继承关系
    EA iOS平台《质量效应》《死亡空间》的界面
  • 原文地址:https://www.cnblogs.com/yongfuxue/p/10095476.html
Copyright © 2020-2023  润新知