七种理解数据的方法

  • 简单查看数据
  • 审查数据的维度
  • 审查数据的类型和属性
  • 总结查看数据分类的分布情况
  • 统计分析数据
  • 理解数据属性的相关性
  • 审查数据的分布情况
# 简单查看数据
from pandas import read_csv
filename = 'data/pima_data.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names) # 手动指定头部
peek = data.head(10)
print(peek)
   preg  plas  pres  skin  test  mass   pedi  age  class
0     6   148    72    35     0  33.6  0.627   50      1
1     1    85    66    29     0  26.6  0.351   31      0
2     8   183    64     0     0  23.3  0.672   32      1
3     1    89    66    23    94  28.1  0.167   21      0
4     0   137    40    35   168  43.1  2.288   33      1
5     5   116    74     0     0  25.6  0.201   30      0
6     3    78    50    32    88  31.0  0.248   26      1
7    10   115     0     0     0  35.3  0.134   29      0
8     2   197    70    45   543  30.5  0.158   53      1
9     8   125    96     0     0   0.0  0.232   54      1

了解数据的维度

知道数据有多少行,多少列很重要,通过pandas的shape属性可以知道。

print(data.shape)
(768, 9)

数据的属性和类型

了解数据是什么类型,方便下一步的计算。

print(data.dtypes)
preg       int64
plas       int64
pres       int64
skin       int64
test       int64
mass     float64
pedi     float64
age        int64
class      int64
dtype: object

可以看出来,数据都是数值类型,两个是浮点数,其他都是整数类型。

describe, 描述性统计信息

from pandas import set_option
set_option('precision',4)
print(data.describe())
           preg      plas      pres      skin      test      mass      pedi  \
count  768.0000  768.0000  768.0000  768.0000  768.0000  768.0000  768.0000
mean     3.8451  120.8945   69.1055   20.5365   79.7995   31.9926    0.4719
std      3.3696   31.9726   19.3558   15.9522  115.2440    7.8842    0.3313
min      0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0780
25%      1.0000   99.0000   62.0000    0.0000    0.0000   27.3000    0.2437
50%      3.0000  117.0000   72.0000   23.0000   30.5000   32.0000    0.3725
75%      6.0000  140.2500   80.0000   32.0000  127.2500   36.6000    0.6262
max     17.0000  199.0000  122.0000   99.0000  846.0000   67.1000    2.4200   age    class
count  768.0000  768.000
mean    33.2409    0.349
std     11.7602    0.477
min     21.0000    0.000
25%     24.0000    0.000
50%     29.0000    0.000
75%     41.0000    1.000
max     81.0000    1.000

数据分组分布 – 适用于分类算法

知道每个类有多少数据,看数据的分布是否均衡,如果不均衡,我们就对数据进行预处理,再进入下一步。

print(data.groupby('class').size())
class
0    500
1    268
dtype: int64

可以看出数据有两个类别,一类有500个,另一类有268个数据,不是特别均衡,但是在同一个数量级。

数据属性的相关性探索

在机器学习中,当数据的关联性比较高时,有些算法的性能会降低,比如线性回归和逻辑斯蒂回归算法等。

当数据特征相关性比较高时,可以考虑对特征进行降维,使用corr()可以查看数据特征值之间的关联关系。

set_option('display.width', 100)
# 设置数据精度
set_option('precision', 2)
print(data.corr(method='pearson'))
       preg  plas  pres  skin  test  mass  pedi   age  class
preg   1.00  0.13  0.14 -0.08 -0.07  0.02 -0.03  0.54   0.22
plas   0.13  1.00  0.15  0.06  0.33  0.22  0.14  0.26   0.47
pres   0.14  0.15  1.00  0.21  0.09  0.28  0.04  0.24   0.07
skin  -0.08  0.06  0.21  1.00  0.44  0.39  0.18 -0.11   0.07
test  -0.07  0.33  0.09  0.44  1.00  0.20  0.19 -0.04   0.13
mass   0.02  0.22  0.28  0.39  0.20  1.00  0.14  0.04   0.29
pedi  -0.03  0.14  0.04  0.18  0.19  0.14  1.00  0.03   0.17
age    0.54  0.26  0.24 -0.11 -0.04  0.04  0.03  1.00   0.24
class  0.22  0.47  0.07  0.07  0.13  0.29  0.17  0.24   1.00

数据的分布分析

机器学习算法一般假设数据遵循高斯分布,所以通过分析数据的高斯分布情况,可以确认数据的偏离情况。用skew()方法计算所有数据属性的高斯分布偏离情况。数据接近0时表示数据的偏差很小。

print(data.skew())
preg     0.90
plas     0.17
pres    -1.84
skin     0.11
test     2.27
mass    -0.43
pedi     1.92
age      1.13
class    0.64
dtype: float64

总结

对数据的分析是机器学习的重要步骤,只有对数据有足够的理解,才能选择出有效的算法来建立模型。上面列出的7个方法,也是7个角度,7个步骤。

审查数据时,还有以下几个技巧:

  • 审查数字,观察思考数据的特点,找到数据的内在关联以及对解决问题的帮助
  • 问为什么,观察数据时,多问几个为什么
  • 写下想法,边观察边记录自己的想法,这些想法在后面的步骤有大用

END.

参考:

