zoukankan      html  css  js  c++  java
  • 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)
    
    

  • 相关阅读:
    $$Ctrl+shift+M分数罗马字母小写
    设置字体大小加粗斜体下划线
    无序列表有序列表
    数学公式插入
    文本居中、代码插入、图片插入
    VM 使用问题 | 安装失败->>注册表
    VM小技巧——虚拟机解决vm窗口太小的办法
    OneNet平台实践
    linux 打包 | autoconf 使用方法
    C 总结 | 复习注意点
  • 原文地址:https://www.cnblogs.com/taceywong/p/5931253.html
Copyright © 2011-2022 走看看