安装minepy-用最大互信息系数法进行特征工程

2024-02-18 04:32

本文主要是介绍安装minepy-用最大互信息系数法进行特征工程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

利用minepy可以方便的利用最大互信息系数法进行特征工程,我在安装时遇到了以下问题,如图所示:
在这里插入图片描述
错误原因因该是我的visual studio安装出了问题,我打开相应位置,发现我没有platformSDK文件夹
在这里插入图片描述
我不想重装VS了,到网上寻找解决办法,发现可以从https://www.lfd.uci.edu/~gohlke/pythonlibs/网站上下载,如下图所示:
在这里插入图片描述
下载后,切换到目录,用以下命令进行安装:

pip install minepy-1.2.4-cp37-cp37m-win_amd64.whl

最后给一个用最大互信息系数进行特征工程的案例代码:

from sklearn.feature_selection import SelectKBest
from minepy import MINE
label = "故障类别"def mic(x, y):m =MINE(alpha=0.6, c=15)m.compute_score(x, y)return (m.mic(), 0.6)
'''
compute_score(x, y)
Computes the maximum normalized mutual information scores between x and y.
计算x和y之间的最大标准化互信息分数。
'''
Y = data_all_copy[label].values
Y=Y[:500]
x = data_all_copy[[x for x in data_all_copy.columns if x != label]].values
x=x[:500]
mean_X = x.mean(axis=0)
std_X = x.std(axis=0)
x=(x-mean_X)/std_X
print(X)
#选择K个最好的特征,返回特征选择后的数据
#print(SelectKBest(lambda X, Y: list(np.array([pearsonr(x, Y) for x in X.T]).T), k=5).fit_transform(x, Y))
X_Threshold=SelectKBest(lambda X, Y: np.array(list(map(lambda x:mic(x, Y), X.T))).T[0], k=10).fit_transform(x, Y)
print(x.shape, X_Threshold.shape)
Selected_feature=[]for i in range(X_Threshold.shape[1]):for j in range(x.shape[1]):if abs(X_Threshold[:,i]-x[:,j]).sum()==0:Selected_feature.append(columnsName[j])
f4=Selected_feature
f4   #将选择的5个特征名称显示出来

这篇关于安装minepy-用最大互信息系数法进行特征工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/720066

相关文章

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更