RandomForestClassifier随机森林补充缺失值(以TItanic数据集为例)_泰坦尼克号数据填补缺失值-程序员宅基地

技术标签: python 学习笔记  

上一篇是分类填补缺失值,用了循环函数。这此呢,我们利用随机森林补充缺失数据。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from  sklearn.ensemble import RandomForestClassifier
df=pd.read_csv('E:\\Users\\Administrator\\Desktop\\pythonNotebook\\train.csv',index_col=0)
data=df[['Survived', 'Pclass', 'Sex', 'Age', 'SibSp', 'Parch','Fare', 'Cabin', 'Embarked']]
#更改分类变量对应的值
data.loc[data['Sex']=='male','Sex']=0
data.loc[data['Sex']=='female','Sex']=1
#同理,更改Embarked对应的值
data.loc[data['Embarked']=='S','Embarked']=0
data.loc[data['Embarked']=='C','Embarked']=1
data.loc[data['Embarked']=='Q','Embarked']=2
te=data[data['Embarked'].notnull()]#非空的embarked对应的行
te_X=te[['Survived','Pclass','Sex','SibSp','Parch','Fare']]#设定输入的X
te_Y=te[['Embarked']]#设定输入的Y
te_X=te_X.astype(float)#转换数据类型,不转换成数值型的,到后面输入模型会报错。
te_Y=te_Y.astype(float)#转换数据类型,不转换成数值型的,到后面输入模型会报错。
tr=data[data['Embarked'].isnull()]
tr_X=tr[['Survived','Pclass','Sex','SibSp','Parch','Fare']].astype(float)
tr_Y=tr['Embarked'].astype(float)
fc=RandomForestClassifier()
fc.fit(te_X,te_Y)
pr=fc.predict(tr_X)

data[data['Embarked'].isnull(),'Embarked']=pr#将预测的缺失值补充到原来的缺失的位置
这里只是简单的举例,利用随机森林(可以是RandomForestClassifier,RandomForestRegressor,这里用的是前者)去补充缺失值。同理也可以对age数据补充,这里就要用到RandomForestRegressor了,相应的前面应该是from sklearn.ensemble import RandomForestRegressor。如果有提示报错的话,还是要看看数据类型的有没有弄错。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lishangyin88/article/details/80188683

智能推荐

大象机器人开源六轴协作机械臂myCobot 320 手机摄影技术!

这些问题标志着我后续研究的重点方向,需要我继续深入学习AVFoundation框架的使用,特别是其控制摄像头的具体方法,并探索如何将这些控制整合到机械臂的运动调整中,以确保最终拍摄出的视频质量符合预期。尽管目前市场上有许多稳定设备如平衡环架(gimbal)来辅助拍摄,以求达到稳定和多角度的拍摄效果,但在此篇文章中,我将探索一种独特的解决方案:通过将手机安装在机械臂的末端来进行拍摄,以实现那些传统方法难以捕捉的特殊视角。随着人工智能技术的不断进步和普及,AI与机器人的结合无疑将成为未来技术发展的重要趋势。

【计算机毕业设计】springboot党员之家服务系统小程序-程序员宅基地

文章浏览阅读342次,点赞6次,收藏8次。党员之家服务系统小程序的功能已基本实现,主要包括首页、个人中心、学生管理、教师管理、任务信息管理、报名信息管理、任务排名管理、学习资料管理、每日打卡管理、交流信息管理、回复信息管理、积极分子管理、党员信息管理、交流论坛、系统管理等。论文主要从系统的分析与设计 、数据库设计和系统的详细设计等几个方面来进行论述,系统分析与设计部分主要论述了系统的功能分析、系统的设计思路,数据库设计主要论述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。

Failed to discover available identity versions when contacting http://controller:35357/v3. 错误解决方式_caused by newconnectionerror('<urllib3.connection.-程序员宅基地

