資料探勘方興未艾,大量新事物層出不窮。本系列將介紹我們自主設計的資料探勘軟體平台。與大家共同分享對知識,微博,人際等複雜網路的分析,以及對自然語言處理的見解。一直以來,以高校為代表的學術界和以公司為代表的商業界,都有很大的隔閡。學術界普遍不會做產品,商業界普遍不會搞研究。如果兩者都強,那就是美**方了。
在資料探勘領域更是如此,大量關於複雜網路,自然語言處理的牛文層出不窮,卻被研究機構和大公司養在深閨人未識。絕大多數智慧型機器學習演算法被封裝在基礎層中,以潛移默化的方式服務使用者(比如使用者推薦等),普通使用者無法將其用於自己的應用場景。 而以spss為代表的統計和商業智慧型為核心的平台,使用複雜,結構封閉,它們以統計為核心,但在真正的「智慧型」領域,依舊缺乏火候。因此,我們需要能面向普通使用者的易用系統,甚至不需要寫指令碼。
說到資料探勘,就一定要和「大資料」放在一起。可是,幾百萬條的資料,根本不算是大資料,一台筆記本都能在數小時內處理完成,更不需要用複雜的分布式引擎去完成(可能為了實現這套演算法,開發時間就比使用時間都長)。而真正的應用場景,資料越大,反而越不值錢,99%都是百萬級以下的資料量。因此,我們需要能在膝上型電腦上良好工作的系統。
對於普通使用者,他希望能簡單直接的看到分析結果,了解複雜資料間的網路關係,了解資料的地理分布,了解如何被分類。因此,我們需要強大的視覺化工具。
現有的種種功能,也許在未來的應用場景中依然不夠完備。因此平台的功能需要隨時擴充套件,甚至面向行業做專業的定**務。我們需要靈活的,可擴充套件性強的系統。
總結以上觀點,我們要開發一套使用簡單,易於擴充套件,可面向領域,強化視覺化和服務性,整合從資料匯入到分析和視覺化完整流程的資料探勘系統,體現自己的獨特優勢,於是,該平台誕生了。
我的外掛程式式桌面軟體框架類庫(一)xfrmwork簡介
ittc資料探勘平台介紹(綜述)——平台簡介
ittc資料探勘平台介紹(二) 微博資料探勘和分析
ittc資料探勘平台介紹(三) 微博社團和傳播分析
ittc資料探勘平台介紹(四) 框架改進和新功能
ittc資料探勘平台介紹(五) 資料匯入匯出嚮導和報告生成
ittc資料探勘系統(六)批量任務,資料檢視器和自由文件
ittc資料探勘平台介紹(七)強化的資料庫,
虛擬化,指令碼編輯器
1. 與hadoop等開源分布式框架的互動
我們不需要重頭開發自有的分布式平台,要做好的是前台和後台的介面。hadoop已經成為分布式處理的事實標準,通過webservice和rpc等方式,打通平台間的通訊。如此一來,hadoop不需要與真實資料做互動,它要處理的,僅僅是軟體平台傳給它的抽象資料型別。 這樣,hadoop就可只關心演算法邏輯,大大減輕傳輸資料量。而平台也能充分利用分布式系統輕鬆實現並行化。
2. 與spss和excel等成熟商業統計系統的互動
論統計功能,我們無法與這些成熟平台相提並論,但系統可以方便的生成供這些工具使用的指令碼和業務邏輯,減輕分析負擔。
該平台的主要技術特徵有:
1. 整合了從資料採集/儲存,分析(聚類,分類,語義推斷等) ,視覺化和其他服務。
2. 元件式結構,良好的擴充套件性,所有的功能和模組以外掛程式接入系統。通用演算法可對所有實現一定介面的資料實現。
3. 前端使用.net開發,後端使用
4. 目前支援對新聞,微博,科研專案/專利/**和知識網路分析。
5. 後台可採用hadoop雲計算平台加速計算,並通過跨平台互動技術實現訪問。
下圖是該軟體的結構:
本平台基於作者開發的xfrmwork框架之上,xfrmwork提供了多數底層服務,具體介紹請看這裡。
下面,我們將會介紹其中的一些技術和實現結果,與大家分享。本節主要介紹軟體的一些功能。
為保證良好的擴充套件性以支援當前和未來的需求,資料型別被抽象成眾多介面。例如」文章「型別可實現分詞處理,便需要實現isegwordable介面,若要實現位置檢索,也需實現相應的介面。演算法在處理資料時,處理的是介面而非實體。
例如, 科研專案資料型別實現了關係計算,分詞和位置檢索介面.
[xfrmwork("科研專案", "icomputeable", "科研專案資料", "")]
public partial class projectinfo : irelationcomputeable, isegwordable, igeopositionsearchable
不同資料型別的靜態特徵,如**樣式,繪圖形狀等特點,都通過靜態方法呈現。系統通過反射靜態方法獲得。
所有的資料型別都實現了icomputable介面,從而滿足基本的檢索,儲存服務。
通過以上技術,使得軟體/演算法徹底與資料型別無關,它們在程式設計時面對的都是介面。 分詞演算法不需要考慮是哪種演算法型別。介面顯示不考慮資料型別的同時,又能獲得個性化的視覺效果。
系統的資料訪問層通過entity framework實現,可方便的相容sql server ,mysql等主流資料庫,並提供高效的訪問修改機制。
同樣,軟體可讀取xml/text,通過序列化或者特定的編碼方法讀取外部的資料檔案。
所有的資料在送入演算法模組前,都被抽象為資料容器集合,供演算法呼叫:
除了常規的資料匯入,平台還整合了爬蟲和api呼叫功能。
這些資料都可以存入資料庫,或者作為演算法資料來源傳給演算法模組。
演算法模組通過外掛程式形式接入系統,這些演算法包括基本的分詞、資料統計等,也包括視覺化類別如地圖,布點等,或者針對特定資料型別如微博的關係分析等。
如上圖,您可以將這些演算法方便的拖動到執行列表中。
在配置選單中,可以選擇演算法要處理的資料來源,同時可設定演算法對應的引數。
為了在模組級別上更好的支援**重用,系統採用了演算法組裝技術。 我們可考慮類似labview的g語言,不同的演算法模組具有特定的輸入和輸出,符合匹配的輸出可作為某一模組輸入端的資料資訊。例如,分詞模組需作為很多演算法的「預處理」模組,因此實現了isegwordmethod介面,同時可以向外提供對應的分詞資料。
如下圖:
以上,計算方法a,b作為計算方法c的輸入,當a,b計算完成後,會自動將結果傳給c,c繼續計算。若希望了解更詳細的細節,可參考我的博文:實現自組裝的外掛程式技術。
系統充分考慮了實際開發的方便性,在底層為演算法提供了除錯輸出工具,進度指示工具和後台執行緒。演算法編寫者可不考慮多執行緒/並行,這些都由平台在底層自行完成。
資料探勘的重要特性,就是將隱含於海量資料中的關係和知識展示出來,展示的技巧和效果,最終直接影響到使用者的接受度和資訊有效性,因此我們在視覺化上做了大量的工作。
所有的引數都可以圖形化配置,採用簡單的拖拽方式進行操作。結果以列表,柱狀圖,曲線,地圖地標和網路檢視表示。同時可提供針對特定資料的視覺化顯示實現。
類似datagrid, 通過訂製特別的listview,可呈現列表資料,同時使用者可對這些資料進行篩選,排序等操作。
該畫布可作為顯示資料間關係網路的利器。
資料探勘綜述
1.請用一句話介紹資料探勘?資料探勘是從大量資料中發現有趣知識的過程 它涉及多個交叉學科,如統計 機器學習 資訊檢索 模式識別 生物資訊 它應用領域廣泛,如電子商務 零售 金融 通訊 社交 2.資料探勘主要包含哪些技術?分類與 聚類 離群點檢測 關聯規則 序列分析 時間序列分析 文字挖掘 社交網路分...
基於WEB 的資料探勘綜述
1 什麼是基於web 的資料探勘 當前網路發展迅速,各種 比比皆是。但在競爭日益激烈的網路經濟中,只有贏得使用者,才能最終贏得競爭的優勢。作為乙個 的管理員或擁有者,應該知道用 戶都在他的 上幹什麼,知道 哪些部分最為使用者喜愛,哪些讓使用者感到厭煩,什麼地方出了安全漏洞,什麼樣的改動帶來了顯著的使...
基於WEB的資料探勘綜述
周 競揚 mg0133041 南京大學電腦科學與技術系分布式與並行系統實驗室 江蘇 南京 210093 摘 要 基於web 的資料探勘是當前相當熱門的方向之一,本文對此作了乙個比較全面的綜述。概括了基於web 的資料探勘的主要概念和特點,說明各類web 挖掘尤其是基於web 使用的挖掘所常用的技術,...