AutoViz:自動化可視化的新工具

在公眾號「python風(fēng)控模型」里回復(fù)關(guān)鍵字:學(xué)習(xí)資料,免費領(lǐng)取。
數(shù)據(jù)科學(xué)家的任務(wù)通常是處理大量數(shù)據(jù)存儲以提供可行的見解。然后分析這些見解以識別與商業(yè)智能甚至人類行為相關(guān)的模式。然而,構(gòu)建數(shù)據(jù)查詢和機器學(xué)習(xí)管道可能是一回事,采用所有類型的優(yōu)化和聰明的算法。能夠?qū)⑵D巨的數(shù)據(jù)收集和建模的結(jié)果傳達(dá)給不熟悉數(shù)據(jù)處理的同事,這完全是另一回事。這就是數(shù)據(jù)可視化來挽救局面的地方。
Scott Berinato在他秒著作《Good Charts》中感嘆道:“一個好的可視化可以比任何其他形式的交流更有效地傳達(dá)信息和想法的性質(zhì)和潛在影響?!?我們很多人都熟悉這句話:“一張照片勝過千言萬語?!?同樣,在數(shù)據(jù)科學(xué)中,有效的可視化提供強烈的季節(jié)性模式、與成功營銷活動相關(guān)的明顯趨勢或需要解決的突出異常值的顯著證據(jù)非常重要。小型數(shù)據(jù)集的可視化很容易且非常有益,但對于具有數(shù)百甚至數(shù)千個變量的大型數(shù)據(jù)集幾乎不可能,我們必須決定從數(shù)據(jù)集中突出顯示哪些最佳見解。最重要的是,數(shù)據(jù)科學(xué)家必須經(jīng)常使用非標(biāo)準(zhǔn)化的可視化庫,這些庫需要大量編碼才能獲得具有正確影響的視覺效果。值得慶幸的是,有一種替代方法可以使用這種蠻力方法來創(chuàng)建可視化。
AutoViz:簡介
AutoViz 解決了在執(zhí)行數(shù)據(jù)可視化工作時可能出現(xiàn)的許多上述挑戰(zhàn)。可以使用一行代碼調(diào)用該工具,方法是向其提供要導(dǎo)入的 Pandas 數(shù)據(jù)幀對象或原始 csv 文件。
如果觀察次數(shù)較多,AutoViz 會隨機抽取樣本;同樣,如果變量數(shù)量很大(您可以決定),AutoViz 可以找到最重要的特征,并僅使用那些自動選擇的特征繪制有影響力的可視化效果。用戶可以通過簡單地將參數(shù)傳遞給 AutoViz 來設(shè)置要可視化的樣本行數(shù)和最大特征數(shù)。AutoViz 能夠適應(yīng)任意數(shù)量的不同數(shù)據(jù)上下文,例如回歸、分類,甚至?xí)r間序列數(shù)據(jù)。它還以難以置信的速度提供輸出。
AutoViz 可以通過 4 個簡單的步驟實現(xiàn):
使用“pip install autoviz”安裝
使用“from autoviz.AutoViz_Class import AutoViz_Class”導(dǎo)入
實例化一個類“AV = AutoViz_Class()”
使用我們的數(shù)據(jù)集在以下行中運行實驗:
AutoViz的優(yōu)勢
使用 AutoViz 進(jìn)行可視化有很多優(yōu)勢。該庫非常易于解釋,可以使用 verbose=1 或 2 標(biāo)志設(shè)置為高度詳細(xì)模式。重復(fù)使用 XGBoost 模型,通過每次使用隨機的一組特征來確定最一致的一組被確定為重要的特征;最突出的選定特征可以用于指導(dǎo)未來的繪圖和可視化。這聽起來可能需要時間,但實際上,它完成得非常快。為了有效地做到這一點,AutoViz 將選定的變量分類為分類、數(shù)值、布爾、NLP 文本等,以便了解如何最好地繪制它們。最后,使用內(nèi)置的啟發(fā)式方法,該工具將返回被認(rèn)為具有最大影響的視覺效果。AutoViz 也非常系統(tǒng):它使用具有不同圖表類型的所有選定變量,以便通過讓圖表自己說話來提供最佳見解。主觀領(lǐng)域知識通常會使即使是經(jīng)驗豐富的數(shù)據(jù)科學(xué)家也傾向于只選擇少數(shù)圖表來突出數(shù)據(jù)集中的見解。AutoViz 對特征和繪圖的客觀選擇可以使用系統(tǒng)方法為數(shù)據(jù)團(tuán)隊指明最佳方法,并且可以從項目一開始就極大地提高團(tuán)隊的生產(chǎn)力。
AutoViz 在實踐中是什么樣子的?當(dāng)然,理解可視化庫的唯一方法是觀察它的一些圖。
數(shù)據(jù)集:在線購物者的意圖
讓我們從Kaggle 中獲取在線購物者的意圖數(shù)據(jù)集。該數(shù)據(jù)包括一年中對不同在線購物者的大約 12,000 次觀察。這是一個分類任務(wù);我們試圖根據(jù)功能集預(yù)測在線購物者是否會實際購買商品或只是“櫥窗購物”。AutoViz 能夠確認(rèn)所有 17 個特征都具有用于預(yù)測目標(biāo)變量的有用信息。
以下所有圖表均選自 AutoViz 提供的數(shù)百個圖表。首先,有一個條形圖表示構(gòu)成我們目標(biāo)類的觀察值的百分比。

