python 特征选择方法_【来点干货】机器学习中常用的特征选择方法及非常详细的Python实例...

花费了很长时间整理编辑,转载请联系作者授权,违者必究。

特征选择(Feature selection)是在构建预测模型的过程中减少输入变量的一个过程。它是机器学习中非常重要的一步并在很大程度上可以提高模型预测精度。这里我总结了一些机器学习中常见的比较有用的特征选择方法并附上相关python实现code。希望可以给大家一些启发。

首先,我们为什么要进行特征选择呢?它有以下几个优点:减少过拟合:冗余数据常常会给模型训练产生噪声,去掉这些噪声更有利于进行决策。

提高准确性:减少误导性数据意味着提高了建模准确性。

减少训练时间:更少的数据点降低了算法复杂度,并使训练速度更快。

减低模型复杂性:降低了模型的复杂性,并使其更易于解释。

Topic 1:变量排名(Variable Ranking)

变量排名是通过某些评分函数的值对要素进行排序的过程,通常会测量要素相关性。通常我们可以通过常见的统计检验来选择与输出变量关系最密切的那些特征。scikit-learn中的SelectKBest就是根据不同的统计测试选取k个分数最高的变量。

整个程序都是以sklearn自带的波士顿房价数据为例,进行变量选择。通过load_boston(),我们可以调取所需数据。下面的程序是对训练数据的提取。

import pandas as pd

#load sklearn built-in Boston dataset

from sklearn.datasets import load_boston

#Loading the dataset

x = load_boston()

data = pd.DataFrame(x.data, columns = x.feature_names)

data["MEDV"] = x.target

X = data.drop("MEDV",1) #Remove Target Variable to Get Feature Matrix

y = data["MEDV"] #Target Variable

data.head()数据样本

以下通过线性回归的F值来对各输入变量进行排序,并选出前五个预测效果最好的变量。我们可以看出,LSTAT分数最高,预测能力最好:

from sklearn.feature_selection import SelectKBest

from sklearn.feature_selection import f_regression

#apply SelectKBest class to extract top 5 best features

bes

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值