【資料分析】探索式資料分析(Exploratory Data Analysis, EDA)

在獲取第一手資料的當下,可以讓人快速了解整體資料分佈的樣貌時,最好的方式就是將資料進行視覺化(Exploratory Data Analysis, EDA),而我們在尚未熟悉這份資料的時候,進行的視覺化分析,就被稱作探索式資料分析技巧。

探索式資料分析是最初揭露資料分佈、趨勢和潛在關係的關鍵過程,有助於深入理解資料、提取洞見並引導進一步的分析和決策。

探索式資料分析的呈現方式

資料的特性分佈大多會是連續型的特徵,所以在資料的呈現上,我們就會使用圖表的方式,一般最容易上手的工具會使用Excel,而最常使用的圖表會是熱點圖(Heatmap)、直方圖(Histogram)、散點圖(Scatter Plot)、盒鬚圖(Box plot)等等。

熱點圖(Heatmap)

熱點圖是一種用色彩的深淺程度來表示資料的視覺化方法,主要能夠顯示出資料集的分佈情形,使用色彩的深淺來表示數值的大小,深色通常代表較大的數值,而淺色則代表較小的數值,也就是關聯性的強(深)弱(淺)呈現方式。

直方圖(Histogram)


直方圖會將資料劃分成一系列相鄰的區間(可以稱為分箱),每一根直方圖表示該區間當中的資料數量。我們可以經由直方圖來了解資料的分佈或趨勢,以及各分箱的資料量數量。

麥特在使用資料分析的語言是python,主要會使用到的開源套件為Matplotlib、Seaborn,以下我將使用程式碼簡單的跟大家分享探索式資料分析能夠帶來的效果:

鳶尾花(iris)資料集的探索式資料分析

鳶尾花資料集是sklearn中的公開資料,主要是記錄三種不同品種的花的資訊,其中鳶尾花的品種包括 :

  • 0 : Setosa 山鳶尾花
  • 1 : Versicolor 變色鳶尾花
  • 2 : virginica 維吉尼亞鳶尾花

# 載入需要使用到的套件
import pandas as pd
from sklearn.datasets import load_iris
import seaborn as sns
import matplotlib.pyplot as plt

# 載入 iris 資料集
iris = load_iris()
data = pd.DataFrame(data=iris.data, columns=iris.feature_names)
data['target'] = iris.target

# 使用 pairplot 來視覺化資料
sns.pairplot(data, hue='target')
plt.show()

sns.pairplot()是用於繪製資料集中多個數值變數之間的散點圖及分佈圖,而圖片中的4個項目與預測花朵類型(target)為 :

  • sepal length (cm) : 萼片長度
  • sepal width (cm) : 萼片寬度
  • petal length (cm) : 花瓣長度
  • petal width (cm) : 花瓣寬度
  • target : 這裡指的是鳶尾花的品種,用數字表示{0, 1, 2}

我們使用sns.pairplot()進行分析過後,可以很明確的了解target 0和其他兩者的分佈是較為離散的,代表target1、target 2兩者是較為接近的花朵品種,所以在得到花朵的四項特徵 (Feature)後,經過探索式資料分析,我們就可以發現3種不同的花朵當中,其中有一樣是很容易就能夠判斷的資訊,而另外相似的兩種花朵,就需要再更進一步的比較他們之間的差異。

探索式資料分析的優點

  1. 發現趨勢和模式: EDA 可以發現資料中的趨勢、模式或特殊的結構,有助於我們深入了解資料的性質。
  2. 識別出異常值: 透過視覺化和統計指標,可以輕鬆的識別資料中的異常值,有助於我們進行資料的清洗。
  3. 更進一步分析: EDA 提供了對資料的初步理解,有助於制定進一步分析的計劃,例如機器學習模型的建模。

探索式資料分析的缺點

  1. 有限的資訊深度: 探索式資料分析主要關注於簡單的統計和視覺化,可能無法深入挖掘資料的複雜模式或因果關係。
  2. 主觀性: 解讀視覺化結果可能受到個人主觀判斷的影響,不同的分析者可能得出不同的結論。
  3. 不足以支持推論: 探索式資料分析提供的是描述性統計,而非推論性統計,所以無法經過探索式分析就得出結論或進行預測,可能需要更進一步的統計分析或機器學習模型。

結論

探索式資料分析是在獲取第一手資料,並經資料預處理和清洗後,最初進行分析很重要的環節,我們可以在這個步驟中,掌握許多資料當中有用的信息,再後續加以利用,並使用視覺化的方式,讓單純只是數字的表格,變成更容易解讀的圖表,可以更輕鬆的向他人說明資料的趨勢,希望本篇的介紹可以讓大家對於探索式資料分析有更進一步了解,一起愛上資料分析吧 !

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *