这是菜鸟学Python的粉丝第4篇原创投稿
阅读本文大概需要3分钟
本篇作者:倩倩同学
在运用机器学习算法分析数据之前我们往往需要先探索数据集,通过探索数据集我们可以看看是否能让数据之间的关系明朗化一些,这篇文章主要是对岩石和鱼雷里面的数据集的一个综合分析并运用了数据可视化.这篇文章也综合运用了很多前面介绍的数据分析模块的知识,希望大家喜欢.
开发环境:
Tools:Pycharm
Python :Python 3.x/2.7
用到的库:Pandas,scipy,matplotlib,random
数据集介绍:
-
本篇文章的数据集来自UC Irvine 数据仓库。数据来源于实验:测试声纳是否可以用于检测在港口军事行动后遗留下来的未爆炸的水雷
-
声纳信号又叫作啁啾信号(chirped signal),即信号在一个脉冲期间频率会增加或降低
-
该数据集的测量值代表声纳接收器在不同地点接受到的返回信号,其中一半是反映了岩石的形状,一半是金属圆桶的形状(水雷)。 而每个返回信号由60个不同频率返回信号组成。
首先我们要导入一些常用的库和数据集,数据集为了方便大家练习,这里我们是通过目标网址去获取我们需要的数据集.
1). 导入模块
2).获取数据集
数据集其实不大,长啥样呢,其实就是一行一行密密麻麻的数字:
我们把数据下载下面,保存csv格式来处理,为啥老是保存成csv格式的(因为csv是数据分析最方便的格式)
>>
"岩石VS.水雷"数据集的规模: (208, 61)
"岩石VS.水雷"数据集的数据类型:
float64 60
object 1
dtype: int64
通过观察运行结果我们可以发现“岩石VS.水雷”数据集中包括了在208个地方采集的数据,其中每个地方用60个频率进行测量获得60个测量值,第61列数据是标签,标记了是岩石还是水雷
Pandas是数据分析的神兵利器,这里我们用Pandas来分析一下上面的csv数据
#岩石VS.水雷”数据集统计特征
print(rocksVMines.describe())
>>
可视化可以提供对数据的直观感受,有的时候是很难通过表格把握到的。
分位数图展示了数据的百分位边界与高斯分布的同样百分位的边界对比,这里我们以“岩石VS.水雷”数据集中的第4列属性为例
-
在上面的代码中我们对数据集中第4列属性进行选择运用的的是.iloc[:,3]
-
这里容易让我们混淆的是对于.loc[ ]和.iloc[ ]的区别,事实上loc是按照索引index的值来选取,而iloc就是按照索引的位置来进行选取
-
iloc不关心索引的具体值是多少,只关心位置是多少,所以使用iloc时方括号中只能使用数值
通过观察该图像我们可以发现“岩石VS.水雷”数据集尾部的数据要多于高斯分布尾部的数据
对于具有多个属性问题的一种可视化方法叫作平行坐标图(parallel coordinates plot)
-
整个数据集的平行坐标图对于数据集中的每一行属性都有对应的一条折线
-
基于标签对折线标示不同的颜色,更有利于观测到属性值与标签之间的关系
-
在上面的代码中我们又看到了一种对数据的访问方式即:.iat[ ],与之对应的就是.at[ ],其实at的使用方法与loc类似
-
但是比loc有更快的访问数据的速度,而且只能访问单个元素,不能访问多个元素
-
iat对于iloc的关系就像at对于loc的关系,是一种更快的基于索引位置的选择方法,同at一样只能访问单个元素
对于属性之间的关系,获得这种成对关系的快速方法就是绘制属性对之间的交会图(cross-plots)。这些交会图(又叫作散点图,scatter plots)展示了这些属性对之间关系的密切程度。这里以第2、第3属性对和第2、第21属性对为例,绘制属性对之间的散点图
看看第2个属性和第3个属性的关系图
看看第2个属性和第21个属性的关系图
第2个属性和第3个属性的相关系数:0.77991587191
第2个属性和第21个属性的相关系数:0.0752552867912
-
如果散点图上的点沿着一条“瘦”直线排列,则说明这两个变量强相关
-
如果这些点形成一个球型,则说明这些点不相关
-
我们通过观察两个图的形状就可以发现第2个属性和第3个属性之间的相关性比第2个属性和第21个属性之间的相关性强,而且属性对之间的相关系数也证实了这一点
结论:
第一次有美女粉丝投稿,而且非常写的非常好,其实还有其他的可视化图比如:绘制属性和标签的散点图,用热度图展示属性和标签的相关性等等限于篇幅。我们把机器学习算法应用于数据之前,通过对数据集探究的过程,可以加深我们对于数据集的理解和直观感受,这里只是通过一个关于分类的数据集的小例子进行了介绍,大家若有什么问题,欢迎留言讨论.
需要源码的同学,请留言
欢迎更多小伙伴投稿
宗旨:生动,有趣,好玩,通熟易懂
欢迎大家关注 菜鸟学Python",更多好玩有趣的Python原创教程,趣味算法,经验技巧,行业动态,尽在菜鸟学Python,一起来学python吧
Python数据库起航篇|零基础起步
学会最简单的数据库|看完这7招就够了
3分钟带你了解SQL高级操作
你离学会操作SQL数据库|还剩最后2招
我爬取了市面上所有的Python书|想知道几件事
菜鸟学Python入门教程大盘点|7个多月的心血总结
同学,学Python真的不能这样学
全网爬取6500多只基金|看看哪家基金最强
用Python破解微软面试题|24点游戏
2道极好的Python算法题|带你透彻理解装饰器的妙用
一道Google的算法题 |Python巧妙破解
长按二维码,关注【菜鸟学python】
来源 | 菜鸟学Python
作者 | xinxin
本文章为菜鸟学Python独家原创稿件,未经授权不得转载
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 活久见!谷歌开源“大杀器”,CV、NLP都能用!08/01
- ♥ 深度学习调参有哪些技巧?06/22
- ♥ 这5种动态炫酷图,用Python就可以画!05/22
- ♥ 通俗理解贝叶斯优化07/06
- ♥ 人像抠图已经满足不了研究者了,这个研究专门给动物抠图,毛发根根分明07/13
- ♥ 研究生新生要怎么看论文?06/18
内容反馈