• Python数据挖掘—特征工程—特征选择


    如何选择特征

    根据是否发散及是否相关来选择

    方差选择法

    先计算各个特征的方差,根据阈值,选择方差大于阈值的特征

    方差过滤使用到的是VarianceThreshold类,该类有个参数threshold,该值为最小方差的阈值,然后使用fit_transform进行特征值过滤

    相关系数法

    先计算各个特征对目标值的相关系数,选择更加相关的特征

    递归特征消除法

    使用一个基模型来进行多轮训练,经过多轮训练后,保留指定的特征数

    通过estimator将基模型设置为线性模型(可以设置为其他类型),通过n_features_to_select=2将要选择的特征数设置为2

     1 import pandas
     2 from sklearn.feature_selection import RFE
     3 from sklearn.linear_model import LinearRegression
     4 
     5 data=pandas.read_csv("C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\6.2\data2.csv")
     6 
     7 feature=data[["月份","季度","广告费用","客流量"]]
     8 rfe=RFE(
     9     estimator=LinearRegression(),   #通过estimator将基模型设置为线性模型
    10     n_features_to_select=2)   #要选择的特征数设置为2
    View Code

    将自变量和因变量通过fit_transfrom传入,并通过get_support()知道所用的哪两列的名字,得到对应列名

    1 sFeature=rfe.fit_transform(
    2     feature,
    3     data["销售额"])
    4 
    5 rfe.get_support()  #要知道这两列的名字
    View Code

    模型选择法

    它是一种吧我们建好的模型对象传入选择器,然后它会根据这个已经建好的模型,自动帮我们选择最好的特征值。

    首先导入数据,给出全部特征值,然后建立模型,作为参数传入SelctFromModel(),在通过fit_transfrom对特征值和因变量进行过滤,选出最优的特征,最后通过get_support()得到对应的列名。

     1 import pandas
     2 from sklearn.linear_model import LinearRegression
     3 from sklearn.feature_selection import SelectFromModel
     4 
     5 data=pandas.read_csv("C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\6.2\data2.csv")
     6 
     7 feature=data[["月份","季度","广告费用","客流量"]]
     8 
     9 lrModel=LinearRegression()
    10 
    11 selectFromModel=SelectFromModel(lrModel)
    12 
    13 selectFromModel.fit_transform(
    14         feature,
    15         data["销售额"])
    16 
    17 feature.columns[selectFromModel.get_support()]
    View Code
  • 相关阅读:
    RESTClient使用
    web.xml 的加载过程
    I18N、L10N、G11N
    Oracle游标示例
    MyEclipse转换Eclipse项目无法启动问题(转)
    eclipse默认文件编码
    JAVA为什么要配置环境变量,怎样配置
    TODO Auto-generated method stub
    vc6开发ActiveX并发布全攻略(三)(转)
    高效使用hibernate-validator校验框架
  • 原文地址:https://www.cnblogs.com/U940634/p/9748667.html
Copyright © 2020-2023  润新知