《机器学习Python实践》–魏贞原

【机器学习】Pima数据探索--七种武器相关推荐

  1. IT江湖论道之数据中心管理七种武器

    本文讲的是 IT江湖论道之数据中心管理七种武器, 传说古龙先生心中有七种武器,件件精妙绝伦.天工巧夺,均属旷世神兵.得其一者便可独步天下.遂引得江湖人众纷纷擦掌相夺,即使丢了性命也在所不惜,由此可见这 ...

  2. python枪械_Python的七种武器

    君子生非异也,善假于物也. "物"能够延展英雄的能力.它是吕布的赤兔马,杨过的玄铁重剑,CS中的沙漠之鹰,曹操传中的凤凰羽衣."物"也可用以治愈英雄,例如张无忌 ...

  3. 揭密Oracle之 七种武器

    揭密Oracle之 七种武器 第一章 搭建测试环境 vage 揭密Oracle之 七种武器  第一章 搭建测试环境 (揭密Oracle之七种武器第二章地址:DTrace语法:跟踪物理IO http:/ ...

  4. 如何做好软件系统的需求调研,七种武器让你轻松搞定

    原则:实施人员在整个项目中要发挥引领作用,将项目带向正确的方向. 如何找到方向呢? 正确的方向主要从用户的需求中探索,顾名思义,就是了解客户的需求,怎么了解呢,这就涉及到需求调研了 需求调研的注意点 ...

  5. 网优谷带你盘一盘重构IT基础架构的“七种武器”!

    重构IT基础架构的"七种武器"有哪些呢? 这些关键技术正在"重塑"企业IT基础架构以实现对大量宝贵数据更加快捷和更加灵活的访问. 重新构建企业IT基础架构不是一 ...

  6. GIS就业参考系列之技术篇——七种武器

    题记 从2007--2017,职场中第一个十年即将完成.十年足以摧毁一个人的样貌:十年可以见证一个时代的发展:十年你从匆匆那年转变为而立之年:不知道从毕业一直还在从事本专业的人有多少,不知道这是一种幸 ...

  7. 5G网络切片的七种武器(三)

    | 文章版权所有,未经授权请勿转载或使用 在公众号 [5G行业应用] 之前的两篇文章<5G网络切片的七种武器(一)>和<5G网络切片的七种武器(二)>中,我们介绍了5G网络切片 ...

  8. 5G网络切片的七种武器(一)

    | 文章版权所有,未经授权请勿转载或使用 广为人知的,5G面向万物互联,定义了增强移动宽带eMBB.超高可靠低时延uRLLC.海量机器类通信mMTC三大类应用场景,使得5G提供的能力集更能适合垂直行业 ...

  9. 锐捷RIIL入驻西南交大 为智慧运维带来“七种武器”

    西南交通大学(以下简称西南交大)创建于1896年,是中国第一所工程高等学府,也是首批进入国家"211工程"."特色985工程"重点建设的教育部直属全国重点大学. ...

最新文章

  1. python函数返回值_Python中函数的返回值示例浅析
  2. Orion Network Performance Monitor 软件在网络管理中的应用
  3. word文本样式代码样式_使用文本样式表达创建真相来源
  4. 特征值_陶哲轩数学发现的故事 | 特征值特征向量等式
  5. java反射jdk1.8,Java基础----jdk1.8 反射实验
  6. 漫画:当程序员有了下一代.....
  7. 自动挡车行驶当中,一个不小心碰到一键启动按钮,会怎样?
  8. C# DateTime日期格式
  9. java中的方法与方法之间的关键_Java中包与包之间方法的调用及其关键字区分(基础)...
  10. java数组名加括号_数组作参数被使用时,数组名后必须加方括号
  11. Label-Specific Dual Graph Neural Network for Multi-Label Text Classification,ACL2021 finding
  12. Ubuntu恢复官方默认源
  13. 灭霸一个响指,被腰砍的电子阅读市场步入终局之战?
  14. wordpress php7 兼容_WordPress升级PHP7后wp-code-highlight插件兼容性解决方法
  15. TensorFlow神经网络学习笔记
  16. 最新超唯美情侣网站开源+带后台/亲测可用
  17. PS套索工具改变头发颜色
  18. [知识总结]Dp-区间dp
  19. ————《metasploit 魔鬼训练营》学习笔记序言
  20. STM32普中F103抢答器与抢答器的延时控制

热门文章

  1. 代码也浪漫——Python烟花秀
  2. stl之deque双端队列容器
  3. python拦截tcp数据包_发送低级原始tcp数据包python
  4. oc渲染器中文手册_C4D·OC高级渲染视频教程,带你玩转质感渲染
  5. django mysql返回json_Django 1.8.11 查询数据库返回JSON格式数据
  6. tomcat 404错误 原因_软件测试人员定位bug原因的10大妙招分享
  7. [ FAILED ] SGDSolverTest/0.TestSnapshotShare, where TypeParam = caffe::CPUDevicefloat解决方案
  8. java 连接ftp 测试_ftp,ftp怎么进行连接,附上在Java环境下的配置教程
  9. 电脑合上盖子不锁屏_笔记本电脑合上盖子或台式机离开后黑屏是“休眠”还是“睡眠”...
  10. matlab中的count函数,Excel 中COUNT函数的使用详解,详情介绍