Python中学习器流水线Pipeline

'''
sklean提供的pipeline来将多个学习器组成流水线,通常流水线的形式为:
将数据标准化的学习器---特征提取的学习器---执行预测的学习器

除了最后一个学习器之外,前面的所有学习器必须提供transform方法,该方法用于数据转化(例如:
       归一化,正则化,以及特征提取
'''

from sklearn.datasets import load_digits
from sklearn import cross_validation
from sklearn.svm import LinearSVC
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline

def test_Pipeline(data):
    x_train,x_test,y_train,y_test=data
    steps=[('Linear_SVM',LinearSVC(C=1,penalty='l1',dual=False)),
           ('LogisticRegression',LogisticRegression(C=1))]
    pipeline=Pipeline(steps)
    pipeline.fit(x_train,y_train)
    print('name steps:',pipeline.named_steps)
    print('Pipeline Score:',pipeline.score(x_test,y_test))
    
if __name__=='__main__':
    data=load_digits()
    X=data.data
    y=data.target
    test_Pipeline(cross_validation.train_test_split(X,y,test_size=0.25,
                                        random_state=0,stratify=y))
    
    
    
from sklearn.datasets import load_digits
from sklearn import cross_validation
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.decomposition import PCA
'''
工作流程:先进行pca降为,然后使用Logistic回归,来分类
'''
def test_Pipeline(data):
    x_train,x_test,y_train,y_test=data
    steps=[('PCA',PCA()),
           ('LogisticRegression',LogisticRegression(C=1))]
    pipeline=Pipeline(steps)
    pipeline.fit(x_train,y_train)
    print('name steps:',pipeline.named_steps)
    print('Pipeline Score:',pipeline.score(x_test,y_test))
    
if __name__=='__main__':
    data=load_digits()
    X=data.data
    y=data.target
    test_Pipeline(cross_validation.train_test_split(X,y,test_size=0.25,
                                        random_state=0,stratify=y))

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值