天天看點

[轉載]易上手的資料挖掘、可視化與機器學習工具: Orange介紹

PostgreSQL , Orange3 , 可視化 , 時空資料

可視化分析會是一個讓枯燥的資料說話的快捷途徑,降低可視化分析門檻,同時又保留它的程式設計能力,是非常重要的。

如今資料種類越來越多,除了常見的數值、文本,還有數組、K-V、圖像、空間資料、波、基因 等等。對可視化分析軟體的要求也越來越高。

<a href="http://blog.just4fun.site/Orange-startup.html">http://blog.just4fun.site/Orange-startup.html</a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_001.png" target="_blank"></a>

<a href="http://blog.just4fun.site/caravel-startup-and-install.html">caravel系列之安裝與入門</a>

<a href="http://blog.just4fun.site/caravel-config.html">caravel系列之簡易配置/定制</a>

<a href="http://blog.just4fun.site/caravel-demo-analysis.html">caravel系列之案例講解與分析</a>

<a href="http://blog.just4fun.site/caravel-code.html">caravel系列之架構與源碼淺析</a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_002.png" target="_blank"></a>

和許多資料分析的項目不同,其他項目多數面向資料分析從業人員、軟體開發者。而Orange讓各行各業對資料挖掘和可視化感興趣的人都能參與其中,而不必有程式設計基礎

安裝完畢打開軟體,跟着以下教程即可對它做大緻了解

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_003.png" target="_blank"></a>

官方首頁對這個項目的介紹是:

Open source machine learning and data visualization for novice and expert. Interactive data analysis workflows with a large toolbox.

該項目源碼開放,對新手友好,同時也勝任專業的資料分析工作。

Orange是一個基于元件的資料挖掘軟體,它包含了一組資料可視化、探索、預處理和模組化的技術。

它不但帶有一個新手友好的使用者界面,老司機們也可以把它用作Python的一個子產品。

如果要用一些簡單的詞描述它,我想到以下标簽:

開源

python

資料可視化

資料模式探索

機器學習

拖曳式

積木化

互動式的資料可視化探索:你可以用它做簡單的分析,諸如統計分布、箱形圖(Box plot)、散點圖。也可以做深入挖掘,諸如使用決策樹、聚類、熱圖等。通過智能的屬性選擇,你可以在2維平面上探索多元資料

可視化程式設計:圖形化界面允許你專注于探索資料,而不是編碼。你要做的事隻是在畫布上拖曳小部件、連接配接它們、加載資料集,如此便可獲得資料洞察力!

适合用于教學(jupyter出自生物學家之手,Orange似乎也和生物學領域有關,他們都讓資料分析工作的協作交流變得簡單有趣)

附加擴充功能:通過使用各種插件,我們可以做各種各樣的事:

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_004.png" target="_blank"></a>

我折騰過的資料可視化工具多而雜, 以下是我偏好Orange的幾個原因

安裝極其建議(二進制安裝包)

對新手友好,易于上手,許多操作憑直覺即可甚至不需要文檔

讓普通使用者能使用機器學習去發現資料模式,這項工作之前往往需要技術背景

支援excel檔案直接導入

對中文支援良好(目前尚未遇到亂碼)

可視化的程式設計方式,使用者無需編碼,資料在各個元件裡流動,通過拖曳元件即可開始探索資料

互動式的探索過程,每一個元件疊加都能及時得到回報。如同REPL(讀取﹣求值﹣輸出循環)般靈活順滑

同時也簡單列出我認為不足的地方

對資料源的支援不夠豐富,目前Orange3隻支援PostgreSQL資料庫,當然這是站在開發者的角度的挑刺,普通使用者對此沒有需求

無法像tableau一樣把探索結果作為網頁釋出。不過浏覽了一遍官方源碼庫,他們似乎有這個計劃。把它和superset整合在一起,指不定能折騰出一個商業應用

關于對資料庫的支援,估計随着項目的推進,會慢慢完備起來,這塊基本隻是時間的問題。(PS:不過PostgreSQL, Greenplum實際上都非常強大,不僅僅能夠完美的展現時空資料,還支援并行計算。)

接下來有空我們分析下,這個項目在技術層面有哪些有趣的東西

<a href="https://github.com/biolab/orange3">orange3</a>

<a href="http://orange.biolab.si/">orange.biolab.si</a>

<a href="https://my.oschina.net/u/2306127/blog/548833">Orange-資料挖掘和機器學習軟體</a>

<a href="http://hao.jobbole.com/orange/">Orange:通過可視化程式設計或 Python 腳本進行資料挖掘、資料可視化、分析和機器學習</a>

這裡有大量的例子:

<a href="http://blog.biolab.si/">http://blog.biolab.si/</a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_005.png" target="_blank"></a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_006.png" target="_blank"></a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_007.png" target="_blank"></a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_008.png" target="_blank"></a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_009.png" target="_blank"></a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_010.png" target="_blank"></a>

<a href="https://github.com/digoal/blog/blob/master/201801/20180102_01_pic_011.png" target="_blank"></a>