草稿:Orange (软件)

Orange
Developer(s) University of Ljubljana
Initial release 10 October 1996; 27 years ago (1996-10-10)[1]
Stable release
3.36.2 / 31 October 2023; 6 months ago (31 October 2023)
Repository Orange Repository
Written in Python, Cython, C++, C
Operating system Cross-platform
Type Machine learning, Data mining, Data visualization, Data analysis
License GPLv3 or later
Website orangedatamining.com Edit this at Wikidata
A typical workflow in Orange .
Orange 3 中的典型工作流程。

Orange 是一个开源的数据可视化、机器学习数据挖掘工具包。它具有一个视觉化程式设计前端,用于探索性质性数据分析和互动式数据视觉化

在 Orange 3 中,分类树(Classification Tree)小工具是一个用于构建和视觉化决策树分类器的工具。

概略

编辑

Orange 是一个基于组件的视觉化程式设计套件,用于数据可视化机器学习数据挖掘数据分析

Orange 的组件称为小工具(widgets)。它们的功能范围包括从简单的数据可视化、子集选择和预处理到学习算法的经验评估和预测建模。

可视化编程是通过一个界面实现的,在这个界面中,通过连接预定义的小工具或用户设计的小工具来创建工作流程,而高级用户则可以将 Orange 作为 Python 库来进行数据操作和小工具修改。

软件

编辑

Orange 是一个在 GitHub 上托管并根据 GPL 发布的开源软件包。版本 3.0 之前的核心组件是用 C++ 编写,并用 Python 包装。从版本 3.0 开始,Orange 使用常见的 Python 开源科学计算库,如 numpyscipyscikit-learn,而其图形用户界面在跨平台的 Qt 框架内运行。

默认安装包括了数个机器学习、预处理和数据可视化算法,分布在六个小工具集(数据、转换、可视化、模型、评估和无监督学习)中。额外的功能可以通过附加组件获得(如文本挖掘、图像分析、生物信息学等)。

Orange 支援 macOS、Windows 和 Linux,并且可以从 Python 软件包索引库安装(pip install Orange3)。

特色

编辑

Orange 包含一个画布界面,使用者可以在上面放置小工具并创建数据分析工作流程。小工具提供基本功能,如读取数据、显示数据表、选择特征、训练预测模型、比较学习算法、可视化数据元素等。使用者可以交互式地探索可视化,或将选定的子集输入到其他小工具中。

 
Orange 3 中的装饰树状图
  • Canvas :数据分析的图形前端
  • 小部件
    • 数据:资料输入、资料筛选、取样、填补、特征操作和特征选择的小工具
    • 可视化:常见可视化(箱形图、直方图、散点图)和多变量可视化(马赛克显示、筛选图)的小工具
    • 分类:一组用于分类的监督式机器学习算法
    • 回归:一组用于回归的监督式机器学习算法
    • 评估:交叉验证、基于取样的程序、可靠性估计和预测方法的评分
    • 无监督:用于聚类的无监督学习算法(k-means、层次聚类)和数据投影技术(多维尺度分析、主成分分析、对应分析)。

附加组件

编辑

Orange 使用者可以通过添加组件扩展其核心组件集。支援的附加组件包括:

  • Associate: 用于挖掘频繁项集和关联规则学习的组件。 Bioinformatics: 用于基因表达分析、丰度分析以及访问表达库(例如,基因表现 Omnibus)和通路库的组件。 Data fusion: 用于融合不同数据集、集体矩阵分解以及探索潜在因素的组件。 Educational: 用于教授机器学习概念的组件,如 k-means 聚类多项式回归随机梯度下降等。 Explain: 提供一个扩展,其中包含用于模型解释的组件,包括 Shapley 值分析。 Geo: 用于处理地理空间数据的组件。 Image analytics: 用于处理图像和 ImageNet 嵌入的组件。 Network: 用于图形和网络分析的组件。 Text mining: 用于自然语言处理和文本挖掘的组件。 Time series: 用于时间序列分析和建模的小工具组件。 Single-cell: 支持单细胞基因表达分析,包括用于加载单细胞数据、过滤和批次效应去除、标记基因发现、对细胞和基因进行评分以及细胞类型预测的组件。
     
    从生存分析数据中绘制 Plan-Meier 图,显示生存曲线并支援交互式选择个案。
  • 光谱学:用于分析和可视化(超)光谱数据集的组件。 生存分析:用于处理生存数据的数据分析附加组件。它包括标准生存分析技术的小工具,如 Kaplan-Meier 图、Cox 回归模型以及几个衍生小工具。 世界幸福:支持从数据库下载社会经济数据,包括 OECD 和世界发展指标。提供对来自各种经济数据库的数千个国家指标的访问。