文章浏览阅读8.3k次,点赞5次,收藏12次。作为 admin 用户,请求认证令牌,输入如下命令openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue报错Failed to discover available identity versions whe._caused by newconnectionerror('

学校机房统一批量安装软件的方法来了_教室电脑 一起装软件-程序员宅基地

文章浏览阅读4.5k次。​可以在桌面安装云顷还原系统软件,利用软件中的网络对拷功能部署批量对拷环境,进行电脑教室软件的批量对拷安装与增量对拷安装。​_教室电脑 一起装软件

消息队列(kafka/nsq等)与任务队列(celery/ytask等)到底有什么不同?_任务队列和消息队列-程序员宅基地

文章浏览阅读3.1k次,点赞5次,收藏7次。原文链接:https://www.ikaze.cn/article/43写这篇博文的起因是,我在论坛宣传我开源的新项目YTask(go语言异步任务队列)时,有小伙伴在下面回了一句“为什么不用nsq?”。这使我想起,我在和同事介绍celery时同事说了一句“这不就是kafka吗?”。那么YTask和nsq,celery和kafka?他们之间到底有什么不同呢?下面我结合自己的理解。简单的分析一..._任务队列和消息队列

Java调KT类_java 调用kt 对象-程序员宅基地

文章浏览阅读1.5k次。1,MyUtuils.kt将被调用的文件class MyUtils { fun show(info:String){ println(info) }}fun show(info:String){ println(info)}2,Java文件调用该类,ClientJava.javapublic class ClientJava { public static void main(String[] args) { /** _java 调用kt 对象

随便推点

rsync+inotify实现NFS实时同步数据以及压力测试_centos6.5 rsync ino-程序员宅基地

文章浏览阅读1.2k次。1第一步:搭建NFS服务器关于NFS服务器的搭建请参考http://blog.csdn.net/qq_30256711/article/details/78463940第二步:rsync同步实现关于rsync同步请参考http://blog.csdn.net/qq_30256711/article/details/78539342第三步:inotify结合rsync实现实时同步_centos6.5 rsync ino

第11章 软件工程

2.可重复级:建立了基本的项目管理过程和实践来跟踪项目费用,进度,功能特性。5.优化级:加强了定量分析,通过过程质量反馈,新观念,新技术的反馈。1.初始级:软件过程杂乱无章,没有明确定义的步骤,英雄式核心人物。定量管理(CL4):已定量管理的过程的制度化。已管理(CL2):已管理的过程的制度化。已定义(CL3):已定义的过程的制度化。3.已定义级:过程文档化,标准化。4.已管理级:软件过程和产品质量。定量管理的:已度量和控制。优化的:集中于过程改进。已管理的:为项目服务。已定义的:为组织服务。

论文阅读--Search to Distill

标准的知识蒸馏(KD)方法将笨重的教师模型的知识蒸馏到具有预定义架构的学生模型的参数中。然而,神经网络的知识,即网络在给定输入条件下的输出分布,不仅取决于其参数,还取决于其架构。因此,对于KD的一种更广义的方法是将教师的知识蒸馏到学生的参数和架构中。为了实现这一点,我们提出了一种新的基于架构的知识蒸馏(AKD)方法,该方法找到最适合蒸馏给定教师模型的学生模型(对于教师来说是珍珠)。具体来说,我们利用带有我们的KD引导奖励的神经架构搜索(NAS)来搜索最适合给定教师模型的学生架构。

Docker知识点汇总表格总结

Docker知识比较全面的总结,使用表格总结结合示例,一目了然,运维参考以及面试参考皆可

Matplotlib.pyplot库引入失败?_如何导入 matplotlib.pyplot 导入失败-程序员宅基地

文章浏览阅读174次。用Python的人总少不了与Matplotlib接触,可是我们在引入时Python少不了报错。此时,我们就需要在错误中寻找线索。_如何导入 matplotlib.pyplot 导入失败

uni-app,uni-table表格操作_uniapp table-程序员宅基地

文章浏览阅读8.5k次,点赞2次,收藏11次。使用uni-ui UI框架实现表格加分页功能,uni-table 和uni-pagination 组件的使用示例加完整代码。_uniapp table

推荐文章

热门文章

相关标签