zoukankan      html  css  js  c++  java
  • 特征选择--联合方法的特征提取

    """
    =================================================
    Concatenating multiple feature extraction methods
    =================================================
      
    In many real-world examples, there are many ways to extract features from a
    dataset. Often it is beneficial to combine several methods to obtain good
    performance. This example shows how to use ``FeatureUnion`` to combine
    features obtained by PCA and univariate selection.
      
    Combining features using this transformer has the benefit that it allows
    cross validation and grid searches over the whole process.
      
    The combination used in this example is not particularly helpful on this
    dataset and is only used to illustrate the usage of FeatureUnion.
    """
      
    # Author: Andreas Mueller <amueller@ais.uni-bonn.de>
    #
    # License: BSD 3 clause
      
    from sklearn.pipeline import Pipeline, FeatureUnion
    from sklearn.grid_search import GridSearchCV
    from sklearn.svm import SVC
    from sklearn.datasets import load_iris
    from sklearn.decomposition import PCA
    from sklearn.feature_selection import SelectKBest
      
    iris = load_iris()
      
    X, y = iris.data, iris.target
      
    # This dataset is way to high-dimensional. Better do PCA:
    pca = PCA(n_components=2)
      
    # Maybe some original features where good, too?
    selection = SelectKBest(k=1)
      
    # Build estimator from PCA and Univariate selection:
      
    combined_features = FeatureUnion([("pca", pca), ("univ_select", selection)])
      
    # Use combined features to transform dataset:
    X_features = combined_features.fit(X, y).transform(X)
      
    # Classify:
    svm = SVC(kernel="linear")
    svm.fit(X_features, y)
      
    # Do grid search over k, n_components and C:
      
    pipeline = Pipeline([("features", combined_features), ("svm", svm)])
      
    param_grid = dict(features__pca__n_components=[1, 2, 3],
                      features__univ_select__k=[1, 2],
                      svm__C=[0.1, 1, 10])
      
    grid_search = GridSearchCV(pipeline, param_grid=param_grid, verbose=10)
    grid_search.fit(X, y)
    print(grid_search.best_estimator_)

  • 相关阅读:
    重构区块链
    区块链隐私保护技术简单介绍
    Extmail邮件过滤和杀毒
    关于Python的JSON
    关于Python的JSON
    关于Python的JSON
    Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
    Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
    Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
    Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
  • 原文地址:https://www.cnblogs.com/xinping-study/p/7116982.html
Copyright © 2011-2022 走看看