" />
orange(數(shù)據(jù)挖掘軟件)是一個(gè)基于組件的數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)軟件套裝,它的功能即友好,又很強(qiáng)大,快速而又多功能的可視化編程前端,以便瀏覽數(shù)據(jù)分析和可視化,基綁定了Python以進(jìn)行腳本開發(fā)。它包含了完整的一系列的組件以進(jìn)行數(shù)據(jù)預(yù)處理,并提供了數(shù)據(jù)帳目,過渡,建模,模式評(píng)估和勘探的功能。其由C++ 和 Python開發(fā),它的圖形庫是由跨平臺(tái)的Qt框架開發(fā)。
除了界面友好易于使用的優(yōu)點(diǎn),Orange的強(qiáng)項(xiàng)在于提供了大量可視化方法,可以對(duì)數(shù)據(jù)和模型進(jìn)行多種圖形化展示,并能智能搜索合適的可視化形式,支持對(duì)數(shù)據(jù)的交互式探索。
Orange的弱項(xiàng)在于傳統(tǒng)統(tǒng)計(jì)分析能力不強(qiáng),不支持統(tǒng)計(jì)檢驗(yàn),報(bào)表能力也有限。Orange的底層核心也是采用C++編寫,同時(shí)允許用戶使用Python腳本語言來進(jìn)行擴(kuò)展開發(fā)。nbsp;支持Python的Orange數(shù)據(jù)挖掘軟件實(shí)例:Orange的特點(diǎn)是界面友好易于使用,提供大量可視化方法,提供Python編程接口,于是決定試用一下。
數(shù)據(jù)是怎么導(dǎo) 入Orange里的:具體操作是用python嗎你數(shù)據(jù)是存在哪兒的,如果是存在mysql里面的,那可以 使用orngMySQL和orngSQL模塊,如下所示 torngMySQL.Connect#39;localhost#39;#39;root#39;#39;#39;#39;test#39; datat.queryquot;SELECT * FROM busclassquot; treeorngTree.TreeLearnerdata orngTree.printTxttreenodeStrquot;V 1.0Nquot;leafStrquot;V 1.0Nquot;Orange怎么用?Orange是類似KNIME和Weka KnowledgeFlow的數(shù)據(jù)挖掘工具,它的圖形環(huán)境稱為Orange畫布(OrangeCanvas),用戶可以在畫布上放置分析控件(widget),然后把控件連接起來即可組成挖掘流程。這里的控件和KNIME中的節(jié)點(diǎn)是類似的概念。每個(gè)控件執(zhí)行特定的功能,但與KNIME中的節(jié)點(diǎn)不同,KNIME節(jié)點(diǎn)的輸入輸出分為兩種類型(模型和數(shù)據(jù)),而Orange的控件間可以傳遞多種不同的信號(hào),比如learners classifiers evaluation results distance matrices dendrograms等等。Orange的控件不象KNIME的節(jié)點(diǎn)分得那么細(xì),也就是說要完成同樣的分析挖掘任務(wù),在Orange里使用的控件數(shù)量可以比KNIME中的節(jié)點(diǎn)數(shù)少一些。Orange的好處是使用更簡(jiǎn)單一些,但缺點(diǎn)是控制能力要比KNIME弱。
網(wǎng)上可以搜索到的Orange中文資料不多,這篇《利用orange進(jìn)行關(guān)聯(lián)規(guī)則挖掘》 給了一個(gè)通過Python調(diào)用Orange中的Apriori算法進(jìn)行關(guān)聯(lián)分析的例子,更詳細(xì)的通過Python調(diào)用Orange的文檔參考官網(wǎng)上的Beginning with Orange.圖形界面的使用沒看到文檔,不過界面簡(jiǎn)單易懂,看看features里的screenshots也可猜個(gè)大概。參考Beginning with Orange中的Classification小節(jié),以用Naive Bayesian Classifer處理Orange自帶的示例數(shù)據(jù)集voting.tab為例,對(duì)代碼做了少量修改:
#-*-nbsp;encoding:nbsp;utf-8nbsp;-*-#nbsp;導(dǎo)入orange包importnbsp;orange#nbsp;導(dǎo)入測(cè)試數(shù)據(jù)voting.tabdatanbsp;nbsp;orange.ExampleTablequot;votingquot;#nbsp;使用Naivenbsp;Bayesiannbsp;Classiferclassifiernbsp;nbsp;orange.BayesLearnerdatanbsp;#nbsp;輸出all_datanbsp;nbsp;lendatabingonbsp;nbsp;0nbsp;fornbsp;dnbsp;innbsp;data:nbsp;nbsp;nbsp;nbsp;nbsp;#nbsp;分類器輸出的類別nbsp;nbsp;nbsp;nbsp;ccnbsp;nbsp;classifierdnbsp;nbsp;nbsp;nbsp;#nbsp;原文件中數(shù)據(jù)中的類別nbsp;nbsp;nbsp;nbsp;ocnbsp;nbsp;d.getclassnbsp;nbsp;nbsp;nbsp;ifnbsp;ocnbsp;nbsp;cc:nbsp;nbsp;nbsp;nbsp;nbsp。