scikit-learn一般实例之三:连接多个特征提取方法
2016-10-04 16:24
363 查看
在很多现实世界的例子中,有很多从数据集中提取特征的方法.很多时候我们需要结合多种方法获得好的效果.本例将展示怎样使用
结合使用转换器的好处是它允许在整个过程中进行交叉验证和网格搜索。
在本例中数据集上使用组合的方法并没有什么实际作用,仅用来展示怎么使用
FeatureUnion通过主成分分析和单变量选择相进行特征结合.
结合使用转换器的好处是它允许在整个过程中进行交叉验证和网格搜索。
在本例中数据集上使用组合的方法并没有什么实际作用,仅用来展示怎么使用
FeatureUnion
# coding:utf-8 # 作者: Andreas Mueller <amueller@ais.uni-bonn.de> # 协议: BSD 3 from sklearn.pipeline import Pipeline, FeatureUnion from sklearn.model_selection 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 #本数据集维度较高,最好进行PCA降维 pca = PCA(n_components=2) #也许一些原始特征也非常有用 selection = SelectKBest(k=1) #从主成分分析和单变量选择的建立评估器 combined_features = FeatureUnion([("pca", pca), ("univ_select", selection)]) #使用组合特征来转换数据集 X_features = combined_features.fit(X, y).transform(X) svm = SVC(kernel="linear") #进行网格搜索(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_)
相关文章推荐
- [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合
- [占位-未完成]scikit-learn一般实例之十二:用于RBF核的显式特征映射逼近
- scikit-learn:4.2. Feature extraction(特征提取,不是特征选择)
- 干货:结合Scikit-learn介绍几种常用的特征选择方法
- 结合Scikit-learn介绍几种常用的特征选择方法
- scikit-learn文本特征提取之TfidfVectorizer
- [未完成]scikit-learn一般实例之九:用于随机投影嵌入的Johnson–Lindenstrauss lemma边界
- Scikit-learn介绍几种常用的特征选择方法
- scikit-learn:0.3. 从文本文件中提取特征(tf、tf-idf)、训练一个分类器
- scikit-learn一般实例之一:绘制交叉验证预测
- 结合Scikit-learn介绍几种常用的特征选择方法
- scikit-learn一般实例之八:多标签分类
- [转]干货:结合Scikit-learn介绍几种常用的特征选择方法
- scikit-learn一般实例之一:保序回归(Isotonic Regression)
- scikit-learn:从文本文件中提取特征(tf、idf)
- 结合Scikit-learn介绍几种常用的特征选择方法
- 干货:结合Scikit-learn介绍几种常用的特征选择方法
- 结合Scikit-learn介绍几种常用的特征选择方法
- scikit-learn一般实例之六:构建评估器之前进行缺失值填充
- scikit-learn一般实例之四:使用管道和GridSearchCV选择降维