机器学习项目复习

文章目录

  • 一、IterativeImputer
      • 示例:预测房价数据中的缺失值
      • 使用 IterativeImputer`预测缺失值
      • 总结
  • 二、极端随机树特征选择

一、IterativeImputer

为了帮助理解 IterativeImputer 如何使用其他特征来预测有缺失值的特征,下面给出一个具体的例子。

示例:预测房价数据中的缺失值

假设我们有一个房价数据集,其中包含以下几个特征:

  • 房屋面积 (Square footage)
  • 房间数量 (Number of rooms)
  • 建筑年份 (Year built)
  • 房价 (Price)

这个数据集中,房屋面积建筑年份 中存在一些缺失值。

+-------------+-------------+-------------+-------+
| 房屋面积    | 房间数量    | 建筑年份    | 房价  |
+-------------+-------------+-------------+-------+
| 2000        | 3           | 1990        | 300   |
| 1500        | 2           | 1985        | 250   |
| NaN         | 4           | 2000        | 450   |
| 2500        | 4           | NaN         | 500   |
| 1800        | 3           | 1995        | 320   |
| NaN         | 2           | 1980        | 220   |
+-------------+-------------+-------------+-------+

在这个例子中,我们看到:

  • 第三行的 房屋面积 是缺失值。
  • 第四行的 建筑年份 是缺失值。
  • 第六行的 房屋面积 是缺失值。

使用 IterativeImputer`预测缺失值

  1. 初始化缺失值
    首先,对于有缺失值的特征,IterativeImputer 会用简单的方式初始化这些缺失值。比如,用列的均值来填充初始值。

    假设 房屋面积 列的均值是 1950,那么我们会得到:

    +-------------+-------------+-------------+-------+
    | 房屋面积    | 房间数量    | 建筑年份    | 房价  |
    +-------------+-------------+-------------+-------+
    | 2000        | 3           | 1990        | 300   |
    | 1500        | 2           | 1985        | 250   |
    | 1950        | 4           | 2000        | 450   |
    | 2500        | 4           | 1988 (均值)| 500   |
    | 1800        | 3           | 1995        | 320   |
    | 1950        | 2           | 1980        | 220   |
    +-------------+-------------+-------------+-------+
    
  2. 迭代预测

    • 预测 房屋面积
      使用完整的特征 房间数量建筑年份房价 来预测 房屋面积。这可以通过回归模型(例如线性回归)来完成。

      比如,对于第三行:

      • 使用 房间数量 = 4建筑年份 = 2000房价 = 450 作为输入,模型预测的 房屋面积 可能是 2100。
      • 更新后为:
      +-------------+-------------+-------------+-------+
      | 房屋面积    | 房间数量    | 建筑年份    | 房价  |
      +-------------+-------------+-------------+-------+
      | 2000        | 3           | 1990        | 300   |
      | 1500        | 2           | 1985        | 250   |
      | 2100 (预测) | 4           | 2000        | 450   |
      | 2500        | 4           | 1988 (均值)| 500   |
      | 1800        | 3           | 1995        | 320   |
      | 1950        | 2           | 1980        | 220   |
      +-------------+-------------+-------------+-------+
      
    • 预测 建筑年份
      使用完整的特征 房屋面积房间数量房价 来预测 建筑年份。对于第四行:

      • 使用 房屋面积 = 2500房间数量 = 4房价 = 500 作为输入,模型预测的 建筑年份 可能是 1998。
      • 更新后为:
      +-------------+-------------+-------------+-------+
      | 房屋面积    | 房间数量    | 建筑年份    | 房价  |
      +-------------+-------------+-------------+-------+
      | 2000        | 3           | 1990        | 300   |
      | 1500        | 2           | 1985        | 250   |
      | 2100        | 4           | 2000        | 450   |
      | 2500        | 4           | 1998 (预测)| 500   |
      | 1800        | 3           | 1995        | 320   |
      | 1950        | 2           | 1980        | 220   |
      +-------------+-------------+-------------+-------+
      
  3. 重复步骤 2
    继续迭代,使用最新的预测值作为输入,重复上述步骤,直到模型收敛或者达到最大迭代次数。

  4. 最终结果
    最终,我们将得到一个没有缺失值的填补数据集。

    +-------------+-------------+-------------+-------+
    | 房屋面积    | 房间数量    | 建筑年份    | 房价  |
    +-------------+-------------+-------------+-------+
    | 2000        | 3           | 1990        | 300   |
    | 1500        | 2           | 1985        | 250   |
    | 2100        | 4           | 2000        | 450   |
    | 2500        | 4           | 1998        | 500   |
    | 1800        | 3           | 1995        | 320   |
    | 1950        | 2           | 1980        | 220   |
    +-------------+-------------+-------------+-------+
    

