• Hands-On Automated Machine Learning


    机器学习(ML)模型中有许多移动部件必须连接在一起才能使ML模型成功执行并生成结果。将ML过程的不同部分捆绑在一起的过程称为管道。对于数据科学家来说,管道是一个概括但非常重要的概念。在软件工程中,人们构建管道来开发从源代码到部署的软件。类似地,在ML中,创建了一个管道,以允许数据从其原始格式流向一些有用的信息。它提供了一种构建多ML并行管道系统的机制,以便比较几种ML方法的结果。

    管道的每个阶段都馈送从其前一阶段处理的数据; 也就是说,处理单元的输出作为输入提供给下一步骤。正如水在管道中流动一样,数据流过管道。掌握管道概念是创建无差错ML模型的有效方法,管道是AutoML系统的关键要素。

    简单的管道
    我们将首先导入一个称为Iris的数据集,该数据集已在scikit-learn的样本数据集库中提供(http://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html)。数据集由四个要素组成,共有150行。我们将在管道中开发以下步骤,以使用Iris数据集训练我们的模型。问题陈述是使用四种不同的特征来预测虹膜数据的种类,如下面的流程图所示:

    图片标题

    在这个管道中,我们将使用MinMaxScaler方法来缩放输入数据和逻辑回归以预测虹膜的种类。然后将根据准确度度量评估模型:

    1.第一步是从scikit导入 - 学习各种库,这些库将提供完成任务的方法。我们必须从sklearn.pipeline添加Pipeline方法,它将为我们提供创建ML管道所需的必要方法:

    来自 sklearn.datasets import load_iris
    来自 sklearn.preprocessing 导入 MinMaxScaler
    来自 sklearn.linear_model import LogisticRegression
    来自 sklearn.model_selection import train_test_split
    来自 sklearn.pipeline import Pipeline
    2.下一步是加载虹膜数据并将其分成训练和测试数据集。在此示例中,我们将使用80%的数据集来训练模型,剩余的20%用于测试模型的准确性。我们可以使用shape函数来查看数据集的维度:

    #加载并拆分数据
    iris = load_iris()
    X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size = 0.2,random_state = 42)
    X_train.shape
    3.以下结果显示训练数据集有4列120行,相当于Iris数据集的80%,并且符合预期:

    图片标题

    4.接下来,我们打印数据集:

    打印(X_train)
    上面的代码产生以下输出:

    图片标题

    5.下一步是创建一个管道。管道对象采用(键,值)对的形式。Key是一个字符串,它具有特定步骤的名称,value是函数或实际方法的名称。在下面的代码片段中,我们将MinMaxScaler()方法命名为minmax,将LogisticRegression()命名为lr:

    pipe_lr = Pipeline([(' minmax',MinMaxScaler()),
    (' lr',LogisticRegression())])
    6.然后,我们将管道对象pipe_lr拟合到训练数据集:

    pipe_lr.fit(X_train,y_train)
    7.在执行上述代码时,您将获得以下输出,该输出显示已构建的拟合模型的最终结构:

    图片标题

    8.最后一步是使用score方法在测试数据集上对模型进行评分:

    得分 = pipe_lr.score(X_test,y_test)
    print(' Logistic回归管道测试精度:%。3f' % 得分)
    我们可以从以下结果中注意到,模型的准确度为0.900,即90%:

    图片标题

    在这个例子中,我们创建了一个包含两个步骤的管道,即minmax scaling和LogisticRegression。当我们在pipe_lr上执行fit方法时,MinMaxScaler对输入数据执行了拟合和变换方法,并将其传递给估计器,估计器是逻辑回归模型。管道中的这些中间步骤称为变换器,最后一步是估计器。

  • 相关阅读:
    maven安装
    VMware workstation安装报Microsoft Runtime DLL和Intel VT-x错误
    jQuery的拾色器
    Distributed Representations of Words and Phrases and their Compositionality
    Deep Learning for Natural Language Processeing:vector space models
    Deep Learning for Natural Language Processeing : Convex Optimization
    Java Web的一些基础知识
    Java Web1: 邮件发送系统(JSP+Servlet+JavaBean)
    学习效率与方法
    Deep Learning6: Convolution and pooling
  • 原文地址:https://www.cnblogs.com/wdmx/p/9900438.html
Copyright © 2020-2023  润新知