Pipeline

Posted gwzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pipeline相关的知识,希望对你有一定的参考价值。

Pipeline可以将许多算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流。主要带来两个好处:
1.直接调用fit和predict方法来对pipeline中的所有算法模型进行训练和预测
2.可以结合grid search对参数进行选择
 
在下面的例子中,我们使用决策树模型来预测泰坦尼克乘客生还,我们首先将非数值型数据转换为数值型数据,然后使用决策树模型来进行分类:
import pandas as pd
import numpy as np
titanic = pd.read_csv(http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt)
titanic.head()
titanic.info()
X = titanic[[pclass,age,sex]]
y = titanic[survived]
X[age].fillna(X[age].mean(),inplace=True)
X.info()
from sklearn.cross_validation import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
X_train = X_train.to_dict(orient=record)
X_test = X_test.to_dict(orient=record)
#将非数值型数据转换为数值型数据
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn.pipeline import Pipeline
clf = Pipeline([(vecd,DictVectorizer(sparse=False)),(dtc,DecisionTreeClassifier())])
vec = DictVectorizer(sparse=False)
clf.fit(X_train,y_train)
y_predict = clf.predict(X_test)
from sklearn.metrics import classification_report
print (clf.score(X_test,y_test))
print(classification_report(y_predict,y_test,target_names=[died,survivied]))

 

以上是关于Pipeline的主要内容,如果未能解决你的问题,请参考以下文章

将 Sklearn GridSearchCV 与 Pipeline 一起使用时如何传递权重

14-Jenkins-Pipeline实现自动部署

Jenkins之Pipeline代码流水线

Jenkins之Pipeline代码流水线配置

Jenkins之Pipeline代码流水线配置

Netty入门——Handler & Pipeline