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_)

  • 相关阅读:
    ELK Packetbeat 部署指南
    ELK beats平台介绍
    ELK Packetbeat 部署指南(15th)
    什么是staging server
    elasticsearch学习一、安装和配置
    How To Use Logstash and Kibana To Centralize Logs On CentOS 6
    Java字节码(.class文件)格式详解(一)
    JVM之字节码——Class文件格式
    如何获得JVM执行过程中调用的方法名
    ELK beats通用配置说明(12th)
  • 原文地址:https://www.cnblogs.com/xinping-study/p/7116982.html
Copyright © 2011-2022 走看看