python 用随机森林模型补充数值变量缺失值

2023-10-31

对数据建模之前,填补缺失值是必不可少的一步,这里把用随机森林模型快速预测缺失值的方法总结如下,以方便日后的工作。

# data_df: DataFrame类型的数据
# obj_column:待填补缺失值的列名
# missing_other_column:数据中含义空值的其他列
########## 缺失值处理

def fill_miss_byRandomForest(data_df , obj_column, missing_other_column ):
    ## 先把有缺失的其他列删除掉missing_other_column
    data_df = data_df.drop(missing_other_column , axis = 1)
    # 分成已知该特征和未知该特征两部分
    known = data_df[data_df[obj_column].notnull()]
    unknown = data_df[data_df[obj_column].isnull()]
    # y为结果标签值
    y_know = known[obj_column]
    # X为特征属性值
    X_know= known.drop(obj_column , axis = 1)
    from sklearn.ensemble import RandomForestRegressor
    rfr = RandomForestRegressor(random_state=0, n_estimators=200,max_depth=3,n_jobs=-1)
    rfr.fit(X_know,y_know)
    # 用得到的模型进行未知特征值预测
    # X为特征属性值
    X_unknow= unknown.drop(obj_column , axis = 1)
    predicted = rfr.predict(X_unknow).round(0)
    data_df.loc[(data_df[obj_column].isnull()), obj_column] = predicted
    return data_df
