机器学习常用数据清洗方法
最近做机器学习的项目,汇总一下用得比较多的数据清洗方法,主要有:重新命名列名、去除空值、去除0值(或负值)、过采样、下采样
1.重新命名列名
平时读数据的时候,原始数据总是有各种乱七八糟的命名,可以通过命名便于理解
第一种方法:直接按顺序修改,替换掉原始的columns
df=pd.read_csv(r'E:\00learning\01Python\机器学习\04SVR\train_data.csv')
df.columns=['I','F']#重新命名列名
第二种方法:
使用.rename()函数
df.rename(columns={'我是原始名字':'我是新名字'})
2.去除空值
数据集中,一般情况下,一个样本的特征值都是一 一对应的,那么删掉含有空值的数据,直接就要删掉整行了,也就是删掉了这个样本的数据。
使用.dropna()函数:
axis=0代表删除含有空值的行
axis=1代表删除含有空值的列
how='any’代表只要有空值就删掉
上代码:
df.dropna(axis=0,how='any')
3.去除0值
这里直接使用判断语句,其实可以直接去掉负值、0值,或者自选一个范围都可以
上代码:
df=df[df['I']>5]
df=df[df['F']>5]
4.过采样
当数据集中样本比例不均衡时可以使用过采样的方法,常用SMOTE算法来进行过采样,使用方法:
(1)原始数据如下:
可以看出原始数据分布不均
import numpy as np
import pandas as pd
from collections import Counter
data=pd.read_csv(r'E:\00learning\01Python\机器学习\比赛\信用卡盗刷风险\creditcard.csv')
data=np.array(data)
labels=data[:,-1]
print(Counter(labels))out: Counter({0.0: 284315, 1.0: 492})#数据类别分布不均
(2)使用SMOTE算法过采样:
from imblearn.over_sampling import SMOTE
smo=SMOTE(random_state=0)
features_smo,labels_smo=smo.fit_resample(features,labels)
print(Counter(labels_smo))out: Counter({0.0: 284315, 1.0: 284315})
过采样以后正反例数量相同
(3)过采样比例设置
有时候我们不希望比例是完整的1:1,那么可以手动设定过采样的比例:
num_0=list(labels).count(0)#获取标签为0的个数
smo=SMOTE(sampling_strategy=0.5,random_state=0)
features_smo,labels_smo=smo.fit_resample(features,labels)
print(Counter(labels_smo))out:Counter({0.0: 284315, 1.0: 142157})
机器学习常用数据清洗方法相关推荐
- python去重复的数据_python - 常用数据清洗方法-重复项处理
在数据的处理过程中,一般都需要进行数据清洗工作,如数据集是否存在重复,是否存在缺失,数据是否具有完整性和一致性,数据中是否存在异常值等.发现诸如此类的问题都需要针对性地处理,下面我们一起学习常用的数据 ...
- 常用数据清洗方法大盘点
本文来自网易云社区 数据清洗是将重复.多余的数据筛选清除,将缺失的数据补充完整,将错误的数据纠正或者删除,最后整理成为我们可以进一步加工.使用的数据. 所谓的数据清洗,也就是ETL处理,包含抽取Ext ...
- 非平衡数据集的机器学习常用处理方法
定义:不平衡数据集:在分类等问题中,正负样本,或者各个类别的样本数目不一致. 例子:在人脸检测中,比如训练库有10万张人脸图像,其中9万没有包含人脸,1万包含人脸,这个数据集就是典型的不平衡数据集. ...
- 使用python进行数据清洗常用的库_python3常用的数据清洗方法(小结)
首先载入各种包: import pandas as pd import numpy as np from collections import Counter from sklearn import ...
- 光滑噪声数据常用的方法_数据挖掘中常用的数据清洗方法
是新朋友吗?记得先点蓝字关注我哦- 数据挖掘中 常用的数据清洗方法 在数据挖掘过程中,数据清洗主要根据探索性分析后得到的一些结论入手,然后主要对四类异常数据进行处理,分别是缺失值(missing va ...
- 机器学习之常用优化方法(GD、牛顿、拟牛顿、拉格朗日乘子)
写在前面,本文只记录了个人认为的关键点,仅供参考.更多细节请参考链接中文章 参考1:机器学习之常用优化方法 参考2:拉格朗日乘数法 梯度下降法 梯度下降法是最早最简单,也是最为常用的最优化方法.梯度下 ...
- 机器学习常用的六种分类方法,Python代码详细都在这里!
机器学习常用的六种分类方法,Python代码详细都在这里! 六种常用分类方法包括两种线性分类及四种非线性分类法,分别是: 一.线性判别分析 from sklearn.model_selection i ...
- Python常用的数据清洗方法
Python常用的数据清洗方法 在数据处理的过程中,一般都需要进行数据的清洗工作,如数据集是否存在重复.是否存在缺失.数据是否具有完整性和一致性.数据中是否存在异常值等.当发现数据中存在如上可能的问题 ...
- 机器学习常用特征筛选方法
文章目录 背景题目 特征筛选 Filter过滤法 方差过滤 相关性过滤 卡方过滤 F检验 互信息 灰色关联度分析(GRA) Wrapper包装法 Embedded嵌入法 使用SelectFromMod ...
最新文章
- c++ 绘制函数图像_【图像增强】CLAHE 限制对比度自适应直方图均衡化
- 用python写脚本看什么书-你用 Python 写过哪些有趣的脚本?
- mysql 分库分表 ~ 柔性事务
- 使用Spock Mocks进行Grails 3.3集成测试
- CSAPP--整数的表示
- 利用Markdown编写数学公式
- Jquery+asp.net实现Ajax方式文件下载实例代码
- linux文件句柄数
- 转iPhone开发的门槛
- OpenCV学习笔记】二十七、轮廓特征属性及应用(四)——正外接矩形
- paip.c#.net自定义图像窗体form
- Python爬虫——爬取豆瓣VIP书籍信息并存入数据库
- PLC实验 S7-300超详细硬件组态实验过程
- docker安装redis镜像步骤
- /usr/bin/ld: cannot find -lxxx 问题总结
- 黑五节日营销,Facebook广告投放指南
- IE浏览器中img标签不显示图片
- EasyPR--一个开源的中文车牌识别系统
- moviepy中视频时长修改
- 准确率超99.5%!滴滴开源防疫口罩识别技术,及视觉比赛进展
热门文章
- dsgnintf.dcu 找不到的解决方案(原)
- 资深程序员建议放弃 JSP 吧,否则你可能“无路可走”!
- 【学习笔记】Ubuntu上复现P4SC
- python 导入上级/隔壁目录包的方法
- 1129 mysql_MYSQL 连接 error 1129
- 反向造IP的泡泡玛特,离中国的迪士尼还有多远?
- Ubuntu20.04出现段错误核心已转储问题解决方案
- Domino Web应用早就想到了环保
- BZOJ 4184 shallot
- python wpa_wpa_passphrase