最近做机器学习的项目,汇总一下用得比较多的数据清洗方法,主要有:重新命名列名、去除空值、去除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. javascript的call()方法与apply()方法的理解
  2. 开源医学图像数据集(资源整合)
  3. 组态王中时间存access怎么存,组态王通过Access数据库起始截止日期查询方法
  4. Linux学习:文件属性函数
  5. Bzoj 2152: 聪聪可可(点分治)
  6. linux ntfs 速度慢,将U盘磁盘格式改成NTFS解决u盘复制速度慢问题
  7. 信息安全工程师笔记-公钥密钥体制概念
  8. RabbitMQ 整合 Spring Cloud Stream
  9. 8255工作方式一A口和B口输出
  10. Java try-catch示例
  11. 大数据技术发展需注意那些问题
  12. [原创]数据库视图介绍和使用
  13. 用双十一的故事串起碎片的网络协议(中)
  14. Linux虚拟机IP地址查询
  15. mysql5.6.39免安装,win7 64位配置mysql 5.6免安装版,初始化配置和Mysql创建新用户方
  16. Android API 中文(13) —— ToggleButton
  17. 智慧园区一体化信息管理平台设计方案
  18. excel中计算单元格值等于1的数量
  19. Mixly 二次开发 自定义库
  20. 40个笑到抽筋的神回复,绝了!

热门文章

  1. burp抓取https数据包:
  2. k-means算法python_K-means算法怎么在python中使用
  3. 【GitHubDailyShare】主打小而美的功能,GitHub 上一款开源的 3D 建模
  4. java校验身份证号实例
  5. 测试:一张图看出你用的是右脑还是左脑
  6. 深度学习——微调笔记+代码
  7. 一次Android App NDK崩溃问题的分析及解决
  8. python编程人工智能小例子,python人工智能算法代码
  9. 安卓开发学习11-1:Android程序调试:DDMS工具使用
  10. IA-32、IA-64、AMD64、intel64、x86、x86-64、x64等等关于CPU本身的区别