特征工程 特征选择 reliefF算法

本文介绍了特征工程中的ReliefF算法,重点在于其在特征选择中的应用。作者在整理特征选择内容时发现sklearn库中未直接提供ReliefF实现,通过GitHub找到了第三方实现,并指出代码中存在的一处小问题。文章还展示了使用sklearn的RFE(递归特征消除)方法作为对比,并提到在测试过程中遇到的困惑,即fit后的feature_scores全部为常数。
摘要由CSDN通过智能技术生成

特征工程 特征选择 reliefF算法

背景

由于最近在整理一些特征工程的内容,当整理到特征选择算法的时候有reliefF算法,感觉算法挺常见的,应该在sklearn上能找到,但是找了下API,没找到,可能是太简单了?或者是名字不对?总之,有事不懂就先github,上面有人写了reliefF算法的一个实现,个人感觉实现是没问题的,使用的评价标准应该是KNN

运行效果

github原文连接
但是源代码在最后一行有问题,transform方法只返回一个特征,应该是需要全返回的

return X[:, self.top_features[self.n_features_to_keep]]

应该是

return X[:, :self.top_features[self.n_features_to_keep]]

使用sklearn上关于RFE特征选择的方法的运行示例测试:

  1. 导入环境
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import sklearn
import pandas as pd
import os
import sys
import time

print("-------运行环境如下-------")
print(sys.version_info)
for module in mpl, np, pd, sklearn:
    print(module.__name__, module.__version__)

-------运行环境如下-------
sys.version_info(major=3, minor=7, micro=7, releaselevel=‘final’, serial=0)
matplotlib 3.3.1
numpy 1.19.1
pandas 1.1.1
sklearn 0.23.2

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值