sklearn 缺失值填补(总结)
首先查看数据形态:
data.shape
再查看数据类型和非空值的个数与比例
data.info()
使用SimpleImputer进行填补
from sklearn.impute import SimpleImputer as si
imp_mean=si()
默认是用均值进行填补,参数如下:
- missing_values: 空值的类型。默认np.nan
注意,numpy自带的fillna只能填补np.nan,而此处则可以指定空值的类型。比如
?或N/A
- strategy: 可选:mean, median, most_frequent, constant
- fill_value: 以什么值进行填补,当constant时可用。
- copy:是否创建副本
当数据是连续型,一般用均值填补。数据是分类型,用众数填补。
比如当空值是?时,使用0填充:
imp_0=si(missing_values="?",strategy='constant', fill_value=0)
imp_0=imp_0.fit_transform(data_)
注意此处,data是如果是0维,则要先变为一维:
data_=data.列名.values.reshape(-1.1)
除了用均值,0,众数,中位数。还可用:算法、多重差补等。但是如用随机森林进行填补,解释性比较差。
sklearn 缺失值填补(总结)的更多相关文章
- 机器学习实战基础(三十八):随机森林 (五)RandomForestRegressor 之 用随机森林回归填补缺失值
简介 我们从现实中收集的数据,几乎不可能是完美无缺的,往往都会有一些缺失值.面对缺失值,很多人选择的方式是直接将含有缺失值的样本删除,这是一种有效的方法,但是有时候填补缺失值会比直接丢弃样本效果更好, ...
- 基于sklearn的分类器实战
已迁移到我新博客,阅读体验更佳基于sklearn的分类器实战 完整代码实现见github:click me 一.实验说明 1.1 任务描述 1.2 数据说明 一共有十个数据集,数据集中的数据属性有全部 ...
- sklearn中的数据预处理和特征工程
小伙伴们大家好~o( ̄▽ ̄)ブ,沉寂了这么久我又出来啦,这次先不翻译优质的文章了,这次我们回到Python中的机器学习,看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下我的开发环境是 ...
- 数据的特征预处理?(归一化)&(标准化)&(缺失值)
特征处理是什么: 通过特定的统计方法(数学方法)将数据转化成为算法要求的数据 sklearn特征处理API: sklearn.preprocessing 代码示例: 文末! 归一化: 公式: ...
- 6-Pandas之缺失值处理
一.了解缺失值 通常使用 NA('not available')来代指缺失值 在Pandas的数据结构中,缺失值使用 NaN('Not a Number')进行标识 除了汇总统计方法,还可以使用isn ...
- 如何做出一个更好的Machine Learning预测模型【转载】
作者:文兄链接:https://zhuanlan.zhihu.com/p/25013834来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 初衷 这篇文章主要从工程角度来 ...
- python数据分析所需要了解的操作。
import pandas as pd data_forest_fires = pd.read_csv("data/forestfires.csv", encoding='gbk' ...
- python库使用整理
1. 环境搭建 l Python安装包:www.python.org l Microsoft Visual C++ Compiler for Python l pip(get-pip.py):p ...
- 机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster
下面一文章就总结几点关键: 1.要学会观察,尤其是输入数据的特征提取时,看各输入数据和输出的关系,用绘图看! 2.训练后,看测试数据和训练数据误差,确定是否过拟合还是欠拟合: 3.欠拟合的话,说明模 ...
随机推荐
- Swift 结构体struct
//结构体是一个值类型 struct location{ //属性 var x:Double var y:Double //方法 func test() { print("结构体中的test ...
- (21)Laplance
这个算法还是用来进行边缘检测的 =============================== #include <opencv2/opencv.hpp> #include <ios ...
- Codeforces Round #585 (Div. 2) CF1215A~C
CF1215A. Yellow Cards简单的模拟,给定了黄票张数,判断最少和最多有多少人被罚下场. #include <bits/stdc++.h> using namespace s ...
- hdu 1160 上升序列 dp
FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Linux_Program 前台后台 切换 查看 kill 实用 mark
有时当我们在linux 上 输入 yum repolist 或 curl www.XXX. 时程序由已 :Intel或system 原因 按下 ctrl+z .在Linux终端运行命令的 ...
- mac安装和启动mongodb
使用使用 brew安装mongodb 可以使用 OSX 的 brew 来安装 mongodb: sudo brew install mongodb 如果要安装支持 TLS/SSL 命令如下: sudo ...
- Ubantu学习笔记1
重启后按e键进行编辑,在文档倒数第二行r0处修改为rw init=/bin/bash 然后F10操作,输入passwd zichua =>修改此用户名的密码,重新输入两次密码(这里密码是看不到的 ...
- leetcode股票问题方法收集 转载自微信公众号labuladong
一.穷举框架首先,还是一样的思路:如何穷举?这里的穷举思路和上篇文章递归的思想不太一样. 递归其实是符合我们思考的逻辑的,一步步推进,遇到无法解决的就丢给递归,一不小心就做出来了,可读性还很好.缺点就 ...
- JS - 解决引入 js 文件无效的问题
增加 type 即可 <script type="text/javascript" src="....js"></script>
- Discuz中常用的编辑器代码
.[ b]文字:在文字的位置可以任意加入您需要的字符,显示为粗体效果. .[ i]文字:在文字的位置可以任意加入您需要的字符,显示为斜体效果. .[ u]文字:在文字的位置可以任意加入您需要的字符,显 ...