Python数据挖掘—特征工程—特征选择
2021-05-16 15:29
标签:line 大于 top 指定 除法 splay 递归 read 导入 根据是否发散及是否相关来选择 先计算各个特征的方差,根据阈值,选择方差大于阈值的特征 方差过滤使用到的是VarianceThreshold类,该类有个参数threshold,该值为最小方差的阈值,然后使用fit_transform进行特征值过滤 先计算各个特征对目标值的相关系数,选择更加相关的特征 使用一个基模型来进行多轮训练,经过多轮训练后,保留指定的特征数 通过estimator将基模型设置为线性模型(可以设置为其他类型),通过n_features_to_select=2将要选择的特征数设置为2 将自变量和因变量通过fit_transfrom传入,并通过get_support()知道所用的哪两列的名字,得到对应列名 它是一种吧我们建好的模型对象传入选择器,然后它会根据这个已经建好的模型,自动帮我们选择最好的特征值。 首先导入数据,给出全部特征值,然后建立模型,作为参数传入SelctFromModel(),在通过fit_transfrom对特征值和因变量进行过滤,选出最优的特征,最后通过get_support()得到对应的列名。 Python数据挖掘—特征工程—特征选择 标签:line 大于 top 指定 除法 splay 递归 read 导入 原文地址:https://www.cnblogs.com/U940634/p/9748667.html如何选择特征
方差选择法
相关系数法
递归特征消除法
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
1 sFeature=rfe.fit_transform(
2 feature,
3 data["销售额"])
4
5 rfe.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()]