数据挖掘实战(一):Kaggle竞赛经典案例剖析
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之后,才能進行對數據集的操作,否則誤刪了有價值的數據。。。就不大好了。。。
先看看數據集里有什么東西?
大家發(fā)現這個數據集很有趣的地方就是,他的數據類型全部都是int64的,這樣Data cleaning的時候壓力會小一點。
Data Cleaning
首先,我們來搞定一些沒用的項目
We will dropped column ['Soil_Type7', 'Soil_Type15']
Nice,現在再來看一下:
我們現在來看一下偏離量:
這里要提一下,我之前如果沒有執(zhí)行刪除'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將操作保存起來這個習慣很重要——要不然說翻車就翻車了,然后死活都找不到之前做了什么。。。
嚴謹的數據科學家是不會放過它滴。
原文發(fā)布時間為:2017-02-21本文作者:那只貓本文來自云棲社區(qū)合作伙伴“Python中文社區(qū)”,了解相關信息可以關注“Python中文社區(qū)”微信公眾號
總結
以上是生活随笔為你收集整理的数据挖掘实战(一):Kaggle竞赛经典案例剖析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霍金家人声明:他的成功将继续存在 我们永
- 下一篇: 【剑指offer】反转链表,C++实现(