20230128-数据挖掘好帮手-Orange3使用记录

Orange3是一个很简单快捷的数据挖掘和探索软件,能快速的应用机器学习算法对数据进行分析,但是中文版的教程偏少,因此结合YouTube上的官网视频及其他资料,在此对软甲的使用技巧进行简单的记录的总结。
能力有限,部分内容可能不够准确,如有发现,会及时修改。

Getting Started with Orange

01 Welcome to Orange

当你第一次打开Orange3的时候,首先看到欢迎界面。从这里你可以开始一个新的数据分析流程或者打开最近的文件。
Orange3与众不同的特性是小部件(widgets),它是Orange中的基本计算单元。可以读取、处理和可视化数据,聚类、建立预测模型等其他一系列的数据探索工作。它们都分布在主界面的左边。
图1 Orange欢迎界面

图1 Orange欢迎界面

接下来介绍读取文件的流程:
  • File部件:用于读取我们的数据。
  • 双击打开File文件管理器,读取文件(图2)。

orange的基本格式是tab,但是也可以很轻松的读取xlsx等格式的文件。

图2 File部件读取文件

图2 File文件读取界面

  • Data Table部件:查看具体的数据(图3)。

图3 Table部件界面

图3 Data Table界面

  • Scatter Plot部件:查看散点图特征(图4),"Find information Projections"可以发现对分类最有效的特征。

图4 Scatter Plot部件界面

图4 Scatter Plot部件界面

02 Data Workflows

在Orange3中创建数据分析工作流是很简单的,我们首先在File部件中加载时数据,随后在Data Table中查看数据。

  • Distributions部件:可以查看数据分布,判断哪些特征数据有较好的分类属性(图5)。
    图5 Distribution部件界面

图5 Distribution部件界面

  • Scatter Plot部件:"Find information Projections"可以发现对分类最有效的特征,选择一部分重叠的散点数据,随后添加一个Data Table可以查看已选择的数据特征(图6)。
    图6 Scatter Plot部件中的Find information Projections及部件间的数据通信

图6 Scatter Plot部件中的Find information Projections及部件间的数据通信

03 Widgets and Channels

一些数据挖掘部件和它们之间的信息串联
Tips:为了有更大的画布,可以点击工具栏中的view中Expand Tool Duck。

Orange中有3种方式可以加载部件(widgets):

a)点击小部件窗口,部件会出现在右侧的画布(canvas)中;
b)点击并拖拽部件到画布中;
c)画布上右键,部件菜单会出现,而且可以使用搜素框。
d)从某一部件的输出拖拽一个连接线到画布的空白区域,orange会建议一些能够可该部件链接的部件(orange不会允许你链接互不兼容的两个部件);

Orange中的部件连接:
双击连接线可以对部件之间的连接进行编辑(图7)。
图7 部件间的数据连接

图7 部件间的数据连接

04 Loading Your Data

准备程序所能够读取的数据是数据挖掘工作中的重点。
Orange可以读取Excel、tab和逗号分隔的文件。

下面将简述Orange中对数据的预处理过程:
本次处理的表格数据如下,可自行复制到表格中保存进行操作。

namegenderheightweighteye colorhair color
Jillfemale1.652bluebrown
Jackmale1.7578brownbrown
Markmale1.6567brownblack
Annfemale1.762greenblond
Bebmale1.8589blueblond
Tommale1.993bluered
Katefemale1.6756brownbrown
Maryfemale1.6470bluered
  • Select Columns部件:与File部件连接,可对数据中的特征(feature)、目标变量(Target Variable)和元属性(Meta Attributes)进行选择(图8上),如图8中将性别gender设置为目标变量,name设置为元属性,随后使用Data Table部件就可以看到列特征的不同(图8下)。
    图8 Select Columns部件界面

    图8 Select Columns部件界面及Data Table

  • Save Data部件:可以将数据进行保存,建议tab格式。
  • Orange数据格式:(1)C代表了连续型的数值数据(numerical);(2)D代表了离散(discrete)和分类(categorical)数据;(3)S代表文本数据(string);
  • 此外,class可表示属性种类,meta代表了一些额外的信息。其表格形式如下:
namegenderheightweighteye colorhair color
sdccdd
metaclass
Jillfemale1.652bluebrown
Jackmale1.7578brownbrown
Markmale1.6567brownblack
Annfemale1.762greenblond
Bebmale1.8589blueblond
Tommale1.993bluered
Katefemale1.6756brownbrown
Maryfemale1.6470bluered

05 Hierarchical Clustering-层次聚类

聚类是机器学习中的一个重要任务之一,借助Orange可以实现快速的层次聚类算法。
层次聚类算法的优势在于1:(1)能够使我们绘制出树状图(dendrogram,基于二叉层次聚类的可视化),有助于我们使用有意义的分类法解释聚类结果。(2)无需事先指定簇数量。

层次聚类主要有两种方法:凝聚(agglomerative)层次聚类和分裂(divisive)层次聚类,差异在于簇合并的方向。
以凝聚层次聚类为例,判定簇间距离的有五种标准方法:

  1. 单连接(single linkage):计算每一对簇中最相似两个样本的距离,并合并距离最近的两个样本所属簇。
  2. 全连接(complete linkage):与单连接相反,通过比较找到分布于两个簇中最不相似的样本(距离最远的样本),进而完成簇的合并。
  3. 平均连接(average linkage):合并两个簇间所有成员间评价距离最小的两个簇。
  4. ward连接(ward linkage):被合并的是使得SSE增量最小的两个簇。
  5. weighted:待之后补充

这里我们将使用鸢尾花数据集进行层次聚类,流程及图示如下:

  • Distances部件:通过连接File部件,计算不同的行或列的距离(如欧式距离)。
  • Hierarchical Clustering部件:通过与Distances部件连接,可对层次聚类结果进行可视化。
    图9 层次聚类方法

图9 层次聚类方法

06 Making Predictions - 进行预测

作为一名数据科学家,最重要的一点是能够预测未来。
使用Predictions Widget可以预测数据集中实例的分类标签。

数据来源:训练集验证集

这里使用一个蔬菜和水果的分类问题作为案例,训练集中有9列特征,两种分类。这里分别使用了决策树模型和逻辑回归模型。

流程及图示如下:

  • Data info:查看数据信息,;
  • Tree:决策树模块,;
  • Tree Viewer:决策树可视化模块,;
  • Logistic Regression:逻辑回归模块,;
  • Predictions:预测模块,;
    图10 预测流程

图10 预测流程

图11 决策树可视化

图11 决策树可视化

图12 不同模型的预测结果展示

图12 不同模型的预测结果展示

07 Model Evaluation and Scoring - 模型评估和评分

orange中可以直观的对机器学习模型进行评估

流程及图示如下:

  • Test and Score:测试和评分,;
  • Confusion Matrix:混淆矩阵,;
  • Random Forest:随机森林,;

图13 模型的测试与评估

图13 模型的测试与评估

图14 测试和评分

图14 测试和评分

图15 混淆矩阵

图15 混淆矩阵

图16 随机森林

图16 随机森林

08 Add-ons - 插件

orange具有不同的插件来丰富数据分析的流程。

图17 插件演示

图17 插件演示

图18 插件窗口

图18 插件窗口

09 Principal Component Analysis - 主成分分析

如果一个数据有很多特征,如何知道哪些特征是主要影响因素?如何把数据投影到二维的平面?一个最流程的方法就是主成分分析(PCA)。

首先,通过最简单的流程可以看到pca的工作流程,使用Paint Data模块绘制具有线性相关的数据(图19),随后使用PCA模块及Data Table模块,修改数据连接方式(图20),呈现主成分分析结果(图21)。

图19 绘制线性相关数据

图19 绘制线性相关数据

图20 修改数据连接方式

图20 修改数据连接方式

图21 主成分分析流程及结果

图21 主成分分析流程及结果

参考素材


  1. (美)塞巴斯蒂安·拉施卡,瓦希德·米尔贾利利著.Python机器学习 第2版[M].北京:机械工业出版社,2019 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值