強烈建議你學(xué)這 3 個 Python AutoEDA 工具包!
關(guān)注上方"機器學(xué)習(xí)社區(qū)",
設(shè)為"置頂或星標",第一時間送達干貨
數(shù)據(jù)科學(xué)愛好者知道,在將原始數(shù)據(jù)輸入機器學(xué)習(xí)模型解決實際問題之前,需要對其進行大量處理。根據(jù)問題的類型(回歸或分類),需要遵循一系列步驟來準備和格式化數(shù)據(jù)。為了探索數(shù)據(jù)集,Python 是可以說是最強大的數(shù)據(jù)分析工具之一。此外,它可以更好地數(shù)據(jù)可視化。
數(shù)據(jù)科學(xué)和機器學(xué)習(xí)不僅僅是擁有強大計算機科學(xué)背景的人可以接觸到的。相反,越來越多的來自不同行業(yè)的專業(yè)人士已加入這一領(lǐng)域。但是對于一個剛剛開始機器學(xué)習(xí)的初學(xué)者來說,也不是一件很容易的事情。
在本文中,我們將討論三個面向初學(xué)者非常友好的自動化 EDA Python 庫,在文末我會分享其他有趣的 AutoEDA 庫。喜歡的小伙伴歡迎收藏學(xué)習(xí)、點贊。
首先我們加載一下數(shù)據(jù)
#loading?the?dataset
from?sklearn?import?datasets
import?pandas?as?pd
data?=?datasets.load_iris()
df?=?pd.DataFrame(data.data,columns=data.feature_names)
df['target']?=?pd.Series(data.target)
df.head()
如果我們不使用 AutoEDA,這里有一個通常用于 EDA 的命令列表,用于打印有關(guān) DataFrame/數(shù)據(jù)集的不同信息
df.head() – 前五行
df.tail() – 最后五行
df.describe() – 有關(guān)數(shù)據(jù)集的百分位數(shù)、平均值、標準偏差等的基本統(tǒng)計信息
df.info() – 數(shù)據(jù)集摘要
df.shape() – 數(shù)據(jù)集中的觀察值和變量的數(shù)量,即數(shù)據(jù)的維度
df.dtypes() – 變量的數(shù)據(jù)類型(int、float、object、datetime)
df.unique()/df.target.unique() – 數(shù)據(jù)集/目標列中的唯一值
df[‘target’].value_counts() – 分類問題的目標變量分布
df.isnull().sum()- 計算數(shù)據(jù)集中的空值
df.corr() – 相關(guān)信息
等等..
AutoEDA 庫可以通過幾行 Python 代碼快速完成所有這些以及更多工作。但在我們開始之前,讓我們先檢查安裝的 Python 版本,因為這些庫需要 Python >=3.6。
print(python?--version)?#?check?installed?Python?version
1. Pandas Profiling
首先,auto-EDA 庫是一個用 Python 編寫的開源選項。它為給定的數(shù)據(jù)集生成一個全面的交互式 HTML 報告。它能夠描述數(shù)據(jù)集的不同方面,例如變量類型、處理缺失值、數(shù)據(jù)集的眾數(shù)。
要安裝庫,請在 jupyter notebook 中輸入并運行以下命令
!pip?install?pandas-profiling
EDA 使用 Pandas Profiling
我們將首先導(dǎo)入主包pandas 來讀取和處理數(shù)據(jù)集。
接下來,我們將導(dǎo)入pandas profiling
import?pandas_profiling
#Generating?PandasProfiling?Report
report?=?pandas_profiling.ProfileReport(df)
從報告中,初學(xué)者可以很容易地理解 iris 數(shù)據(jù)集中有 5 個變量——4 個數(shù)字變量,結(jié)果變量是分類變量。此外,數(shù)據(jù)集中有 150 個樣本并且沒有缺失值。
下面由 Pandas 分析生成的一些示例圖有助于理解我們之前列出的命令的相關(guān)性、唯一值和缺失值。
相關(guān)性
總的來說,Pandas Profiling 在從數(shù)據(jù)集中可以快速生成方面令人印象深刻。
2. Sweetviz
這是一個開源 Python 庫,僅使用兩行代碼即可執(zhí)行EDA。該庫為數(shù)據(jù)集生成的報告以.html 文件形式提供,可以在任何瀏覽器中打開。使用 Sweetviz,我們可以實現(xiàn):
數(shù)據(jù)集特征如何與目標值相關(guān)聯(lián)
可視化測試和訓(xùn)練數(shù)據(jù)并比較它們。我們可以使用analyze()、compare() 或compare_intra() 來評估數(shù)據(jù)并生成報告。
繪制數(shù)值和分類變量的相關(guān)性
總結(jié)有關(guān)缺失值、重復(fù)數(shù)據(jù)條目和頻繁條目的信息以及數(shù)值分析,即解釋統(tǒng)計值
要安裝庫,請在 jupyter notebook 運行以下命令
!pip?install?sweetviz
EDA 使用 Sweetviz
與前面的部分類似,我們將首先導(dǎo)入pandas 來讀取和處理數(shù)據(jù)集。
接下來,我們只需導(dǎo)入 sweetviz 來探索數(shù)據(jù)。
import?sweetviz?as?sv
#Generating?Sweetviz?report
report?=?sv.analyze(df)
report.show_html("iris_EDA_report.html")?#?specify?a?name?for?the?report
這就是典型的 Sweetviz 報告的樣子
確實令人印象深刻和漂亮。
3. AutoViz
AutoViz 只需一行代碼即可快速分析任何數(shù)據(jù)。要安裝庫,與以上類似。
from?autoviz.AutoViz_Class?import?AutoViz_Class
AV?=?AutoViz_Class()
#Generating?AutoViz?Report?#this?is?the?default?command?when?using?a?file?for?the?dataset
filename?=?""
sep?=?","
dft?=?AV.AutoViz(
????filename,
????sep=",",
????depVar="",
????dfte=None,
????header=0,
????verbose=0,
????lowess=False,
????chart_format="svg",
????max_rows_analyzed=150000,
????max_cols_analyzed=30,
????)
由于我們使用的是庫中的數(shù)據(jù)集,我們需要如下修改
#Generating?AutoViz?Report
filename?=?""?#?empty?string?("")?as?filename?since?no?file?is?being?used?for?the?data
sep?=?","
dft?=?AV.AutoViz(
????'',
????sep=",",
????depVar="",
????dfte=df,
????header=0,
????verbose=0,
????lowess=False,
????chart_format="svg",
????max_rows_analyzed=150000,
????max_cols_analyzed=30,
?????)




