在scikit中pipeline和make_pipeline有什么区别

在scikit中pipeline和make_pipeline有什么区别

一般来说,机器学习管道是一系列步骤,按顺序执行,以自动化机器学习工作流。一系列步骤包括训练、分离和部署模型。

Pipeline

它用于按顺序执行流程,并执行步骤,转换器或评估器都是手动命名的。变压器和估计器是拟合模型和调整模型精度的参数。

语法: class sklearn.pipeline.Pipeline(steps, *, memory=None, verbose=False)

注意: 在上述语法中,步骤(可以用数组表示)被表示为在完成任务时要执行的函数序列。

示例:

这里我们将使用pipeline()方法创建一个管道。

# import required modules
import numpy as np
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
  
# declare X, used as a feature with 
# nested array
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
  
# declare y as target variable
y = np.array([9, 10, 11, 12])
  
# pipeline is created using Pipeline()
pipe = Pipeline([('std_sc', StandardScaler()),
                 ('svc_', SVC(gamma='auto'))])
pipe.fit(X, y)

输出:

在scikit中pipeline和make_pipeline有什么区别

make_pipeline

Make_pipleine是scikit learn中的一种高级方法,它可以自动命名估计器或变压器。

语法: sklearn.pipeline.make_pipeline(*steps, memory=None, verbose=False)

示例:

这里我们将使用make_pipeline()方法创建管道。

# import required modules
import numpy as np
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
  
# declare X, used as a feature with 
# nested array
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
  
# declare y as target variable
y = np.array([9, 10, 11, 12])
  
# pipeline is created using make_pipeline()
mp = make_pipeline(StandardScaler(),
                   SVC(gamma='auto'))
mp.fit(X, y)

输出:

在scikit中pipeline和make_pipeline有什么区别

scikit中pipeline和make_pipeline的区别

pipeline make_pipeline
管道需要手动命名步骤。 Make_pipeline会自动命名这些步骤。
名称是显式定义的,没有规则。 名称是使用一个简单的规则(估计器的小写)自动生成的。
不能根据使用的转换器或估计器更改名称。 名称是可读的、简短的、容易理解的,并且可以根据所使用的估计器进行更改。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程