zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    转发 GSLB概要和实现原理
    通过openresty && tengine && nginx 动态添加资源到 html 页面
    Terraform 多云管理工具
    vault key 管理工具
    fabio
    keycloak 了解
    访问交换机的三种方式
    LAN、WAN、WLAN的区别
    浅谈团队贡献分如何分配
    Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
  • 原文地址:https://www.cnblogs.com/U940634/p/9748667.html
Copyright © 2011-2022 走看看