很明顯,我們正在處理數(shù)據(jù)中的類不平衡,因為所需的類值(“真”)僅占總數(shù)據(jù)集的 15%。接下來,我們可以看到單個變量如何需要一些“處理”或“轉(zhuǎn)換”,因為 AutoViz 提供了每個數(shù)值變量的 KDE 圖。

從上面我們可以看到,所有四個變量都是右偏的,可能需要進(jìn)行“對數(shù)轉(zhuǎn)換”才能用于線性模型。在構(gòu)建數(shù)據(jù)管道以便稍后為問題建模時,這些類型的圖表將被證明是非常有用的。
可視化可以為不同變量之間的相互作用提供非常有力的證據(jù)。您可以從下圖中看到,高水平的跳出率和退出率可能是收入流失的良好指標(biāo)。它們表明這些交易不會產(chǎn)生任何收入??焖俣床欤绻廊绾伍喿x他們所說的“茶葉”!

我們可以通過檢查在線購物購買的標(biāo)準(zhǔn)化直方圖及其與特殊日子或假期(如情人節(jié)或圣誕節(jié))的距離,更深入地了解電子商務(wù)購買的時間。

最大的活動高峰發(fā)生在特殊日子前一周左右;盡管我們的課程不平衡,但大約 50% 的訪問者會在這個時間窗口內(nèi)購買商品。當(dāng)企業(yè)可能想要進(jìn)行促銷或定位潛在客戶時,這是一個關(guān)鍵提示。
數(shù)據(jù)集:Goodreads API
讓我們從Kaggle 中獲取在線購物者的意圖數(shù)據(jù)集。該數(shù)據(jù)包括一年中對不同在線購物者的大約 12,000 次觀察。這是一個分類任務(wù);我們試圖根據(jù)功能集預(yù)測在線購物者是否會實際購買商品或只是“櫥窗購物”。AutoViz 能夠確認(rèn)所有 17 個特征都具有用于預(yù)測目標(biāo)變量的有用信息。
以下所有圖表均選自 AutoViz 提供的數(shù)百個圖表。首先,有一個條形圖表示構(gòu)成我們目標(biāo)類的觀察值的百分比。

很明顯,我們正在處理數(shù)據(jù)中的類不平衡,因為所需的類值(“真”)僅占總數(shù)據(jù)集的 15%。接下來,我們可以看到單個變量如何需要一些“處理”或“轉(zhuǎn)換”,因為 AutoViz 提供了每個數(shù)值變量的 KDE 圖。

從上面我們可以看到,所有四個變量都是右偏的,可能需要進(jìn)行“對數(shù)轉(zhuǎn)換”才能用于線性模型。在構(gòu)建數(shù)據(jù)管道以便稍后為問題建模時,這些類型的圖表將被證明是非常有用的。
可視化可以為不同變量之間的相互作用提供非常有力的證據(jù)。您可以從下圖中看到,高水平的跳出率和退出率可能是收入流失的良好指標(biāo)。它們表明這些交易不會產(chǎn)生任何收入??焖俣床?,如果您知道如何閱讀他們所說的“茶葉”!

我們可以通過檢查在線購物購買的標(biāo)準(zhǔn)化直方圖及其與特殊日子或假期(如情人節(jié)或圣誕節(jié))的距離,更深入地了解電子商務(wù)購買的時間。

最大的活動高峰發(fā)生在特殊日子前一周左右;盡管我們的課程不平衡,但大約 50% 的訪問者會在這個時間窗口內(nèi)購買商品。當(dāng)企業(yè)可能想要進(jìn)行促銷或定位潛在客戶時,這是一個關(guān)鍵提示。
數(shù)據(jù)集:Goodreads API
AutoViz 還能夠提供使用 Goodreads API 抓取的大約 12,000 本書的數(shù)據(jù)集的信息視覺效果。數(shù)據(jù)集包含整體書籍元數(shù)據(jù),目標(biāo)變量是書籍的“平均評分”,這轉(zhuǎn)化為回歸分析。這一次,圖書館從數(shù)據(jù)集中刪除了一些變量,例如 ISBN 和書名,這些變量除了識別之外沒有提供太多預(yù)測信息。有趣的是,它刪除了作者特征,我們通常認(rèn)為這與一本書的成功有關(guān)。
但是,由于這是該數(shù)據(jù)集中的分類字符串變量,因此可能沒有足夠的證據(jù)來使用種類繁多的作者姓名作為特征。
AutoViz 輸出的相關(guān)熱圖表明,除了評分?jǐn)?shù)量和書面評論數(shù)量之間存在明顯關(guān)系外,大多數(shù)變量都不是高度相關(guān)的。有趣的是,頁數(shù)和評論分?jǐn)?shù)之間存在一些正相關(guān)。

