?? 關(guān)注一下~,更多商業(yè)數(shù)據(jù)分析案例等你來(lái)撩
本文將專注于決策樹(shù)的可視化過(guò)程,建模原理、結(jié)果分析和模型優(yōu)化則會(huì)在未來(lái)的博文中呈現(xiàn)。P.S:決策樹(shù)為客戶流失預(yù)警項(xiàng)目的必會(huì)技能,相關(guān)數(shù)據(jù)源和超詳細(xì)的代碼解析可空降文末~~
前言
以下是筆者見(jiàn)過(guò)的對(duì)可視化初學(xué)者們最友好的概括:數(shù)據(jù)可視化是數(shù)據(jù)視覺(jué)表現(xiàn)形式的科學(xué)技術(shù)研究,主要是借助圖形化的手段來(lái)清晰有效地傳達(dá)與溝通信息。但這絕不意味著數(shù)據(jù)可視化必須為實(shí)現(xiàn)其功能而去深究枯燥的繪圖代碼,亦或是為了使圖畫(huà)看上去高端絢麗而顯得過(guò)于復(fù)雜。
需求
決策樹(shù)模型是解釋性模型的鼻祖,也是最好解釋的模型.最難解釋的則是神經(jīng)網(wǎng)絡(luò),所以TA 又被稱為“黑盒模型”。所以兩者一塊學(xué)可以更好的比較優(yōu)缺點(diǎn)。有些實(shí)踐案例和業(yè)務(wù)運(yùn)用上只需要效果好,能較快的響應(yīng)和被使用就行,那決策樹(shù)是一個(gè)不錯(cuò)的選擇;如果領(lǐng)導(dǎo)堅(jiān)持要求模型可解釋,而且一定要在數(shù)據(jù)庫(kù)中落地(如能寫(xiě)出 sql,讓業(yè)務(wù)人員一下子就看懂,而且也能獲得一些靈感),決策樹(shù)就是一個(gè)很不錯(cuò)的模型。其實(shí)用戶畫(huà)像就是用戶的特征,決策樹(shù)也可以用來(lái)做用戶畫(huà)像。
決策樹(shù)建模的結(jié)果需要可視化后才能很好的看出分類過(guò)程,方法便捷的同時(shí)還要兼具一定的美感。搜索引擎以及一些常見(jiàn)的程序員求助社區(qū)(Baidu, Google, CSDN, Stackoverflow, 簡(jiǎn)書(shū),博客園,知乎等)等反饋的最常用的決策樹(shù)可視化方法的關(guān)鍵詞都包含 dot,Graphviz,先來(lái)看一下主要代碼:
代碼也不長(zhǎng),只需要往 sklearn.tree 的 export_graphviz 函數(shù)中傳入指定參數(shù)即可。要想使上述代碼成功運(yùn)行,需安裝額外的包還不算什么,但相信 graphviz 的配置過(guò)程還是難到了一部分 windows 客戶,以下為官方用法的步驟拆解:
使用dot文件進(jìn)行決策樹(shù)可視化需要安裝一些工具:
第一步:安裝graphviz。linux可以用apt-get或者yum的方法安裝。如果是windows,就在官網(wǎng)下載msi文件安裝。無(wú)論是
linux 還是 windows,裝完后都要設(shè)置環(huán)境變量,將 graphviz 的 bin 目錄加到 PATH,比如 windows,將
C:/Program Files (x86)/Graphviz2.38/bin/加入了PATH
第二步:安裝 python 插件 graphviz:pip install graphviz
第三步:安裝 python 插件 pydotplus: pip install pydotplus
配置方面還是有點(diǎn)麻煩的,而且 “ graphviz + dot ” 的這個(gè)組合畫(huà)出的許多圖又都是如下這樣的,在一定程度上欠缺美感。
所以筆者通過(guò)廣閱資料和優(yōu)秀的技術(shù)博文,加以實(shí)操總結(jié)和優(yōu)化,最終發(fā)現(xiàn) sklearn.tree 里面就已經(jīng)有了自動(dòng)實(shí)現(xiàn)決策樹(shù)可視化的函數(shù),只需通過(guò)添加不同參數(shù)并結(jié)合 matplotlib 便可快速繪制出較為精美的決策樹(shù),對(duì)數(shù)據(jù)可視化初學(xué)者十分友好。
效果實(shí)現(xiàn)
篇幅原因,這里只展示核心的可視化過(guò)程,簡(jiǎn)單的建模過(guò)程都放在了后臺(tái)資源,文末回復(fù)關(guān)鍵詞即可獲取。
方法1:只添加最基本的參數(shù)(跟沒(méi)可視化沒(méi)什么區(qū)別,可讀性很糟糕)
方法2:通過(guò)結(jié)合 matplotlib,添加參數(shù)來(lái)優(yōu)化可視化結(jié)果
注:相關(guān)數(shù)據(jù)源和超詳細(xì)的代碼(python,Jupyter Notebook 版本 + 詳細(xì)注釋)已經(jīng)整理好,在 “ 數(shù)據(jù)分析與商業(yè)實(shí)踐 ” 公眾號(hào)后臺(tái)回復(fù) “ 決策樹(shù)可視化 ” 即可獲取。
精彩回顧