本文概述
Orange是一个C ++核心对象和例程库, 其中包含大量的标准和非标准机器学习以及数据挖掘算法。它是一种开源数据可视化, 数据挖掘和机器学习工具。 Orange是一个可编写脚本的环境, 用于快速构建最新算法和测试模式的原型。它是核心库中存在的一组基于python的模块。它实现了一些功能, 对于这些功能而言, 执行时间不是必需的, 而这是在Python中完成的。
它合并了各种任务, 例如决策树的漂亮打印, 装袋和增强, 属性子集等等。 Orange是一组图形控件, 它们利用了核心库和orange模块的策略, 并提供了不错的用户界面。该小部件支持基于数字的通信, 并且可以通过称为orange画布的可视编程工具收集到一个应用程序中。
所有这些共同使Orange成为用于数据挖掘和机器学习的基于组件的专有算法。 Orange是为有经验的用户和数据挖掘与机器学习的分析人员而提出的, 他们既要创建和测试自己的算法, 又要重用尽可能多的代码, 并且适合那些只希望能够为数据编写简短python内容的领域的用户分析。
Orange的目标是为基于实验的选择, 预测建模和推荐系统提供一个平台。它主要用于生物信息学, 基因组研究, 生物医学和教学。在教育中, 它用于为生物学, 生物医学和信息学的学生提供更好的数据挖掘和机器学习教学方法。
orange数据挖掘
Orange支持面向开发人员, 分析师和数据挖掘专家的灵活域。 Python, 新一代的脚本语言和编程环境, 在这里我们的数据挖掘脚本可能很简单但功能强大。 Orange采用基于组件的方法进行快速原型制作。我们可以像放置乐高积木一样实施我们的分析技术, 甚至可以利用现有算法。什么是用于编写用于可视化编程的Orange小部件的Orange组件?小部件利用经过特殊设计的通信机制来传递诸如分类器, 回归变量, 属性列表和数据集之类的对象, 从而允许使用现代方法和技术轻松构建相当复杂的数据挖掘方案。
Orange核心对象和Python模块合并了许多数据挖掘任务, 这些任务远非用于评估和建模的数据预处理。 Orange的工作原理是数据挖掘和机器学习中的涵盖技术和视角。例如, Orange自上而下的决策树归纳法是一种技术组件, 它包含许多组件, 任何人都可以用python进行原型制作, 并代替原始组件使用。 Orange小部件不是简单的图形对象, 它为Orange中的特定策略提供了图形界面, 它还包括一种可适应的信号机制, 用于通信和交换对象, 例如数据集, 分类模型, 学习者, 存储结果的对象。评定。所有这些想法都是有意义的, 并且可以从其他数据挖掘结构中共同识别Orange。
orange小部件
Orange小部件为我们提供了图形用户界面, 以了解Orange的数据挖掘和机器学习技术。它们包含用于数据输入和预处理, 分类, 回归, 关联规则的小部件, 以及用于模型评估和评估结果可视化的一组小部件以及用于将模型导出到PMML的小部件。
小部件通过从发送方传递到接收方小部件的令牌来传递数据。例如, 文件窗口小部件输出数据对象, 这些数据对象可以由窗口小部件分类树学习器窗口小部件接收。分类树构建分类模型, 该分类模型将数据发送到以图形方式显示该树的小部件。评估窗口小部件可以从文件窗口小部件和对象获取数据集。
orange脚本
如果要访问Orange对象, 则需要编写脚本并通过脚本设计测试方案和机器学习应用程序。 Orange与Python交互, 这是一种易于使用的脚本语言, 具有清晰而强大的语法和大量附加库的模型。与任何脚本语言一样, Python可用于相互测试一些想法或开发更详细的脚本和程序。
我们将通过一个示例来了解它是如何使用Python和Orange的, 并考虑一个简单的脚本来读取数据集并打印使用的属性数量。我们将利用UCI机器学习存储库中称为“投票”的分类数据集, 该分类数据集记录印度国会议员中的每位议员(国会议员)的十六张主要选票, 并为每个国会议员标记党籍:
进口橙
data1 = orange.ExampleTable(’voting.tab’)
print(’Instance:’, len(data1))
打印(属性:’, 1len(data.domain.attributes))
在这里, 我们可以看到脚本首先加载到orange库中, 读取数据文件, 然后打印出我们关注的内容。如果我们将此脚本存储在script.py中, 并通过外壳命令“ python script.py”运行它, 请确保数据文件位于同一目录中, 那么我们将获得
实例:543
属性:16
让我们继续执行脚本, 该脚本使用朴素的贝叶斯分类器创建的相同数据, 并打印前五个实例的分类:
模型=orangeBayesLearner(data1)
对于我在范围(5)中:
打印(模型(data1 [i]))
容易产生分类模型;我们已经调用了Orange的对象(贝叶斯学习者)并为其提供了数据集。当给定实例返回可能类的标签时, 它返回另一个对象(朴素贝叶斯分类器)。在这里, 我们可以看到脚本的这一部分的输出:
公司
公司
公司
bjp
bjp
在这里, 我们需要发现什么是正确的分类。我们可以打印五个实例的原始标签:
对于我在范围(5)中:
print(model(data1 [i])), ‘最初’, data [i] .getclass()
我们所涵盖的是朴素的贝叶斯分类器对第三个实例进行了错误分类:
公司最初公司
公司最初公司
公司最初bjp
bjp本来bjp
bjp本来bjp
用Orange实现的所有分类器都是概率性的。例如, 他们假设类别概率。因此, 在朴素的贝叶斯分类器中, 我们可能会担心在第三种情况下我们错过了多少:
n =模型(data1 [2], orange。GetProbabilities)
打印数据, domain.classVar.values [0], ‘:’, n [0]
在这里, 我们认识到Python的索引以0开头, 并且当使用参数Orange.-Getprobabilities调用分类器时, 分类模型返回概率向量。我们的模型估算出成立公司的可能性很高:
公司:0.878529638542
评论前必须登录!
注册