zoukankan      html  css  js  c++  java
  • 特征选择Boruta

    A good feature subset is one that:

    contains features highly correlated with (predictive of) the class,

    yet uncorrelated with (not predictive of) each other. 

    特征选择的三种方法:

    1)单一变量选择法:假设特征变量与响应变量y是线性关系。 看每个特征变量与响应变量y的相关程度。

    2)随机森林法: 假设特征变量与响应变量y是非线性关系。 根据特征的重要性排序, 来选择特征。

    3)RFE( recursive feature elimination):递归特征消除。

    利用pipeline + gridSearchCv 实现 对 特征选择+ 分类器的参数优化选择。  

    Because RandomizedLogisticRegression is used for feature selection, it would need to be cross validated as part of a pipeline. You can apply GridSearchCV to a Pipeline which contains it as a feature selection step along with your classifier of choice. An example might look like:

    pipeline = Pipeline([
      ('fs', RandomizedLogisticRegression()),
      ('clf', LogisticRegression())
    ])
    
    params = {'fs__C':[0.1, 1, 10]}
    
    grid_search = GridSearchCV(pipeline, params)
    grid_search.fit(X_train,y_train)

    参考文献: 

    http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

    使用Boruta前 ,需要对缺失值进行填充。 

    https://www.analyticsvidhya.com/blog/2016/03/select-important-variables-boruta-package/

    Variable selection is an important aspect of model building which every analyst must learn. After all, it helps in building predictive models free from correlated variables, biases and unwanted noise.

    A lot of novice analysts assume that keeping all (or more) variables will result in the best model as you are not losing any information. Sadly, that is not true!

    How many times has it happened that removing a variable from model has increased your model accuracy ?

    At least, it has happened to me. Such variables are often found to be correlated and hinder achieving higher model accuracy. Today, we’ll learn one of the ways of how to get rid of such variables in R. I must say, R has an incredible CRAN repository. Out of all packages, one such available package for variable selection is Boruta Package.

  • 相关阅读:
    mysql通过一张表更新另一张表
    申请微信支付填错对公账号的解决办法
    radio 实现点击两次 第一次点击选中第二次点击取消
    C#修改下拉框选项的高度
    Centos7 用yum命令安装LAMP环境(php+Apache+Mysql)以及php扩展
    php备份数据库
    windows环境下 composer 的安装与使用
    PHP获取多维数据的交集与差集
    JS 图片懒加载
    搭建 window + nginx + php 开发环境
  • 原文地址:https://www.cnblogs.com/xinping-study/p/7007507.html
Copyright © 2011-2022 走看看