Kaggle知识点:数据分析EDA
Kaggle知識(shí)點(diǎn)
數(shù)據(jù)分析
在現(xiàn)有數(shù)據(jù)競(jìng)賽和數(shù)據(jù)領(lǐng)域中數(shù)據(jù)分析是重要組成部分,且數(shù)據(jù)分析與具體的業(yè)務(wù)背景和業(yè)務(wù)邏輯聯(lián)系緊密。數(shù)據(jù)分析是發(fā)現(xiàn)數(shù)據(jù)規(guī)律的有效方法,也是驗(yàn)證思路的有效方法。
本文將以Kaggle競(jìng)賽為背景,講述在競(jìng)賽中如何完成數(shù)據(jù)分析,具體內(nèi)容包括:
數(shù)據(jù)分析的工具/庫(kù);
探索性數(shù)據(jù)分析EDA;
數(shù)據(jù)分析圖表的選擇;
PART
01
數(shù)據(jù)分析的工具/庫(kù)
由于本文限定于競(jìng)賽中的數(shù)據(jù)分析,特別是Python語(yǔ)言下的數(shù)據(jù)分析。在Python第三方庫(kù)中擁有眾多的數(shù)據(jù)分析資源,常用庫(kù)包括:
Pandas,?https://pandas.pydata.org/
廣泛使用的結(jié)構(gòu)化數(shù)據(jù)的庫(kù),提供了復(fù)雜的索引、切片聚合和選取等操作,是數(shù)據(jù)分析讀取數(shù)據(jù)的不二之選。
Matplotlib,?https://matplotlib.org/
Python環(huán)境下最流行的圖表庫(kù),提供了非常基礎(chǔ)且強(qiáng)大的繪圖工具,適合定制化開(kāi)發(fā),是入門(mén)Python環(huán)境下可視化必備的庫(kù)。
Seaborn,?https://seaborn.pydata.org/
Python環(huán)境下常用的可視化圖表庫(kù),其基于Matplotlib進(jìn)行二次開(kāi)發(fā),并對(duì)常用的可視化圖表進(jìn)行了定制開(kāi)發(fā),可快速繪制出漂亮的圖表。
Bokeh,?https://docs.bokeh.org/en/latest/
Bokeh是Python環(huán)境下的可以支持交互的圖表庫(kù),可以很方便的將圖表導(dǎo)出為動(dòng)畫(huà),還支持流媒體和實(shí)時(shí)數(shù)據(jù)。
Plotly,?https://plotly.com/python/
Plotly基于原生JS開(kāi)發(fā),所以在使用方式上與JS代碼很像,并提供了Python接口。Plotly的交互性很好,可以很友好的進(jìn)行圖表的互動(dòng),且提供的畫(huà)圖工具非常強(qiáng)大。資源和文檔的復(fù)雜導(dǎo)致Plotly的學(xué)習(xí)成本也比較高。
pyecharts,?https://github.com/pyecharts/pyecharts
pyecharts 是一個(gè)用于生成 Echarts 圖表的類(lèi)庫(kù),可以方便在 Python 中直接使用數(shù)據(jù)生成圖。pyecharts與瀏覽器可以做深入交互,且對(duì)中文支持比較好。
pygal,?http://www.pygal.org/
pygal是一款可與瀏覽器做交互的圖表庫(kù),提供了非常基礎(chǔ)的數(shù)據(jù)可視化方法,并可以方便的與SVG進(jìn)行轉(zhuǎn)換。
folium,?https://python-visualization.github.io/folium/
folium 建立在 ?Leaflet.js 庫(kù)的映射能力之上,在Python中操作數(shù)據(jù)并在 Leaflet 地圖中可視化。folium入門(mén)非常簡(jiǎn)單,幾行代碼就可以繪制出地圖數(shù)據(jù)。
basemap,?https://matplotlib.org/basemap/
basemap是一個(gè)用于在Python中繪制地圖上的2D數(shù)據(jù)的庫(kù),可以使用常規(guī)的地圖素材數(shù)據(jù)源作為底圖進(jìn)行疊加繪圖,可以用于定制復(fù)雜的地理圖,但上手難度較大。
missingno,?https://github.com/ResidentMario/missingno
missingno是Python環(huán)境下對(duì)缺失值進(jìn)行統(tǒng)計(jì)可視化的圖表庫(kù),適合統(tǒng)計(jì)Pandas類(lèi)型數(shù)據(jù)的確實(shí)情況,是衡量數(shù)據(jù)質(zhì)量和分析數(shù)據(jù)缺失值情況的神器。
由于篇幅原因還有很多庫(kù)沒(méi)有被介紹,如plotnine、holoviews、altair、pyqtgraph、vispy、networkx、geoplotlib、gleam、vincent、mpld3、python-igraph、mayavi2、leathe,這些都是Python第三庫(kù)中非常值得學(xué)習(xí)和被使用的庫(kù)。
當(dāng)我們需要做一個(gè)可視化圖表時(shí),可以從以下幾個(gè)角度來(lái)選擇合適的庫(kù):
可視化圖表的類(lèi)型和用途;
可視化圖表是否支持可交互;
可視化圖表是否需要定制化;
PART
02
探索性數(shù)據(jù)分析
探索性數(shù)據(jù)分析(Exploratory Data Analysis,簡(jiǎn)稱(chēng)EDA),指對(duì)數(shù)據(jù)分析的過(guò)程中盡量不加入先驗(yàn)假設(shè),而是通過(guò)作圖表和統(tǒng)計(jì)等方式來(lái)探索數(shù)據(jù)結(jié)構(gòu)和規(guī)律。
EDA最早由John W. Tukey在上世紀(jì)70年代被提出,最早用于統(tǒng)計(jì)學(xué)的科學(xué)實(shí)驗(yàn)的數(shù)據(jù)研究中。EDA現(xiàn)在已經(jīng)是數(shù)據(jù)分析中重要的指導(dǎo)思路,從數(shù)據(jù)出發(fā)來(lái)尋找規(guī)律,而不是依靠人工假設(shè)。
https://book.douban.com/subject/3094457/
在EDA中你可以構(gòu)思各種各樣的假設(shè),并通過(guò)數(shù)據(jù)分析去尋找相應(yīng)的反饋,以此迭代來(lái)尋找到數(shù)據(jù)集中分布的規(guī)律。在探索的過(guò)程中會(huì)隨著不斷的深入對(duì)數(shù)據(jù)理解更加深刻。
EDA的流程如下:
提出問(wèn)題;
篩選、清洗數(shù)據(jù);
分析數(shù)據(jù);
構(gòu)建模型;
得出結(jié)論;
EDA的過(guò)程與數(shù)據(jù)挖掘的流程不謀而合,特征是否起作用需要具體的分析和驗(yàn)證。從數(shù)據(jù)本身出發(fā)去尋找合適的特征。
在數(shù)據(jù)競(jìng)賽中,使用EDA完成數(shù)據(jù)分析的過(guò)程如下:
讀取并分析數(shù)據(jù)質(zhì)量;
探索性分析每個(gè)變量;
變量是什么類(lèi)型;
變量是否有缺失值;
變量是否有異常值;
變量是否有重復(fù)值;
變量是否均勻;
變量是否需要轉(zhuǎn)換;
探索性分析變量與target標(biāo)簽的關(guān)系;
變量與標(biāo)簽是否存在相關(guān)性;
變量與標(biāo)簽是否存在業(yè)務(wù)邏輯;
探索性分析變量之間的關(guān)系;
連續(xù)型變量與連續(xù)型變量;
可視化:散點(diǎn)圖、相關(guān)性熱力圖;
皮爾遜系數(shù);
互信息;
離散變量與離散變量;
可視化:柱狀圖、餅圖、分組表;
卡方檢驗(yàn);
檢查變量之間的正態(tài)性;
直方圖;
箱線圖;
Quantile-Quantile (QQ圖);
根據(jù)EDA我們可以得出以下結(jié)論:
變量是否需要篩選、替換和清洗;
變量是否需要轉(zhuǎn)換;
變量之間是否需要交叉;
變量是否需要采樣;
PART
03
數(shù)據(jù)分析圖表的選擇
有很多同學(xué)都會(huì)遇到這個(gè)問(wèn)題,拿到一個(gè)數(shù)據(jù)后不知道如何可視化,其實(shí)可以從下面的邏輯來(lái)選擇可視化的圖表:
可視化目的:比較/趨勢(shì)/組成/聯(lián)系/分布;
可視化變量類(lèi)型:數(shù)值/日期/類(lèi)別/經(jīng)緯度;
可視化維度:分布/趨勢(shì);
使用上面的邏輯,我們可以將圖表選擇總結(jié)為下圖(點(diǎn)擊圖片,查看高清大圖):
PART
04
總結(jié)
數(shù)據(jù)分析是一門(mén)技能,也是一個(gè)專(zhuān)業(yè),更是一個(gè)職業(yè)發(fā)展前景。在學(xué)習(xí)數(shù)據(jù)分析的過(guò)程中還有很多細(xì)節(jié),比如數(shù)據(jù)集的分布、Leak特征分析和模型特征重要性可視化,這些都是可以深入探討的地方。
希望本文能對(duì)大家有所啟發(fā),原創(chuàng)不易,歡迎轉(zhuǎn)發(fā)!
往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專(zhuān)輯AI基礎(chǔ)下載(pdf更新到25集)機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專(zhuān)輯本站qq群1003271085,加入微信群請(qǐng)回復(fù)“加群”獲取一折本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開(kāi):https://t.zsxq.com/yFQV7am喜歡文章,點(diǎn)個(gè)在看總結(jié)
以上是生活随笔為你收集整理的Kaggle知识点:数据分析EDA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于geopandas的空间数据分析—g
- 下一篇: 导师眼中让人崩溃的学生是什么样子的?