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