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

简介: Load Lib 在这边提一下为什么要加 import warnings warnings.filterwarnings('ignore') 主要就是为了美观,如果不加的话,warning一堆堆的,不甚整洁。

Load Lib

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

在这边提一下为什么要加

import warnings

warnings.filterwarnings('ignore')

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

Load data

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

Data Statistics

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

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

dataset=df.iloc[:,1:]

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

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

Data Cleaning

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

Nice,现在再来看一下:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

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

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

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

先做个准备

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

但是Pandas只要一句:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

这里提一下,通过调试

dataset.std()

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

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

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

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

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy



原文发布时间为:2017-02-21本文作者:那只猫本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ Python中文社区”微信公众号
相关文章
|
3月前
|
数据采集 数据可视化 数据挖掘
数据挖掘实战:使用Python进行数据分析与可视化
在大数据时代,Python因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
221 11
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
953 3
|
3月前
|
人工智能 分布式计算 算法
数据挖掘实战随笔更新清单
这是一系列技术博客的摘要,涵盖了多个主题。包括Elasticsearch实战经验、Maxcompute中的Geohash转换和GPS处理、Python环境配置与管理(如Jupyter、Miniforge、Miniconda)、批量接口调用、多进程CSV图片下载、Excel到Markdown转换、Scikit-learn的异常检测(OC-SVM)和模型总结、人工智能领域的图像分类和识别、文本挖掘算法以及数仓相关的行转列处理。所有文章都在持续更新和补充中。
38 2
|
4月前
|
算法 数据可视化 数据挖掘
【数据挖掘】密度聚类DBSCAN讲解及实战应用(图文解释 附源码)
【数据挖掘】密度聚类DBSCAN讲解及实战应用(图文解释 附源码)
508 1
|
4月前
|
数据可视化 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
|
4月前
|
算法 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
|
4月前
|
机器学习/深度学习 数据采集 算法
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
|
4月前
|
数据采集 算法 搜索推荐
数据挖掘实战:基于KMeans算法对超市客户进行聚类分群
数据挖掘实战:基于KMeans算法对超市客户进行聚类分群
532 0
|
4月前
|
算法 搜索推荐 数据挖掘
通过案例理解数据挖掘
通过案例理解数据挖掘
81 2
|
4月前
|
机器学习/深度学习 数据挖掘 定位技术
预测未来:Python 数据挖掘案例
数据挖掘是从大量数据中提取有用信息的过程。通过应用数据挖掘技术,我们可以发现数据中的模式、关系和趋势,从而做出预测和决策。在 Python 中,有许多强大的数据挖掘库和工具可供使用。本文将介绍一个使用 Python 进行数据挖掘以预测未来的案例。

热门文章

最新文章