数据挖掘实战(一):Kaggle竞赛经典案例剖析

專 欄

那只猫,Python中文社区专栏作者,Python中文社区新Logo设计者,现就读于英国剑桥大学。

Load Lib

在这边提一下为什么要加

import warningswarnings.filterwarnings('ignore')

主要就是为了美观,如果不加的话,warning一堆堆的,不甚整洁。

Load data

和正常的套路一样,Id的没有什么卵用但是每个数据集都喜欢加的东西,因此我们弄死它就好了。

Data Statistics

Data Statistics是不能省略的部分,这部分能够首先让你对Data Science有个很基础的认知,也就是play with your data之前的know your data的部分。

在这里说一下,我在之前很简单粗暴的一上来就

dataset=df.iloc[:,1:]

把Id给删掉了,是不对的。正常的套路要先进行Data Statistics之后,才能进行对数据集的操作,否则误删了有价值的数据。。。就不大好了。。。

先看看数据集里有什么东西?

大家发现这个数据集很有趣的地方就是,他的数据类型全部都是int64的,这样Data cleaning的时候压力会小一点。

Data Cleaning

首先,我们来搞定一些没用的项目

We will dropped column ['Soil_Type7', 'Soil_Type15']

Nice,现在再来看一下:

我们现在来看一下偏离量:

这里要提一下,我之前如果没有执行删除'Soil_Type7', 'Soil_Type15'的内容的话,他们的偏离量为0,同样的,大家也可以通过这个方法来剃掉Soil_Type这个废柴。(本来就是用std剃掉的来着。。。)

为什么选Kaggle的数据集的原因又出现了,所有的Class都已经equal presence了,这就意味着不需要有一个re-balancing的过程了。

怎么说也是文化人,之前给大家的都不算什么有技术含量的,现在来个好玩的,也是Data Science的核心:Correlationship

首先要提一下,不是随便的啥啥啥数据都可以搞Correlationship的,至少要有continous才可以。

在Data Statistics的过程中,我们对数据有一个基本的认识了,因此,Wilderness_Area和Soil_Type我们不能用,谁教他是不是0就是1呢(一般我们叫它们binary)。

先做个准备

来正戏了,Pandas为什么那么多人用的原因之一就是,它将很多的东西都给工具化了,如果要手码的话。。。简直不寒而栗。。。

但是Pandas只要一句:

看着很烦对不对?是的,很多没有什么必要的信息也一股脑子的弄了出来。

所以我们设置一个threshold,threshold可以理解为阈值,低于threshold就屏蔽掉好了。一般0.5以上才能说有相关性,0.8以上高度相关。有兴趣的同学可以看下Reference的Wikipedia中Correlation的解释。

这样,我们得到七个比较有关联的数据。但是还是有人觉得,还是不大像人话。还有人说我没图你说个啥?这里我导入一下seaborn,无他,只是因为我觉得Matplotlib的默认视图做这个。。。是真的很难看啊。。。

在这里,我们移除了Soil_Type7和Soil_Type15,因为这两项的全是没变。

这里提一下,通过调试

dataset.std()

可以很简单直接的把值压根就没变化的废物给找出来,这个方法很常用。

由于Kaggle的数据集内容本身没有什么需要清理的需求,所以Data Cleaning做到这一步就差不多了。

在这里提一下,通过list将操作保存起来这个习惯很重要——要不然说翻车就翻车了,然后死活都找不到之前做了什么。。。

严谨的数据科学家是不会放过它滴。

原文发布于微信公众号 - Python中文社区(python-china)

原文发表时间:2017-02-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏拂晓风起

【转】Flash:同志们,这些知识点你们知道多少?(一些必备的Flash开发知识点)

1222
来自专栏跟着阿笨一起玩NET

浅谈数据库设计技巧(上)(转)

转一篇他人写的数据库设计技巧,感觉也不一定都正确,开拓一下思路吧。 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机...

2381
来自专栏数据和云

从Approx_Count_Distinct到M7的CPU集成

昨天和朋友交流,联想起Oracle的两个特性,approx_count_distinct 和 SQL in Silicon,从软件到硬件,从典型SQL入手的优化...

2825
来自专栏吉浦迅科技

DAY47:阅读read only cache和Time Function

The read-only data cache load function is only supported by devices of compute c...

761
来自专栏听雨堂

MapX5说明

把绘图功能嵌入到用户应用中的最简单、最经济的方法。 MAPINFO MAPX 是强大的ACTIVEX 组件 – 使用标准可视化程序工具可以很容易就整合到商业应...

2075
来自专栏日常学python

用Python来跳Michael Jackson的太空漫步

最近看到一个有意思的程序:ffmpeg。它是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以用来把视频转化为图片,在用 PIL 库把...

962
来自专栏吉浦迅科技

DAY27:阅读多处理器

1613
来自专栏腾讯移动品质中心TMQ的专栏

当我们讨论流畅度的时候,我们究竟在说什么?

前言:那些年我们用过的显示性能指标 相对其他 Android 性能指标(如内存、CPU、功耗等)而言,显示性能(包括但不仅限于我们常说的“流畅度”)的概念本来...

60310
来自专栏CSDN技术头条

Apache Beam:下一代的数据处理标准

Apache Beam(原名Google DataFlow)是Google在2016年2月份贡献给Apache基金会的孵化项目,被认为是继MapReduce、G...

38510
来自专栏玉树芝兰

Python编程遇问题,文科生怎么办?

敲黑板了啊,答疑时间到。如果你没有良好的Python编程基础,在尝试应用数据科学方法时遇到了问题和困难,又不知道该如何有效解决,那么这篇文章就是为你写的。请务必...

1602

扫码关注云+社区

领取腾讯云代金券