Orange Data Mining 教程
什么是 Orange?
Orange 是一个开源的数据挖掘和可视化软件,它的核心特点是:

(图片来源网络,侵删)
- 图形化编程:你不需要编写 Python 或 R 代码,工作区就像一个画布,你将不同的“小部件”(Widgets)从左侧的工具栏拖到画布上,然后用线连接它们,构建一个完整的数据分析流程。
- 交互式可视化:几乎所有组件都支持交互,你可以在图表上点击、选择数据点,并在其他组件中看到这些选择带来的实时变化。
- 丰富的功能:涵盖了数据导入、预处理、可视化、分类、回归、聚类、关联规则等数据挖掘的方方面面。
- 开源免费:完全免费,可用于学术、商业和个人目的。
- 跨平台:支持 Windows, macOS 和 Linux。
安装与启动
- 下载:访问 Orange 官方网站 https://orangedatamining.com/。
- 选择版本:根据你的操作系统下载对应的安装包,推荐下载最新的稳定版。
- 安装:按照安装向导完成安装,这个过程非常简单,一路点击“下一步”即可。
- 启动:安装完成后,启动 Orange,你会看到一个简洁的界面,这就是你的“画布”。
Orange 界面初探
启动 Orange 后,你会看到三个主要区域:
-
左侧 - 组件区
- 这里包含了所有可用的分析工具,被组织在不同的选项卡中,如
文件、数据、可视化、模型等。 - 你可以在这里找到你需要的任何组件,比如读取文件、数据转换、绘制图表、训练模型等。
- 这里包含了所有可用的分析工具,被组织在不同的选项卡中,如
-
中间 - 画布
- 这是你的核心工作区,你将在这里拖拽、连接和配置组件,构建你的数据分析流程。
- 每个组件都是一个独立的“小盒子”,有输入和输出端口。
-
右侧 - 配置与数据区
(图片来源网络,侵删)- 配置区:当你点击画布上的一个组件时,这里会显示该组件的详细设置选项,你可以在这里修改参数,比如选择图表类型、设置模型参数等。
- 数据区:当你选择一个组件时,这里会显示该组件处理后的数据表格或模型信息,你可以直接在这里查看、编辑和筛选数据。
核心概念
- 数据流:你的整个分析过程就是一个数据流,数据从“源”(如文件)开始,经过一系列处理和转换,最终流向“目标”(如图表或模型)。
- 组件:数据流中的每一个节点都是一个组件,每个组件都有一个或多个输入端口(通常在左侧)和一个或多个输出端口(通常在右侧)。
- 连接:通过从一个组件的输出端口拖动到另一个组件的输入端口,来建立连接,传递数据。
- 信号:连接线传递的就是“信号”,数据信号是橙色的,模型信号是绿色的,评估信号是红色的。
一个完整的入门案例:鸢尾花数据分析
这个案例将带你走完一个完整的数据分析流程:加载数据 -> 查看数据 -> 可视化 -> 建立模型 -> 评估模型。
目标:根据花瓣和花萼的尺寸,预测鸢尾花的种类。
步骤 1:加载数据
- 在左侧组件区,找到
文件选项卡。 - 将 "File" 组件拖到画布上。
- 在右侧的配置区,点击 "Browse..." 按钮,Orange 自带了一些经典数据集,你可以直接选择
iris.tab文件,如果你有自己的数据文件(如 CSV, Excel),也可以在这里选择。 - 将 "Data Table" 组件(在
数据选项卡中)拖到画布上,并用线将File组件的输出端口连接到Data Table的输入端口。 - 在右侧的
Data区域,你应该能看到鸢尾花数据表了,它有 5 列:sepal length,sepal width,petal length,petal width和iris(花的种类)。
步骤 2:数据探索与可视化