总结

IterativeImputer 通过不断迭代,使用完整的特征预测缺失的特征,逐步提高填补值的准确性。这种方法尤其适用于特征之间有较强相关性的场景,使得填补后的数据能够保留更多的原始结构信息。

二、极端随机树特征选择

随机选择特征通过在每个节点随机选择不同的特征来确保模型不会过度依赖某些特征,从而增加了决策树的多样性和抗噪声能力。

随机选择分裂点则在进一步细化选择特征后的分裂策略,确保即使同一个特征被选择,不同的树也可能根据不同的分裂点做出不同的决策,从而进一步增加模型的多样性。

特征重要性得分的计算方法
特征重要性得分衡量了每个特征在决策树中作为分裂点时对模型整体性能提升的重要性。在极端随机树中,特征重要性得分通常基于以下方法计算:

基于节点分裂的特征重要性

  1. 信息增益或Gini impurity的减少:
  • 在决策树中,每次分裂节点时会计算这个节点的某个度量值(如 Gini impurity 或 信息增益)的减少量。这个减少量越大,意味着该特征在此节点上的分裂对分类结果的贡献越大。
  • 在极端随机树中,尽管分裂点是随机选择的,仍然可以计算每次分裂所带来的 Gini impurity 的减少量。对于每个特征,计算其在所有树中作为分裂点时的减少量的总和。
  1. 特征的重要性得分:
  • 对于每棵树来说,特征重要性是通过累计该特征在树中所有分裂节点的 Gini impurity 减少量得到的。所有树中的特征重要性得分再取平均,得到最终的特征重要性。
  • 特征重要性得分越高,表明该特征对模型预测的贡献越大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145427.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

《JKTECH柔性振动盘:原理与多行业应用》东莞市江坤自动化科技有限公司

一、柔性振动盘的原理 柔性振动盘是一种新型的自动化上料设备,它采用先进的音圈电机技术和柔性振动技术,实现了对各种不规则形状、微小尺寸、易损伤零部件的高效上料和分拣。 其工作原理主要包括以下几个方面: 1. 音圈电机驱动 柔性振动盘内部…

分布式系统的概念与设计模式

概念 定义:分布式系统是指将数据和计算任务分散到多个独立的计算机上,这些计算机通过网络进行通信和协作,共同对外提供服务。分布式系统不仅提高了系统的可靠性和可扩展性,还增强了系统的并发处理能力和数据管理能力。 特点&…

运维开发之堡垒机(Fortress Machine for Operation and Development)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

mysql通过binlog做数据恢复

1 介绍 binlog(二进制日志)在 MySQL 中具有非常重要的作用。它记录了数据库的所有更改操作,主要用于数据恢复、复制和审计等方面。以下是 binlog 的主要作用: 1.数据恢复 binlog 可以用于恢复数据库中的数据。当数据库发生故障时…

分布式框架 - ZooKeeper

一、什么是微服务架构 1、单体架构 顾名思义一个软件系统只部署在一台服务器上。 ​ 在高并发场景中,比如电商项目,单台服务器往往难以支撑短时间内的大量请求,聪明的架构师想出了一个办法提高并发量:一台服务器不够就加一台&am…

微信小程序拨打电话点取消报错“errMsg“:“makePhoneCall:fail cancel“

