当前位置: 首页 > news >正文

Python机器学习实战-特征重要性分析方法(3):迭代删除法:Leave-one-out(附源码和实现效果)

实现功能

迭代地每次删除一个特征并评估准确性

实现代码

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
import numpy as np# Load sample data
X, y = load_breast_cancer(return_X_y=True)# Split data into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)# Train a random forest model
rf = RandomForestClassifier(n_estimators=100, random_state=1)
rf.fit(X_train, y_train)# Get baseline accuracy on test data
base_acc = accuracy_score(y_test, rf.predict(X_test))# Initialize empty list to store importances
importances = []# Iterate over all columns and remove one at a time
for i in range(X_train.shape[1]):X_temp = np.delete(X_train, i, axis=1)rf.fit(X_temp, y_train)acc = accuracy_score(y_test, rf.predict(np.delete(X_test, i, axis=1)))importances.append(base_acc - acc)# Plot importance scores
plt.style.use('ggplot')
plt.figure(figsize=(10, 8))
plt.bar(range(len(importances)), importances)
plt.xlabel('Feature Index')
plt.ylabel('Feature Importance')
plt.show()

实现效果

本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据挖掘相关科研工作,对数据挖掘有一定认知和理解,会结合自身科研实践经历不定期分享关于python机器学习、深度学习、数据挖掘基础知识与案例。

致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

邀请三个朋友关注V订阅号:数据杂坛,即可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。

http://www.lryc.cn/news/175006.html

相关文章:

  • Go的error接口
  • RabbitMQ 集群 - 普通集群、镜像集群、仲裁队列
  • 高项新版教程(第四版)解读+学习指导
  • 【Debian】Debian10.0.0安装选项问答
  • 【基于React-Native做位置信息获取,并展示出来】
  • ansible安装、点对点Ad-Hoc、模块、剧本Playbook
  • Ceph入门到精通-ceph pool 删除导致 misplaced 的原因
  • 计算机组成原理课程设计
  • 《从菜鸟到大师之路 MySQL 篇》
  • 使用qt完善对话框功能
  • Day 03 python学习笔记
  • 优化类问题概述
  • 第一个 Go 程序“hello,world“ 与 main 函数
  • MySQL缓冲池Buffer Pool
  • springboot实现发送邮箱验证码
  • ESP8266使用记录(三)
  • 基于微信小程序的在线视频课程学习平台设计与实现(源码+lw+部署文档+讲解等)
  • CloudCompare 二次开发(15)——点云添加高斯噪声
  • 一波免费、好用的API接口分享
  • Android App ~ LiveData
  • 全球第4大操作系统(鸿蒙)的软件后缀.hap
  • 算法练习第六十四天
  • 安卓系列机型 框架LSP 安装步骤 支持多机型 LSP框架通用安装步骤【二】
  • 实现一个宽高自适应的正方形
  • shell脚本命令
  • Vue2023 面试归纳及复习(2)
  • idea 本地项目上传到 Git 步骤
  • 【从0学习Solidity】41. WETH
  • 微信小程序的无限瀑布流写法
  • 前有CAP理论,后有BASE理论,分布式系统理论基石