(图片来源网络,侵删)
-
查看数据分布:
- 从
可视化选项卡中拖出 "Box Plot" 组件。 - 将
File组件连接到Box Plot。 - 在右侧配置区,选择
iris作为“变量”(X轴),然后选择petal length作为“按...分组”(Color)。 - 你会看到三个箱线图,分别代表三种鸢尾花的花瓣长度分布,点击其中一个箱线图,你会发现
Data Table中对应的数据行被高亮了,这就是 Orange 的交互性!
- 从
-
寻找数据关系:
- 从
可视化选项卡中拖出 "Scatter Plot" 组件。 - 将
File组件连接到Scatter Plot。 - 在右侧配置区,将
petal length设为 X 轴,petal width设为 Y 轴,iris设为颜色。 - 你会得到一个非常漂亮的散点图,可以清晰地看到三种花根据花瓣尺寸被分成了三个簇。
- 从
步骤 3:构建一个简单的分类模型
-
划分数据集:
- 从
数据选项卡中拖出 "Select Rows" 组件。 - 将
File组件连接到Select Rows。 - 在右侧配置区,将 "Condition" 设置为
Random,并将 "Proportion" 设置为 0.8,这意味着我们将 80% 的数据作为训练集,20% 作为测试集。 Select Rows有两个输出端口:一个是选中的数据(训练集),一个是未选中的数据(测试集)。
- 从
-
训练模型:
- 从
模型->分类选项卡中拖出 "Naive Bayes" 组件(这是一个简单但很有效的分类算法)。 - 将
Select Rows的“Selected”端口(训练集)连接到Naive Bayes的输入端口。 - 这样,模型就训练好了,在右侧的配置区,你可以看到模型的参数和摘要信息。
- 从
-
进行预测:
- 从
模型->分类选项卡中拖出 "Apply Model" 组件。 - 将
Naive Bayes的输出端口连接到Apply Model的模型输入端口。 - 将
Select Rows的“Unselected”端口(测试集)连接到Apply Model的数据输入端口。 Apply Model的输出就是模型对测试集的预测结果,你可以连接一个Data Table来查看,你会发现数据表中多了一列Predicted iris。
- 从
步骤 4:评估模型
-
查看性能:
- 从
模型->评估选项卡中拖出 "Confusion Matrix" 组件。 - 将
Apply Model的输出端口连接到Confusion Matrix的输入端口。 - 你会看到一个混淆矩阵,对角线上的数字代表预测正确的数量,非对角线上的数字代表预测错误的数量,这个矩阵直观地告诉你模型的准确率。
- 从
-
计算准确率:
- 从
模型->评估选项卡中拖出 "Performance" 组件。 - 将
Apply Model的输出端口连接到Performance的输入端口。 - 在右侧配置区,选择 "Classification" 作为任务类型。
- 你会看到一系列评估指标,
CA(Classification Accuracy) 就是分类准确率,对于这个简单的模型,你可能会得到 90% 以上的准确率。
- 从
进阶学习路径
当你掌握了基本操作后,可以探索以下更高级的功能:
-
数据预处理:
- "Rank":对变量进行排序。
- "Select Columns":选择或删除特定的列。
- "Discretize":将连续数值变量转换为离散区间。
- "PCA":主成分分析,用于降维。
-
更多机器学习模型:
- 尝试
Logistic Regression,SVM,Random Forest,k-Means等,不同的模型适用于不同类型的数据和问题。
- 尝试
-
文本挖掘:
Orange 有一个专门的 "Text Mining" 加载项,你可以用它来分析文本数据,进行情感分析、主题建模等。
-
与 Python 交互:
- 对于高级用户,Orange 提供了 "Python Script" 组件,你可以在其中编写自定义的 Python 代码,并将 Orange 的数据传递给 NumPy, Pandas 或 Scikit-learn 等库进行处理。
学习资源
- 官方文档:https://orangedatamining.com/docs/ - 最权威、最全面的资源,包含所有组件的详细说明和教程。
- 官方教程:https://orangedatamining.com/tutorial/ - 从基础到高级的一系列交互式教程,强烈推荐新手完成。
- YouTube 频道:搜索 "Orange Data Mining",有大量官方和用户上传的视频教程。
- 社区:如果你遇到问题,可以在 Orange 的官方论坛或 GitHub 仓库上提问。
希望这个详细的教程能帮助你顺利入门 Orange Data Mining!最好的学习方式就是动手实践,尝试加载你自己的数据,探索不同的组件和连接方式,你会发现数据挖掘变得非常有趣和直观。