问题:微信小程序中拨打电话点取消,控制台报错"errMsg":"makePhoneCall:fail cancel" 解决方法:在后面加上catch就可以解决这个报错 wx.makePhoneCall({phoneNumber: 181********}).catch((e) > {console.log(e) //用…

数据安全治理

数据安全治理 1.数据安全治理2.终端数据安全加密类权限控制类终端DLP类桌面虚拟化安全桌面 3.网络数据安全4.存储数据安全5.应用数据安全6.其他话题数据脱敏水印与溯源 7.UEBA8.CASB 1.数据安全治理 数据安全治理最为重要的是进行数据安全策略和流程制订。在企业或行业内经常发…

前端实用工具(二):编程规范化解决方案

目录 本地代码规范化工具 代码检测工具ESLint 代码格式化工具Prettier 远程代码规范化工具 远程提交规范化工具commitizen 提交规范检验工具commitlint husky 什么是git hooks commitlint安装 husky安装 检测代码提交规范 ESLint husky 自动修复格式错误lint-staged…

使用 Puppeteer-Cluster 和代理进行高效网络抓取: 完全指南

文章目录 一、介绍?二、什么是 Puppeteer-Cluster?三、为什么代理在网络抓取中很重要?四、 为什么使用带代理的 Puppeteer-Cluster?五、分步指南: 带代理的 Puppeteer 群集5.1. 步骤 1:安装所需程序库5.2. …

基于 ROS 的Terraform托管服务轻松部署ChatGLM2-6B

介绍 ChatGLM2-6B是开源中英双语对话模型ChatGLM-6B的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础上,ChatGLM2-6B具有更强大的性能、更长的上下文、更高效的推理等特性。 资源编排服务(Resource Orchestration…

C++入门 之 类和对象(下)

目录 一、初始化列表 二、隐式类型转换与explict 三、静态成员——static 四、友元 五、内部类 六、匿名对象 七.对象拷贝时的编译器优化 一、初始化列表 之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式&…

闯关leetcode——66. Plus One

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/plus-one/description/ 内容 You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from mo…

pdf文件怎么直接翻译?使用这些工具让翻译变得简单

在全球化日益加深的职场环境中,处理外语PDF文件成为了许多职场人士面临的共同挑战。 面对这些“加密”的信息宝库,如何高效、准确地将英文pdf翻译成对应语言,成为了提升工作效率的关键。 以下是几款在PDF翻译领域表现出色的软件&#xff0c…

基于 UniApp 平台的学生闲置物品售卖小程序设计与实现

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

寄存器二分频电路

verilog代码 module div2_clk ( input clk, input rst,output clk_div);reg clk_div_r; assign clk_div clk_div_r;always(posedge clk) beginif(rst)beginclk_div_r < 1b0;endelsebeginclk_di…

pytorch实现RNN网络

目录 1.导包 2. 加载本地文本数据 3.构建循环神经网络层 4.初始化隐藏状态state 5.创建随机的数据&#xff0c;检测一下代码是否能正常运行 6. 构建一个完整的循环神经网络 7.模型训练 8.个人知识点理解 1.导包 import torch from torch import nn from torch.nn imp…

API安全推荐厂商瑞数信息入选IDC《中国数据安全技术发展路线图》

近日&#xff0c;全球领先的IT研究与咨询公司IDC发布报告《IDC TechScape&#xff1a;中国数据安全技术发展路线图&#xff0c;2024》。瑞数信息凭借其卓越的技术实力和广泛的行业应用&#xff0c;被IDC评选为“增量型”技术曲线API安全的推荐厂商。 IDC指出&#xff0c;数据安…

Liveweb视频汇聚平台支持GB28181转RTMP、HLS、RTSP、FLV格式播放方案

GB28181协议凭借其在安防流媒体行业独有的大统一地位&#xff0c;目前已经在各种安防项目上使用。雪亮工程、幼儿园监控、智慧工地、物流监控等等项目上目前都需要接入安防摄像头或平台进行直播、回放。而GB28181协议作为国家推荐标准&#xff0c;目前基本所有厂家的安防摄像头…

Netty源码解析-请求处理与多路复用

Netty基本介绍&#xff0c;参考 Netty与网络编程 摘要 Netty源码系列-NioEventLoop 1.1 Netty给Channel分配Nio Event Loop的规则 看下图&#xff0c;EventLoopGroup是线程组&#xff0c;每个EventLoop是一个线程&#xff0c;那么线程处理请求是怎么分配的呢&#xff1f;我…

Docker 以外置数据库方式部署禅道

2.安装步骤 2.1.参考资料 禅道官网文档: https://www.zentao.net/book/zentaopms/docker-1111.html https://www.zentao.net/book/zentaopms/405.html 2.2.详细步骤 ssh 登录服务器创建目录 /opt/zentao /opt/zentao/data /opt/zentao/db cd /opt mkdir zentao mkdir zentao…