原创博文,转载请注明出处!

嵌入式特征选择法使用机器学习模型进行特征选择。特征选择过程与学习器相关,特征选择过程与学习器训练过程融合,在学习器训练过程中自动进行特征选择。

通过L1正则化来选择特征

sklearn在feature_selection模块中集成的模型SelectFromModel实现了嵌入式特征选择,SelectFromModel模型通过sklearn内置的机器学习模型提供的特征重要性指标coef_或feature_importance对特征进行选择,即如果特征的coef_或feature_importance的值低于预设的阈值,则移除低于阈值的特征。其中阈值的设定可以指定,也可以通过启发式方法选择合适的阈值。启发式的方法通常有mean、median等。

# L1+LR特征选择

# -*- coding: utf-8 -*-
"""
# author: wanglei5205
# blog:http://cnblogs.com/wanglei5205
# github:http://github.com/wanglei5205"""
### 生成数据
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000,         # 样本个数n_features=25,          # 特征个数n_informative=3,        # 有效特征个数n_redundant=2,          # 冗余特征个数(有效特征的随机组合)n_repeated=0,           # 重复特征个数(有效特征和冗余特征的随机组合)n_classes=8,            # 样本类别n_clusters_per_class=1, # 簇的个数random_state=0)### 特征选择
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(penalty="l1",C=0.1)from sklearn.feature_selection import SelectFromModel
X_L1 = SelectFromModel(estimator = lr).fit_transform(X,y)### 数据划分
from sklearn.model_selection import train_test_split
x_a_train,x_a_test,y_a_train,y_a_test = train_test_split(X,y,random_state = 33,test_size = 0.25)
x_b_train,x_b_test,y_b_train,y_b_test = train_test_split(X_L1,y,random_state = 33,test_size = 0.25)### 效果比较
from sklearn.svm import SVC
svc1 = SVC().fit(x_a_train,y_a_train)
print(svc1.score(x_a_test,y_a_test))from sklearn.svm import SVC
svc2 = SVC().fit(x_b_train,y_b_train)
print(svc2.score(x_b_test,y_b_test))

# 参考博客

http://www.cnblogs.com/stevenlk/p/6543646.html

转载于:https://www.cnblogs.com/wanglei5205/p/8977986.html

【特征选择】嵌入式特征选择法相关推荐

  1. 特征选择-嵌入式选择

    嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择. 基于惩罚项的特征选择法 给定数据集 D={(x1,y1),(x2,y2) ...

  2. 《机学三》特征工程3 —— 特征选择:特征选择、数据降维

    一.概述 1.1[降维] [维降]:把三维降成二维,本质就是减少特征数量: 1.2[特征选择] 什么是特征选择: 特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后 ...

  3. 特征选择、特征选择方法

    特征选择.特征选择方法 目录 特征选择.特征选择方法 特征选择 特征选择方法 特征选择 特征选择是

  4. L1正则化与嵌入式特征选择(稀疏性)

    岭回归的历史可追溯到1943年由A.Tikhonov发表在<苏联科学院院刊>上的一篇文章,我们知道计算机是在1946年发明出来的,由此可见,这是一个历史悠久的算法,至今依旧有生命力,属于经 ...

  5. python文本特征选择,机器学习--特征选择(Python实现)

    特征选择就是从原始特征中选取一些最有效的特征来降低维度,,提高模型泛化能力减低过拟合的过程,主要目的是剔除掉无关特征和冗余特征,选出最优特征子集: 常见的特征选择方法可以分为3类:过滤式(filter ...

  6. 06_特征选择,特征选择的原因,sklearn特征选择API

    1.特征选择 在现实生活中,一个对象往往具有很多属性(以下称为特征),这些特征大致可以被分成三种主要的类型: 1.相关特征: 对于学习任务(例如分类问题)有帮助,可以提升学习算法的效果: 2.无关特征 ...

  7. 分词之后的如何做特征选择_特征选择怎么做?这篇文章告诉你

    作者 | Pier Paolo Ippolito 翻译 | Skura 编辑 | 唐里 原文标题:Feature Selection Techniques 据<福布斯>报道,每天大约会有 ...

  8. lasso特征选择python_特征选择怎么做?这篇文章告诉你

    原标题:特征选择怎么做?这篇文章告诉你 照片由 Clem Onojeghuo 发布在 Unsplash 上面 作者 | Pier Paolo Ippolito 翻译 | Skura 编辑 | 唐里 原 ...

  9. python 卡方检验 特征选择_特征选择之卡方检验

    特征选择的常用方法之一是卡方检验,作为一个filter model的代表,卡方检验属于简单易计算的Feature weight algorithm(通过一定的measure方法给特征赋上一定的weig ...

最新文章

  1. SOP,TSSOP,PLCC,BGA这些封装的中英文解释
  2. tomcat配置文件详解
  3. 彻底崩溃,一个电脑白痴和黑客的对话!
  4. webdriver高级应用- 右键另存为下载文件
  5. NUnit的使用中可能遇到的问题
  6. 【模型转换】最少点的覆盖区间
  7. 蓝桥杯C语言基础题---01字串
  8. PreferenceFragment和PreferenceActivity
  9. 长字符串的算术编码matlab,算术编码及MATLAB实现
  10. 街机中国 FBA4droid 应用
  11. JavaScript Debugger 原理
  12. 如何提高FPGA的运行速度
  13. 微信圣诞帽:OpenCV 库Linux下c++实现
  14. java将图片转化为base64码
  15. 为什么“家徒四壁”中的徒是仅仅,只有的意思?
  16. java ee web pdf_Java EE Web高级开发案例 PDF扫描版[69MB]
  17. 剑14 TEST1 听力复盘
  18. 程序猿思维释放:打破常态
  19. pymol配体平移与旋转
  20. 更易上手的C语言入门级芝士 (3) 常见关键字+define+指针+结构体(超详细)

热门文章

  1. 昆明理工大学2017计算机考研题,2017年昆明理工大学现代农业工程学院341农业知识综合三[专业硕士]之计算机网络考研题库...
  2. mysql查找内容某字符串出现的次数_查找MySQL中特定字符串出现的次数?
  3. java 数据类型model_如何在角度2中使用类数据类型的ngModel?
  4. linux终端中如何对目录压缩,软网推荐:Linux中使用命令行查看压缩文档
  5. php中类的构造函数是,php类与构造函数解析
  6. 模型预测控制c语言程序_基于数据驱动的模型预测控制
  7. qt 中如何检测是否按下键盘(很实用)
  8. 领扣 LeetCode 42:接雨水(java)(网易有道面试真题)
  9. 百练OJ:3681与2796:数字求和
  10. java基础IO BIO、NIO、AIO的区别