• scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归


    主成分分析(PCA)进行无监督的降维,而逻辑回归进行预测.

    我们使用GridSearchCV来设置PCA的维度

    # coding:utf-8
    
    from pylab import *
    import numpy as np
    
    from sklearn import linear_model, decomposition, datasets
    from sklearn.pipeline import Pipeline
    from sklearn.model_selection import GridSearchCV
    
    logistic = linear_model.LogisticRegression()
    
    pca = decomposition.PCA()
    pipe = Pipeline(steps=[('pca', pca), ('logistic', logistic)])
    
    digits = datasets.load_digits()
    X_digits = digits.data
    y_digits = digits.target
    
    

    绘制PCA图谱

    myfont = matplotlib.font_manager.FontProperties(fname="Microsoft-Yahei-UI-Light.ttc")
    mpl.rcParams['axes.unicode_minus'] = False
    pca.fit(X_digits)
    plt.figure(1, figsize=(4, 3))
    plt.clf()
    plt.axes([.2, .2, .7, .7])
    plt.plot(pca.explained_variance_, linewidth=2)
    plt.axis('tight')
    plt.xlabel(u'n_components',fontproperties=myfont)
    plt.ylabel(u'解释方差',fontproperties=myfont)
    plt.title(u"主成分分析谱",fontproperties=myfont)
    
    
    

    预测

    plt.clf()
    
    n_components = [20, 40, 64]
    Cs = np.logspace(-4, 4, 3)
    
    estimator = GridSearchCV(pipe,
                             dict(pca__n_components=n_components,
                                  logistic__C=Cs))
    estimator.fit(X_digits, y_digits)
    
    plt.axvline(estimator.best_estimator_.named_steps['pca'].n_components,
                linestyle=':', label='n_components chosen')
    plt.legend(prop=myfont)
    plt.title(u"预测",fontproperties=myfont)
    
    

  • 相关阅读:
    前端实现文件下载
    es6 Promise简单介绍
    es6开发环境搭建,babel 将es6转化成es5
    如何让写得html页面自动刷新
    es6箭头函数
    js对象跟数组多层嵌套,检测没有此数据就添加有则不添加以及超过限制条件删除操作
    小程序分享进入H5动态网页
    数据结构与算法--基本概念
    Unity中的常用输入
    Unity中的物体旋转
  • 原文地址:https://www.cnblogs.com/taceywong/p/5931253.html
Copyright © 2020-2023  润新知