最近做机器学习的项目,汇总一下用得比较多的数据清洗方法,主要有:重新命名列名、去除空值、去除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})

机器学习常用数据清洗方法相关推荐

  1. python去重复的数据_python - 常用数据清洗方法-重复项处理

    在数据的处理过程中,一般都需要进行数据清洗工作,如数据集是否存在重复,是否存在缺失,数据是否具有完整性和一致性,数据中是否存在异常值等.发现诸如此类的问题都需要针对性地处理,下面我们一起学习常用的数据 ...

  2. 常用数据清洗方法大盘点

    本文来自网易云社区 数据清洗是将重复.多余的数据筛选清除,将缺失的数据补充完整,将错误的数据纠正或者删除,最后整理成为我们可以进一步加工.使用的数据. 所谓的数据清洗,也就是ETL处理,包含抽取Ext ...

  3. 非平衡数据集的机器学习常用处理方法

    定义:不平衡数据集:在分类等问题中,正负样本,或者各个类别的样本数目不一致. 例子:在人脸检测中,比如训练库有10万张人脸图像,其中9万没有包含人脸,1万包含人脸,这个数据集就是典型的不平衡数据集.  ...

  4. 使用python进行数据清洗常用的库_python3常用的数据清洗方法(小结)

    首先载入各种包: import pandas as pd import numpy as np from collections import Counter from sklearn import ...

  5. 光滑噪声数据常用的方法_数据挖掘中常用的数据清洗方法

    是新朋友吗?记得先点蓝字关注我哦- 数据挖掘中 常用的数据清洗方法 在数据挖掘过程中,数据清洗主要根据探索性分析后得到的一些结论入手,然后主要对四类异常数据进行处理,分别是缺失值(missing va ...

  6. 机器学习之常用优化方法(GD、牛顿、拟牛顿、拉格朗日乘子)

    写在前面,本文只记录了个人认为的关键点,仅供参考.更多细节请参考链接中文章 参考1:机器学习之常用优化方法 参考2:拉格朗日乘数法 梯度下降法 梯度下降法是最早最简单,也是最为常用的最优化方法.梯度下 ...

  7. 机器学习常用的六种分类方法,Python代码详细都在这里!

    机器学习常用的六种分类方法,Python代码详细都在这里! 六种常用分类方法包括两种线性分类及四种非线性分类法,分别是: 一.线性判别分析 from sklearn.model_selection i ...

  8. Python常用的数据清洗方法

    Python常用的数据清洗方法 在数据处理的过程中,一般都需要进行数据的清洗工作,如数据集是否存在重复.是否存在缺失.数据是否具有完整性和一致性.数据中是否存在异常值等.当发现数据中存在如上可能的问题 ...

  9. 机器学习常用特征筛选方法

    文章目录 背景题目 特征筛选 Filter过滤法 方差过滤 相关性过滤 卡方过滤 F检验 互信息 灰色关联度分析(GRA) Wrapper包装法 Embedded嵌入法 使用SelectFromMod ...

最新文章

  1. c++ 绘制函数图像_【图像增强】CLAHE 限制对比度自适应直方图均衡化
  2. 用python写脚本看什么书-你用 Python 写过哪些有趣的脚本?
  3. mysql 分库分表 ~ 柔性事务
  4. 使用Spock Mocks进行Grails 3.3集成测试
  5. CSAPP--整数的表示
  6. 利用Markdown编写数学公式
  7. Jquery+asp.net实现Ajax方式文件下载实例代码
  8. linux文件句柄数
  9. 转iPhone开发的门槛
  10. OpenCV学习笔记】二十七、轮廓特征属性及应用(四)——正外接矩形
  11. paip.c#.net自定义图像窗体form
  12. Python爬虫——爬取豆瓣VIP书籍信息并存入数据库
  13. PLC实验 S7-300超详细硬件组态实验过程
  14. docker安装redis镜像步骤
  15. /usr/bin/ld: cannot find -lxxx 问题总结
  16. 黑五节日营销,Facebook广告投放指南
  17. IE浏览器中img标签不显示图片
  18. EasyPR--一个开源的中文车牌识别系统
  19. moviepy中视频时长修改
  20. 准确率超99.5%!滴滴开源防疫口罩识别技术,及视觉比赛进展

热门文章

  1. dsgnintf.dcu 找不到的解决方案(原)
  2. 资深程序员建议放弃 JSP 吧,否则你可能“无路可走”!
  3. 【学习笔记】Ubuntu上复现P4SC
  4. python 导入上级/隔壁目录包的方法
  5. 1129 mysql_MYSQL 连接 error 1129
  6. 反向造IP的泡泡玛特,离中国的迪士尼还有多远?
  7. Ubuntu20.04出现段错误核心已转储问题解决方案
  8. Domino Web应用早就想到了环保
  9. BZOJ 4184 shallot
  10. python wpa_wpa_passphrase