正經機器學習之小巧的流程可視化機器學習工具

首先感謝沉默哥,為我們提供了一個流程可視化的學習工具的文章。

好了,我們開始吧!!

作為Python的忠實擁躉,我非常鍾愛Anaconda,這個集成環境真是太好用了!前段時間我注意到了一個有點逗的橘子圖標(紅框)

看起來應該是個可視化工具,所以我打算試用一下,點擊Install安裝完成後,然後點Launch。

進入後是有個嚮導的,點擊New新建一個,就可以一大塊空白:

左側是一些工具,我們稍後就會用到,右邊的空白其實是畫布,一會兒我們的流程都會布置在上面。

左側的工具欄由5部分組成,分別是Data(數據)、Visualize(可視化)、Model(模型)、

Evaluate(評估)和Unsupervised(無監督學習)。我們先從Data中選取File,並拖到右側,

以便讀取本地文件中的源數據。

演示數據,大家可以在這下載

鏈接:pan.baidu.com/s/1jN6glC 密碼:hqpy

當然,現在什麼都還沒有發生,我們雙擊File,會彈出一個界面,讓你選擇要讀入的文件。你

還可以看到你讀取的數據有哪幾列,在下面的表格中你可以設置它們的名字,數據的類型以及

它們的作用。比如下圖中,我們讀入了train_sample.csv,一共有10萬行數據,8個特徵,前

五個特徵都是numeric(數值型),中間有兩個時間特徵,我們選擇了跳過(skip),最後

bought是個categorical(類別型),它的值是0或者1(二分類)。

接下來我們再拖入一些輔助組件,比如Data Table可以讓你查看錶格,Data Info可以查看源數據的總體信息,還有Data Sampler用於採樣。

每個組件都可能會有左右弧線(虛線),左側代表輸入,右側代表輸出,我們將File右側的弧線拖到其他三個的左側,將它們連接起來。

這意味著File中的數據會輸出,並作為另外三個組件的輸入。沒有輸入的話你是看不到任何東

西的,連接完成之後我們可以雙擊Data Table,這時就會出現表格的內容。

任何組件都可以雙擊,雙擊之後你可以在其中進行一系列操作。

接著我們雙擊Data Sampler,用它的採樣功能來分割數據,將數據分割為訓練集和驗證集。

我們從中分割出了80%的數據,並且勾選了Stratify Sample,這主要是基於源數據是嚴重偏

斜的數據(0比1多很多很多),因此我們要按0-1的比例採樣。設置完點擊Sample Data即可

完成。

隨後我們在左側的工具欄中選擇Evaluate(評估),將其中的Test & Score拖進來,這個主要

用來看模型在數據集上的各類評分。另外我們再拖一個ROC Analysis進來,可以查看ROC曲

線。我們把它們連接起來。

這個時候我們發現Evaluate的兩個組件中間是虛線,這代表沒有有效的數據傳輸。畢竟我們還

沒有制定機器學慣用的模型,而且我們的數據輸入也有點問題。雙擊Data Sampler與Test &

Score之間的連線,我們就能設置數據的傳輸情況。

這裡我們也是通過拖動,將採樣出來的那80%(Data Sample)連接到Data上,成為訓練集

數據。再把剩下的20%(Remaining Data)連接到Test Data上,成為測試集數據。

我們再從左側工具欄的Model中拖出幾個模型(RF、NBC、NN),並把它們的輸出也連接到

Test & Score的輸入端,它們會自己連接到Learner上。

我們也可以雙擊模型組件來設置模型的參數:

連接完成後Test & Score會自動訓練和評估,雙擊它我們會看到相應的結果:

可以看到這裡給出了一些常用的評估指標的得分。這裡顯示的是在驗證集上的得分,你可以點

左側看看模型再訓練集或者各種CV下的得分情況。

然後,我們再雙擊ROC Analysis,可以看到三種模型的ROC曲線:

我們也可以設置為只看1條

可以說非常直觀了。此外,我們還可以在數據處理的初期就加入一些可視化組件來查看數據的

分布等等,就像這樣:

當然啦,你還可以通過左下角的一些工具加入一些注釋,像這樣:

這就是關於Orange的簡單介紹啦,這款工具界面很友好,功能也很豐富,有興趣的可以自己

探索一下。不過這款工具不太適合超大量的數據,也應付不了非結構化數據,但作為機器學習

的演示工具來說卻非常合適,而且它操作簡單,界面直觀,也非常有利於入門學習。

文章的最後,再次感謝沉默哥的文章,在這列下他的公眾號:DreamSanctuary,他正在翻譯

一大部頭的書,MLAPP,有興趣的可以去看看。

推薦閱讀:

機器學習基石筆記15-16:小結和雜談
AlphaGo之父談人工智慧:超越人類認知的極限
機器學習技法筆記7:融合模型(Aggregation Models)
譜聚類的consistency
為什麼要對特徵進行縮放(歸一化)

TAG:可視化 | 機器學習 |