
以下會介紹Python相關的工具包,相關的程式碼部分,可以到我的colab上執行並測試。
YData-profiling
YData-profiling的自動化分析內容包含豐富的描述性統計資料報告,其中的主要項目有:
- Overview: 包括簡單的資料集統計資料,以及變數的資料類型。
- Variables: 詳細描述每一個變數的資訊,以及變數資訊的直方圖。
- Interactions: 可以觀察到不同變數之間的分佈情形,通常以散點圖呈現。
- Correlations: 可以觀察各變數之間的相關性,通常以熱點圖形式呈現。
- Missing values: 觀察有無缺失值。
- Sample: 也就是呈現原始表的詳細資料,以Table方式呈現。
YData-profiling的程式碼範例會使用iris資料集來做示範
由於YData-profiling會根據Pandas的版本不同產生衝突,所以這邊我們會安裝固定版本的Pandas
!pip install pandas==1.5.3 ydata-profiling
接著載入iris資料集,並繪製出ProfileReport
import pandas as pd
from sklearn.datasets import load_iris
from ydata_profiling import ProfileReport
# 載入iris資料集
iris = load_iris()
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df['target'] = iris.target
# 生成ProfileReport
profile = ProfileReport(df, title="Profiling Report")
profile.to_notebook_iframe()

Dataprep
dataprep的分析項目會與ProfileReport十分類似,有所不同的地方是dataprep在資料的分析上面會有更加詳細的資訊,同時在點擊圖表的部分會與使用者會有互動,也就是會顯示出詳細資訊,相對的更加有趣,適合資料科學家和數據分析師有效的進行資料分析。
dataprep的程式碼範例會使用iris資料集來做示範鐵達尼號資料集作為範例,首先需要先安裝dataprep
!pip install dataprep
接下來就載入鐵達尼號資料集,直接進行create report
import pandas as pd
from dataprep.eda import create_report
# 載入鐵達尼號資料集
url = "https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv"
df = pd.read_csv(url)
create_report(df)

Dabl
Dabl(Data Analysis Baseline Library)是個強調簡單和自動化的資料分析工具,適合用於快速探索資料和進行基本的資料前處理與建模。Dabl同時也支援建立機器學習流程上的分析,包含增強模型構建(Enhanced Model Building)等等細節,有興趣的話可以到Dabl官方文檔查看。
首先安裝dabl
!pip install dabl
載入dabl內建的成人人口普查資料集,並且使用matplotlib進行視覺化
from dabl import plot
from dabl.datasets import load_adult
import matplotlib.pyplot as plt
# 載入成人人口普查資料集
data = load_adult()
plot(data, target_col='income', scatter_alpha=.1)
plt.show()

工具分析
針對不同的族群可以參考下面的優缺點分析表了解自己適合使用哪種工具,麥特覺得YData-profiling和Dataprep在視覺化的呈現上都挺有美感的,而Dabl就相對比較粗曠一點
| 工具名稱 | 優點 | 缺點 |
|---|---|---|
| YData-profiling | – 快速生成詳細報告 – 多種圖表類型 – 自動檢測資料缺失問題 – 生成互動式報告 | – 大型資料集的性能問題 – 靈活性有限 – 需要依賴 Pandas |
| Dataprep | – 快速生成豐富的描述性統計 – 支援多種資料來源 – 強大的資料清理功能 – 直觀的視覺化功能 | – 對初學者不太友善 – 配置和使用相對複雜 – 需要大量記憶體和計算資源 |
| Dabl | – 簡單易用 – 自動化資料前處理和建模 – 支援多種資料類型 – 提供簡潔的報告 | – 功能較為單一 – 可視化選項較少 – 針對型資料集可能性能不足 |
結論
- YData-profiling 適合需要快速生成詳細資料報告的人,在處理大型資料集時可能會遇到性能上的問題。
- Dataprep 功能豐富,適合處理各類資料來源和清理資料,需要一定的技術知識和硬體資源。
- Dabl 強調簡單易用和自動化處理,在功能和視覺化的選項上相對較少。
最後提供三種自動化探索式資料分析工具的網站連結,有興趣的話可以到網站上看更多的介紹唷!
