具体操作是用python吗
你数据是存在哪儿的,如果是存在mysql里面的,那可以 使用orngMySQL和orngSQL模块,如下所示 t=orngMySQL.Connect('local','root','','test') data=t.query(SELECT * FROM busclass) tree=orngTree.TreeLearner(data) orngTree.printTxt(tree,nodeStr=%V (%1.0N),leafStr=%V (%1.0N))
Orange是类似KNIME和Weka KnowledgeFlow的数据挖掘工具,它的图形环境称为Orange画布(OrangeCanvas),用户可以在画布上放置分析控件(widget),然后把控件连接起来即可组成挖掘流程。这里的控件和KNIME中的节点是类似的概念。每个控件执行特定的功能,但与KNIME中的节点不同,KNIME节点的输入输出分为两种类型(模型和数据),而Orange的控件间可以传递多种不同的信号,比如learners, classifiers, evaluation results, distance matrices, dendrograms等等。Orange的控件不象KNIME的节点分得那么细,也就是说要完成同样的分析挖掘任务,在Orange里使用的控件数量可以比KNIME中的节点数少一些。
Orange的好处是使用更简单一些,但缺点是控制能力要比KNIME弱。除了界面友好易于使用的优点,Orange的强项在于提供了大量可视化方法,可以对数据和模型进行多种图形化展示,并能智能搜索合适的可视化形式,支持对数据的交互式探索。Orange的弱项在于传统统计分析能力不强,不支持统计检验,报表能力也有限。Orange的底层核心也是采用C++编写,同时允许用户使用Python脚本语言来进行扩展开发。
Orange的特点是界面友好易于使用,提供大量可视化方法,提供Python编程接口,于是决定试用一下。
网上可以搜索到的Orange中文资料不多,这篇《利用orange进行关联规则挖掘》 给了一个通过Python调用Orange中的Apriori算法进行关联分析的例子,更详细的通过Python调用Orange的文档参考官网上的Beginning with Orange.图形界面的使用没看到文档,不过界面简单易懂,看看features里的screenshots也可猜个大概。参考Beginning with Orange中的Classification小节,以用Naive Bayesian Classifer处理Orange自带的示例数据集voting.tab为例,对代码做了少量修改:
运行上面的代码,可得到如下输出:bingo! original republican classified as republican……bingo! original republican classified as republicanbingo! original republican classified as republicanCA: 0.9034分类准确率CA为0.9034.Python调用非常容易,只用了十几行代码,不过如果用图形界面,这个简单的分类只需要选择Data->File,Classify->Naive Bayes和Evaluate->Test Learners就行了,如下图所示,在File窗口中选择Data File为voting.tab,通过简单的拖拉将widget连起来即可,双击Test Learners可以看到CA为0.9011.
对比Python代码的输出和图形界面的结果,会发现两个结果不一致,原因是图形界面中使用的是5重交叉验证,而代码中使用的训练数据,如果选择”Test on train data”,两者就一致了。
410彩票app