if __name__ == '__main__':
    import pandas as pd
    import numpy as np
    data = pd.read_csv('data/cs-training.csv')
    data.describe()
    data.columns.tolist()
    ### 调用fill_miss_byRandomForest函数,补充MonthlyIncome的缺失值
    data1_MonthlyIncome=fill_miss_byRandomForest(data , 'MonthlyIncome' , 'NumberOfDependents')#用随机森林填补MonthlyIncome 的缺失值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 用随机森林模型补充数值变量缺失值 的相关文章

  • su: must be suid to work properly错误

    内核 linux2 6 21 文件系统 busybox1 19 2 yaffs2 开发板 xff1a loongson 1b 嵌入式文件系统一般用户执行su root切换根用户提示错误 xff1a su must be suid to wo
  • 【libuv】入门:queue work 的跨线程异步通信

    通过阅读2012年的uv book 入门 有中文版 Handles and Requests libuv works by the user expressing interest in particular events This is
  • android rtsp server or clinet work success

    感谢 pedroSG94大神的rtmp rtsp stream client java的库 此为我改造的一个类代码地址 pedroSG94提供了camera xff0c 录屏和opengl渲染的demo类 xff0c 本人改造的类可以向外暴
  • centos7.6输入正确密码总是提示“Sorry, that didn‘t work. Please try again.”

    跟着老韩的视频顺利安装好了VM16和CentOs7 6 但最后卡在登录上了 xff0c 输入正确的用户名和密码后一直提示 Sorry that didn 39 t work Please try again 网上找了很多方法都没有解决 最后
  • C_C++随机数据生成(is how to use but not how it work)

    1 int rand void 库 xff1a stdlib h 功能 xff1a 随机数发生器 xff0c 值在0至RAND MAX之间 xff0c RAND MAX定义在stdlib h 其值为2147483647 解释 xff1a 首
  • sorry,that didn‘t work.please try again 问题的解决

    问题 centos系统图形化界面登录的时候 xff0c 显示sorry xff0c that didnot work xff0c please try again 尝试途径 1 查询到的解决方法 xff0c 是因为大小写的问题 xff0c
  • Mac OSX 打开原生自带读写NTFS功能[10.11.6 work, 10.14.4不work]

    文章目录 一 放开mac的Rootless机制二 查看磁盘的Volume Name三 更改 etc fstab文件四 做快捷方式五 隐藏桌面移动硬盘快捷方式 xff0c 拖入Finder边栏环境 最近买了一个移动硬盘 xff0c 发现在ma
  • 远程解决win10上keyboard和chrome不work的两例问题(by quqi99)

    作者 xff1a 张华 发表于 xff1a 2022 06 10 版权声明 xff1a 可以任意转载 xff0c 转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 远程解决了两例windows问题 xff0c 记录一下 xff
  • 【问题收录】[ubuntu]startx doesn't work

    问题描述 只能进入tty 模式 输入 startx没有任何效果 span class hljs attribute XSERVTransSocketUNIXCreateListener span span class hljs string
  • python 用随机森林模型补充数值变量缺失值

    对数据建模之前 填补缺失值是必不可少的一步 这里把用随机森林模型快速预测缺失值的方法总结如下 以方便日后的工作 data df DataFrame类型的数据 obj column 待填补缺失值的列名 missing other column
  • 如何在 XMind 中绘制流程图?

    进阶教程 如何在 XMind 中绘制流程图 XMind 是专业强大的思维导图软件 由于其结构没有任何限制 很多朋友特别喜欢用它来绘制流程图 禁不住大家的多次询问 今天 GTQ28就将这简单的流程图绘图方法分享给大家 在 XMind 中 绘制
  • Python DataFrame写入OACLE数据库

    分析工具与数据库交互 Python 直接把DataFrame写入OACLE数据库 python 把模型跑出来的结果写入csv txt等文档中 不便于后续的存储和分析 于是乎我想把它直接写入数据库 但是问题来了 百度了很多写法 都是需要把Da
  • 关于工作效率的心得分享

    关于工作效率的心得分享 作者 许诗淇 高级视觉设计师 负责过QQ视觉主设工作 目前主导RTX项目设计 个人站点 这是去年11月底在小组里分享过的工作效率心得 在这里也跟大家分享一下工作 快 感哈哈 我相信大家应该都有过工作效率的些许烦恼 而
  • python 实现信息熵、条件熵、信息增益、基尼系数

    在这里插入代码片注 该代码为慕课网课程中老师讲解 python import pandas as pd import numpy as np import math 计算信息熵 def getEntropy s 找到各个不同取值出现的次数
  • ] 2014找工作总结-机会往往留给有准备的人

    看了这篇文章 感觉到了震撼 如果早看到该有多好 我也是2014年的毕业生 我的找工作历程也基本上告一段落了 与本博文的原作者比起来 自己仿佛到现在也没有真正的为工作而准备 这也是自己没有规划的原因吧 所以在找工作的过程中只收到了一个offe
  • 毕业了

    自己的学生时代快告一段落 即将迎来的是工作时代 对未来充满了好奇 兴奋 希望我保有激情的去面对工作 在写论文的过程中 我也有对自己的论文感兴趣的 比如对Hadoop 但是对于另外一方面没了兴趣 也没有怎么深究 因此 这也是自己的论文的一个遗
  • Python中执行MySQL语句, 遇到同时有单引号, 双引号处理方式 !r, repr()

    SQL语句 insert cmd INSERT INTO 0 SET 1 format db conn firmware info table join 0 1 r format k str v for k v in info dict i
  • 寻找第K大的数的方法总结

    寻找第K大的数的方法总结 今天看算法分析是 看到一个这样的问题 就是在一堆数据中查找到第k个大的值 名称是 设计一组N个数 确定其中第k个最大值 这是一个选择问题 当然 解决这个问题的方法很多 本人在网上搜索了一番 查找到以下的方式 决定很
  • linux 系统下执行R文件

    随着数据量的激增 在linux系统环境下执行数据分析模型显得很重要 本文来总结下在linux系统下执行R文件的步骤 step01 创建R脚本 例如 Rtest R step02 创建shell脚本 例如 runRtest sh 内容为 bi
  • 基于聚类的异常值检测算法依据及python实现

    假设数据集D被聚类算法划分到k个类C C1 C2 CK 对象p 的离群因子of3 p 定义为 与所有类间距的加权平均值 其中 D 为样本数量 Cj 为第j个聚类群体样本数量 d p cj 为样本p与第j个聚类中心的距离 其中cj表示第j个聚

随机推荐