AutoViz 報告包括有關(guān)數(shù)據(jù)集形狀的信息以及所有可能的圖表,包括條形圖、小提琴圖、相關(guān)矩陣(熱圖)、配對圖等。所有這些信息與一行代碼肯定對任何初學(xué)者都有用。
結(jié)論
還有其他有趣的 AutoEDA 庫,如 Dora、D-Tale 和 DataPrep,它們類似于本文中討論的這三個庫,如果你感興趣,可以深入研究。
從初學(xué)者的角度來看,Pandas Profiling、Sweetviz 和 AutoViz 似乎是最簡單的生成報告以及呈現(xiàn)數(shù)據(jù)集洞察力的工具。
參考:
https://github.com/Devashree21/AutoEDA-Iris-AutoViz-Sweetviz-PandasProfiling https://pypi.org/project/pandas-profiling/[accessed: Aug-09-2021] https://pypi.org/project/sweetviz/ [accessed: Aug-09-2021] https://pypi.org/project/autoviz/ [accessed: Aug-09-2021]
(完)
歡迎大家加入機器學(xué)習(xí)社區(qū)技術(shù)交流群,加入方式非常簡單,在下方二維碼后臺回復(fù):加群,備注說明:你的研究方向,小助手拉你入群。
長按掃碼,申請入群
推薦閱讀
