orange(数据挖掘软(ruǎn)件)是一(yī)个基于(yú)组(zǔ)件的数据挖掘和机器学习软(ruǎn)件套装,它的功能即友好,又很强大,快速而又(yòu)多功能的可(kě)视化(huà)编程前端(duān),以便浏览数据分析(xī)和可视化(huà),基绑定了Python以进行(háng)脚本(běn)开发。它包含了(le)完整的一(yī)系列(liè)的组件以进行数据预处理,并提供了数据(jù)帐目,过渡,建模,模式评估(gū)和勘探的(de)功(gōng)能(néng)。其由C++ 和(hé) Python开发,它的图形(xíng)库(kù)是由跨平台的(de)Qt框架开发。
除了界面友好易(yì)于使用的优(yōu)点(diǎn),Orange的强项在(zài)于(yú)提供了(le)大量(liàng)可(kě)视化方(fāng)法(fǎ),可(kě)以对(duì)数据和(hé)模型进行(háng)多种图形化展示(shì),并(bìng)能智能搜索合适的可视化形式(shì),支持(chí)对数据的交(jiāo)互式探索。
Orange的弱项在于传统(tǒng)统计分析能(néng)力不强,不支持统计检验,报表(biǎo)能力也有(yǒu)限。Orange的(de)底层核心也是采用C++编(biān)写(xiě),同时允许用户(hù)使(shǐ)用Python脚本(běn)语言来进行扩展开发。nbsp;支(zhī)持Python的Orange数据挖掘软件实例:Orange的特点是(shì)界面友好易于使用,提供大(dà)量可视(shì)化方法,提供Python编程(chéng)接口,于是决定试用一下(xià)。
数(shù)据是怎么导 入Orange里的(de):具体操作是(shì)用(yòng)python吗你数据是存(cún)在哪儿的,如果(guǒ)是存在mysql里面的,那(nà)可(kě)以 使用(yòng)orngMySQL和orngSQL模块,如下(xià)所示 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的数据挖(wā)掘工具(jù),它(tā)的图形环境称为Orange画布(bù)(OrangeCanvas),用户可以在画布上放置分(fèn)析控件(widget),然后(hòu)把控件连接起来(lái)即可(kě)组成挖掘流(liú)程。这里的控件和(hé)KNIME中的节点是类似的概(gài)念。每个控件执行特(tè)定的功能(néng),但与KNIME中的节点不同,KNIME节点(diǎn)的输入(rù)输出分为两种类(lèi)型(xíng)(模型和数据),而Orange的控件间(jiān)可以传递多种不同(tóng)的(de)信号(hào),比如learners classifiers evalsuation results distance matrices dendrograms等等。Orange的控件不象KNIME的节点分得(dé)那么(me)细,也就是说(shuō)要完成同样的分析挖(wā)掘任务(wù),在Orange里使用的控件数量(liàng)可以比KNIME中的节(jiē)点数少一些。Orange的好处是(shì)使用更简单一些(xiē),但缺点是控制能力要(yào)比KNIME弱。
网上可以(yǐ)搜索到的Orange中文资料不多(duō),这(zhè)篇《利用orange进行关联规(guī)则挖掘(jué)》 给了(le)一个通(tōng)过Python调用Orange中的Apriori算法进行关联分析的(de)例(lì)子,更(gèng)详细的通(tōng)过(guò)Python调用Orange的文档参考官网上的Beginning with Orange.图形界面的使用没看到文档,不过界面简(jiǎn)单易懂,看看features里的screenshots也可猜个大概。参考(kǎo)Beginning with Orange中(zhōng)的Classification小节,以用Naive Bayesian Classifer处理Orange自带的示例(lì)数据(jù)集voting.tab为例,对代码做(zuò)了少量(liàng)修改:
#-*-nbsp;encoding:nbsp;utf-8nbsp;-*-#nbsp;导入(rù)orange包importnbsp;orange#nbsp;导入(rù)测试数(shù)据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;分(fèn)类(lèi)器输出的(de)类别nbsp;nbsp;nbsp;nbsp;ccnbsp;nbsp;classifierdnbsp;nbsp;nbsp;nbsp;#nbsp;原文件中数(shù)据中的类别nbsp;nbsp;nbsp;nbsp;ocnbsp;nbsp;d.getclassnbsp;nbsp;nbsp;nbsp;ifnbsp;ocnbsp;nbsp;cc:nbsp;nbsp;nbsp;nbsp;nbsp。