通過分析以下散點圖,可以提取有關(guān)書籍頁數(shù)的更多信息:

頁數(shù)較多的書籍的平均評分往往在 4 分及以上。然而,值得注意的是,長度較短的書籍(100-250 頁)能夠獲得高達(dá) 5 分中的 5 分的平均評論分?jǐn)?shù)。然而,這些可能代表異常值,進(jìn)一步檢查這些高評分書籍以做出明智的選擇是明智的確保他們的評論分?jǐn)?shù)與其他條目相同。總體而言,這給人的印象是出版商可能希望將 1250-1500 頁設(shè)置為一本書的目標(biāo)頁數(shù),以使其表現(xiàn)良好。
這些信息可以與 Goodreads 上一本書的頁數(shù)呈正態(tài)分布右偏的知識相結(jié)合,因為許多書大約有 400-500 頁。

然后,我們可以使用 AutoViz 輸出的小提琴圖,將書中頁數(shù)的分布與集合中存在的其他變量的分布進(jìn)行比較。

平均圖書評分也呈正態(tài)分布,但偏左。負(fù)面評級可能是分布中的重要異常值。還可以觀察到,一本書的評分?jǐn)?shù)量看起來非常右偏;少數(shù)書籍可能會獲得過多的總評分。
數(shù)據(jù)集:AirBnB 列表數(shù)據(jù)
然后,AutoViz 能夠熟練地可視化 AirBnB 列表數(shù)據(jù),該數(shù)據(jù)由位于西班牙馬德里的 20,000 個列表的數(shù)據(jù)集提供。該數(shù)據(jù)庫是托管在Kaggle上的 AirBnB 數(shù)據(jù)關(guān)系集合的一部分,包括每個列表的床位和浴室數(shù)量、評論和日歷預(yù)訂等屬性。對于此實驗,目標(biāo)變量是 AirBnB 列表的評論分?jǐn)?shù)。每個條目都有許多相關(guān)的功能,乍一看令人生畏。值得慶幸的是,AutoViz 發(fā)現(xiàn)了許多可以排除的低信息變量,以減少數(shù)據(jù)的方差。一些排除在外的特征令人驚訝,例如房源的價格、平方英尺或附近。
自動生成的圖表對不同列表的某些方面提供了非常豐富的信息。例如,得知絕大多數(shù) AirBnB 主機在被聯(lián)系后的一個小時內(nèi)做出響應(yīng)可能會令人驚訝。

房東將整個居住空間作為房源的一部分也很常見,盡管約一半的房源可能只提供一個房間。然而,一旦大量房源用于公寓而不是馬德里的房子這一事實得到證實,這是有道理的。


我們的目標(biāo)變量的預(yù)測因素呢?對 AutoViz 生成的熱圖的分析表明,與列表評論評級最相關(guān)的特征是每月收到的評論數(shù)量。
許多 AirBnB 評論可能是正面的,因此這可能意味著 AirBnB 會員最好接待盡可能多的客人并激勵他們留下評論,因為隨著時間的推移,這可以最有效地提高房源的評論分?jǐn)?shù)。

房源評論評分有一個負(fù)相關(guān)特征,即 AirBnB 主機維護(hù)的房源數(shù)量。當(dāng)房源從主人那里得到更多個性化的關(guān)注而不是成為不同住宿分配的一部分時,它們的表現(xiàn)可能會更好。
結(jié)論
雖然這些只是 AutoViz 生成的繪圖的一個樣本,但不難看出自動化可視化的幫助有多大。很快,該庫就能夠生成高度信息化的圖,并為數(shù)據(jù)科學(xué)家的建?;蚍治龉艿捞峁┰S多潛在擴(kuò)展途徑。AutoViz 旨在集成到系統(tǒng)的迭代過程中。AutoViz可以有效地啟動探索性數(shù)據(jù)分析(EDA);可以根據(jù)工具的分析選擇特征,然后可以重復(fù)處理數(shù)據(jù)以進(jìn)行自動可視化。一旦生成了強大的可視化效果,數(shù)據(jù)科學(xué)家現(xiàn)在就可以開始建?;蛲ㄟ^明智的分析來傳達(dá)數(shù)據(jù)。令人驚訝的是,自動可視化選項如此稀少,因為它作為一種客觀和實用的工具有許多可以想象的用途,但幸運的是 AutoViz 很好地發(fā)揮了這一作用。現(xiàn)在讓我們開始一些可視化!
AutoViz自動化可視化的新工具就為大家介紹到這里,歡迎各位同學(xué)報名《呆瓜半小時入門python數(shù)據(jù)分析》,學(xué)習(xí)更多相關(guān)知識

版權(quán)聲明:文章來自公眾號(python風(fēng)控模型),未經(jīng)許可,不得抄襲。遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。