目标

编辑

该程式提供了一个实验选择、推荐系统和预测建模的平台,被应用于生物医学、生物信息学、基因组研究和教学。在科学上,它被用作测试新的机器学习算法和在遗传学和生物信息学中实施新技术的平台。在教育上,它被用于教授生物学、生物医学和信息学学生机器学习和数据挖掘方法。

扩充

编辑

各种项目都在 Orange 的基础上进行构建,其中一些是通过扩展核心组件使用附加组件,另一些是仅使用 Orange 画布来利用实施的可视化编程功能和图形用户界面。

  • OASYS — ORange SYnchrotron 套件[2]
  • scOrange — 单细胞生物统计学
  • Quasar — 自然科学数据分析

历史

编辑

1996年,卢布尔雅那大学和约瑟夫·斯特凡研究所开始开发一个名为 ML* 的 C++ 机器学习框架,并于 1997 年为该框架开发了 Python 绑定。这些绑定与新兴的 Python 模块一起形成了一个名为 Orange 的联合框架。在接下来的几年里,大多数当代主要的数据挖掘和机器学习算法都是用 C++(Orange 的核心)或 Python 模块实现的。

  • 2002年,使用 Pmw Python 巨型小部件设计了创建灵活图形用户界面的首个原型。 2003年,图形用户界面重新设计并使用 PyQt Python 绑定为 Qt 框架重新开发。定义了可视化编程框架,并开始开发小工具(数据分析管道的图形组件)。 2005年,创建了用于生物信息学中的数据分析扩展。 2008年,开发了 Mac OS X DMG 和基于 Fink 的安装包。 2009年,创建和维护了超过100个小工具。 自2009年以来,Orange 处于2.0测试版阶段,网站提供了基于每日编译循环的安装包。 2012年,强制实施了一个新的对象层次结构,取代了旧的基于模块的结构。 2013年,图形用户界面进行了重大重新设计,包括新的工具箱和工作流程的描述。 2015年,发布了 Orange 3.0 版本。Orange 将数据存储在 NumPy 数组中;机器学习算法主要使用 scikit-learn。 2015年,针对 Orange3 的文本分析附加组件发布。 2016年,Orange 版本为 3.3。开发使用每月稳定发布循环。 2016年,开始开发并发布图像分析附加组件,其中包含用于图像嵌入的服务端深度神经网络。 2017年,介绍了用于分析光谱数据的 Spectroscopy 附加组件。 2017年,介绍了 Geo,一个用于处理地理位置数据并可视化地图的附加组件。 2018年,开始开发并发布用于单细胞数据分析的附加组件。 2019年,Orange 的图形界面作为一个独立项目进行开发,称为 orange-canvas-core。 2020年,推出了 Explain 附加组件,其中包含用于解释分类或回归模型的小工具。它解释了哪些特征对于预测特定类别的贡献最大以及它们如何对预测特定类别产生影响。 2022年,介绍了 World Happiness,这是 Orange3 数据挖掘套件的一个附加组件。它提供了从各种数据库(如世界幸福报告、世界发展指标、OECD)访问社会经济数据的小工具。 2022年,Explain 附加组件扩展了个别条件期望图和排列特征重要性技术。

参考

编辑
  1. ^ "orange3/CHANGELOG.md at master . biolab/orange3 . GitHub". GitHub.
  2. ^ Sanchez Del Rio, Manuel; Rebuffi, Luca. Chubar , 编. Advances in Computational Methods for X-Ray Optics IV. 2017: 28. ISBN 9781510612334. doi:10.1117/12.2274263. 

进一步阅读

编辑

外部链接

编辑