Orange:开源可视化数据挖掘工具
Orange 是一款面向数据挖掘与机器学习场景的开源数据分析和可视化工具。它通过图形化界面让用户在不编写程序、不需要深厚数学基础的情况下完成数据科学工作流;同时也支持用 Python 脚本实现更高级的功能。
原文链接:Orange 官方网站(正文内含下载、示例与文档入口)。
功能简介
Orange 的图形化编程方式对初学者友好,可以把精力集中在数据分析本身。工具内置了大量开箱即用的组件,覆盖数据查询、预处理、可视化、建模、评估等环节,通过串联组件即可构建完整的数据分析流程。
组件之间支持实时通信:上游数据变化会同步传递到下游。比如在一个流程中,如果在数据表格里选中不同数据,散点图会随之更新,便于做交互式探索分析。
流程搭建时界面会提供智能提示。例如放置 Distances(距离计算)组件后,Orange 会猜测你可能需要 Hierarchical Clustering(层次聚类)组件。多数组件的默认参数已经能完成基础分析,用户不需要提前掌握专业背景知识。
模型的可视化结果、统计指标等信息可以保存为报告,便于后续管理和访问。
Orange 提供插件机制来扩充功能,包括自然语言处理与文本挖掘、网络分析、关联规则挖掘,以及机器学习公平性相关插件。部分插件针对特定数据形态设计,如时间序列、生存数据、光谱数据、基因表达数据。新手可以从内置的示例流程快速起步。
下载安装
官方下载页面:
在该页面选择对应平台的安装包,下载完成后运行即可。欢迎界面提供新建/打开工作流(workflow)的入口,以及教程、示例和使用文档。关闭欢迎界面后进入主界面。
主界面左侧为常用组件面板,内容包括:
- 数据(Data):数据输入/保存、数据过滤、抽样、插补、特征操作与特征选择,支持内嵌 Python 脚本;
- 可视化(Visualize):通用可视化(箱形图、直方图、散点图)和多变量可视化(马赛克图、筛分曲线图);
- 模型(Model):用于分类和回归的有监督机器学习算法集合;
- 评估(Evaluate):交叉验证、抽样程序、可靠性评估及预测方法评估;
- 无监督算法(Unsupervised):聚类(k-means、层次聚类)和数据降维(多维尺度变换、主成分分析、相关分析)相关算法。
通过 “Options | Add-ons” 菜单可安装更多组件;部分插件安装后需要重启 Orange 才会出现在左侧列表中。
示例教程
初学者可点击 “Help | Example Workflows”,从现成示例流程入手。以分类任务中的 “Classification Tree” 为例:
该工作流展示了决策树分类的基本流程,由以下组件组成:
- File 组件:加载鸢尾花(Iris)数据集,这是经典的数据挖掘数据集;
- Classification Tree 组件:执行决策树分类;
- Tree Viewer 组件:展示决策树模型结果;
- Scatter Plot 组件:展示数据的散点图;
- Box Plot 组件:展示数据的箱形图;
- 组件之间的连接线表示数据流的传递方向。
这些组件组合起来构建了一个交互式分类树浏览器。点击并打开各组件可查看、调整设置。
File 组件除加载本地文件外,也能读取在线 URL 资源,并可调整数据属性的类型与角色。分类树组件支持决策算法相关参数配置。Tree Viewer 直接呈现分类结果。在 Tree Viewer 中选中不同节点时,Scatter Plot 会根据该节点包含的数据同步刷新。
更多示例流程见官方网站:
高级用户可以开发自定义组件来扩展功能,或直接在 Python 脚本中用 Orange 库编写数据挖掘程序,相关细节可查阅官方文档: