sklearn的SelectKBest特征选择函数的运用

文章通过示例介绍了如何使用sklearn库中的SelectKBest类结合皮尔森相关系数进行特征选择。首先导入必要的库,加载IRIS数据集,然后定义评分函数为计算特征与目标变量的皮尔森相关系数。接着,创建SelectKBest对象并设置选择前3个最佳特征,最后应用fit_transform方法处理数据并获取保留特征的索引、得分和P值。
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from scipy.stats import pearsonr
import numpy as np
import pandas as pd
from IPython.display import display

# 导入IRIS数据集
iris = load_iris()
# 特征矩阵
iris_data = iris.data
print('iris_data:\n', iris_data)
# 目标向量
iris_target = iris.target
print('iris_target:\n', iris_target)
# 特征
feature_names = iris.feature_names
print('feature_names:\n', feature_names)

#class sklearn.feature_selection.SelectKBest(score_func=<function f_classif>, *, k=10)
# 参数:
    # score_func:为计算评估特征是否好的函数(该函数输入特征矩阵和目标向量,输出二元组(评分,P值)的数组,
    #                                   数组第i项为第i个特征的评分和P值,在此定义为计算相关系数)。
    # k:为选择的特征个数,保留前几个最佳特征
#返回选择器selector
'''
score_func参数的内容:
lambda x:pearson(x,Y) :是计算x(每一个特征)与Y(预测结果)的pearson系数。
                    lambda argument_list:expersion :lambda函数是匿名函数
                                                     argument_list是参数列表、expression是一个关于参数的表达式
map(lambda x:pearsonr(x, Y)[0], X.T) :
  
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值