Orange:一个基于 Python 的数据挖掘可视化平台

本篇介绍一个适合初学者入门的机器学习工具。

Orange 简介

Orange 是一个开源的数据挖掘和机器学习软件。Orange 基于 Python 和 C/C++ 开发,提供了一系列的数据探索、可视化、预处理以及建模组件。

Orange 拥有漂亮直观的交互式用户界面,非常适合新手进行探索性数据分析和可视化展示;同时高级用户也可以将其作为 Python 的一个编程模块进行数据操作和组件开发。

Orange 由卢布尔雅那大学于 1996 年开发,从 3.0 版本开始使用 Python 代码库进行科学计算,例如 numpy、scipy 以及 scikit-learn;前端的图形用户界面使用跨平台的 Qt 框架。Orange 支持 Windows、macOS 以及 Linux 平台。

Orange 安装

首先,打开 Orange 官方下载页面Orange Data Mining - Download

下载页面提供了几种安装方式:

Miniconda,直接点击“Download”按钮,下载 Orange3-Miniconda-x86_64.exe 文件后双击运行。

Anaconda,如果系统已经 Anaconda 发行版,执行以下两个命令:

conda config --add channels conda-forge
conda install orange3

Python Package Index,执行以下命令:

pip install orange3

安装完成后,在命令行输入以下命令可以启动 Orange 图形界面:

orange-canvas
# 或者
python -m Orange.canvas

启动之后显示以下欢迎界面。

欢迎界面提供了新建、打开工作流(workflow)的快捷方式以及各种教程、示例和使用文档,关闭该界面就进入了 Orange 主界面。


示例教程

打开 Orange 主界面,左侧显示了默认安装时提供的许多机器学习、预处理以及可视化的算法,这些功能被划分为 5 个组件集(数据、可视化、模型、评估以及无监督算法)。

其中的组件包括:

  • 数据(Data):包含数据输入、数据保存、数据过滤、抽样、插补、特征操作以及特征选择等组件,同时还支持嵌入 Python 脚本。
  • 可视化(Visualize):包含通用可视化(箱形图、直方图、散点图)和多变量可视化(马赛克图、筛分曲线图)组件。
  • 模型(Model):包含一组用于分类和回归的有监督机器学习算法组件。
  • 评估(Evaluate):交叉验证、抽样程序、可靠性评估以及预测方法评估。
  • 无监督算法(Unsupervised):用于聚类(k-means、层次聚类)和数据降维(多维尺度变换、主成分分析、相关分析)的无监督学习算法。

另外,还可以通过插件(add-ons)的方式为 Orange 增加其他的功能(生物信息学、数据融合与文本挖掘。添加的方法是点击“Options”菜单下的“Add-ons”按钮,打开插件管理器。

然后勾选所需的插件,点击“OK”按钮进行安装;安装插件后有可能需要重启 Orange 才能在左侧出现。

Orange 主界面的右侧是一个工作区(canvas),用于放置各种组件并构成一个数据分析的工作流。我们可以组合左侧的组件实现读取数据、显示数据表、选择特征、训练预测器、比较学习算法以及交互式可视化等功能。为了方便初学者,Orange 提供了许多实用的工作流示例。

点击“Help”菜单下的“Example Workflows”按钮,打开工作流示例界面。

我们选择“Classification Tree”,这是一个用于分类的决策树示例。

我们可以通过示例中的说明了解每个组件的作用和工作流程,其中的组件包括:

  1. 打开数据文件的 File 组件,用于打开包含鸢尾花(Iris)数据集的文件,这是一个经典的数据挖掘数据集;
  2. 用于分类的决策树组件(Classification Tree),这是一个决策树算法;
  3. 分类树可视化组件(Tree Viewer),用于显示分类树的结果;
  4. 散点图组件(Scatter Plot),显示选定数据的散点图;
  5. 箱形图组件(Box Plot),显示选定数据的箱型图。
  6. 组件之间的连线代表了数据流的方向。

通过这些组件的简单组合,构建了一个交互式分类树浏览器。我们可以点击这些组件,对其进行设置和调整,例如文件组件:

文件组件可以加载数据文件或者在线 URL 资源,并且对每个数据属性的类型、角色等进行设置。分类树组件可以对决策算法进行设置:

 分类树可视化组件可以提供直观的分类结果:

散点图组件可以根据分类树可视化组件中选择的节点数据显示相应的散点图,实现同步刷新:

我们也可以从 Orange 官方网站下载更多的示例。Orange Data Mining - Workflows

对于初学者而言,只需要在 Orange 图形界面中通过拖拽加点击的方式就可以实现常见的数据分析、探索、可视化以及数据挖掘任务;对于高级用户,可以通过开发自定义的组件(Widget)实现扩展的功能,或者在 Python 中利用 Orange 代码库编写数据挖掘脚本程序。相关内容可以参考 Orange 官方文档。

参考:

Orange:一个基于 Python 的数据挖掘和机器学习平台_orange python_不剪发的Tony老师的博客-CSDN博客

入门教程:https://blog.csdn.net/weixin_39461079/category_12101011.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络 day11 tcpdump - 传输层 - netstat - socket - nc - TCP/UDP头部

目录 故障排查 tcpdump抓包工具 传输层(TCP和UDP协议) 传输层的作用 应用程序和端口号有什么关系? 传输层端对端连接实现拓扑图 如何查看自己的linux机器开放了哪些端口? 1、netstat(network status 网络的状态) netsta…

【ceph】存储池pg个数如何设置

存储池pg个数如何设置 参考官方文档说明:https://old.ceph.com/pgcalc/参数说明TargePGs per OSD:每个OSD的pg数OSD#存储池包含osd个数%Data存储池写入数据占总OSD容量百分比Size存储池冗余数

安全生产简记

文章目录 面向失败的设计冗余设计避免单点故障宏观多活架构服务能力与依赖调用自我保护为失败准备预案精细化监控体系自动化运维管控故障与攻防演练锤炼容灾应急能力最佳实践面向失败的设计 什么样的失败?硬件问题软件Bug配置变更错误系统恶化外部攻击依赖库问题依赖服务问题…

git 删除提交内容、删除分支

1.删除某个提交之后的所有提交内容 1、恢复到指定提交位置git reset --hard commitid (commitid可以git log命令查看)已经恢复到指定记录位置,本地已经没有了2、强制推送到线上 git push -f2.删除指定commit提交(非最后一次&…

掌握 Seaborn:Python 数据可视化高级篇

在前两篇文章中,我们探讨了 Seaborn 的基础和中级功能,包括了如何绘制各种统计图形以及如何控制图形的样式和颜色。在这篇高级篇中,我们将更进一步,介绍如何使用 Seaborn 创建复合图形,如网格图、因子图和聚类热图等。…

MongoDB练习

目录 mongodb作业 1. 创建一个数据库 名字grade 2. 数据库中创建一个集合名字 class 3. 集合中插入若干数据 文档格式如下{name:zhang,age;10,sex:m,hobby:[a,b,c]}hobby: draw sing dance basketball football pingpong computer …

【复盘】记录一次类型不一致导致的Kafka消费异常问题

背景 业务主要是通过A系统向B系统写入Kafka,然后B系统消费Kafka 将结果写到Kafka中,A进行消费最终结果。 在整个流程中,A写入Kafka会写入一张 record1表记录,然后在A消费最终结果的时候也记录一张record2表。主要改动的话 只是B系…

设计模式07-责任链模式

责任链模式属于行为设计模式,常见的过滤器链就是使用责任链模式设计的。 文章目录 1、真实开发场景的问题引入2、责任链模式讲解2.1 核心类及类图2.2 基本代码 3、利用构建者模式解决问题4、责任链模式的应用实例5、总结5.1 解决的问题5.2 使用场景5.3 优缺点 1、真…

MFC 基于数据库的管理系统

文章目录 初始化设置菜单 添加数据库类创建数据库配置数据库 全部代码 初始化 创建文件选择基于CListView 初始化数据 public:CListCtrl& m_list;CSQLView::CSQLView() noexcept:m_list(GetListCtrl()) {// TODO: 在此处添加构造代码}void CSQLView::OnInitialUpdate() {C…

Hybird开发,webview和H5交互

H5调用原生功能 封装一个统一的接口,供H5页面调用原生的功能,比如获取设备信息、打开相机、分享内容等。这样,H5页面只需调用这个接口,而无需关心具体的原生实现细节。 //定义一个类,用JavascriptInterface注解来注释…

数据结构与算法——什么是线性表(线性存储结构)

我们知道,具有“一对一”逻辑关系的数据,最佳的存储方式是使用线性表。那么,什么是线性表呢? 线性表,全名为线性存储结构。使用线性表存储数据的方式可以这样理解,即“把所有数据用一根线儿串起来&#xf…

J2EEJSP标签02Foreach标签select

目录 一.foreach标签 编写助手类 编写tld 测试数据辅助类 在页面上使用标签 二.select 编写助手类 编写tld 在页面上使用标签 一.foreach标签 编写助手类 public class ForeachTag extends BodyTagSupport {//存放数据源private List<?> items;//每次循环获取的…

餐饮业油烟在线监测系统的具体应用 安科瑞 许敏

摘要&#xff1a;本文利用物联网技术&#xff0c;构建了一套餐饮企业智能油烟在线监测系统&#xff0c;该系统前台由厨房端和管道端组成&#xff0c;通过网关接入云平台管理系统&#xff0c;实时监控烟道阀门的启闭、变频风机的启停与风速及功率调节、油烟浓度数据等。结合动态…

随手笔记——如何手写高斯牛顿法

随手笔记——如何手写高斯牛顿法 说明源代码 说明 将演示如何手写高斯牛顿法 源代码 #include <iostream> #include <chrono> #include <opencv2/opencv.hpp> #include <Eigen/Core> #include <Eigen/Dense>using namespace std; using names…

HBase

一 HBase简介与环境部署 1.1 HBase简介&在Hadoop生态中的地位 1.1.1 什么是HBase HBase是一个分布式的、面向列的开源数据库HBase是Google BigTable的开源实现HBase不同于一般的关系数据库, 适合非结构化数据存储 1.1.2 BigTable BigTable是Google设计的分布式数据存储…

React总结-01

要点 create app use npx and lanchfolder File structure and main entry point in reactwhat is jsxuseState npx create-react-app my-app cd my-app npm start开始你的第一个react程序 删除除了index.js其他文件 import React from react; import ReactDOM from react-d…

【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用3(GDB调试器的基础使用)

【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用3&#xff08;GDB调试器的基础使用&#xff09; 目录 【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用3&#xff08;GDB调试器的基础使用&#xff09;背景gdb的一些指令gdb实际运用显示代码运行程…

【NLP】transformers的位置编码

一、背景 本文是“实现的变压器”系列的第二篇。它从头开始引入位置编码。然后,它

Day4 网络流与二分图

之前那篇博客是在入门网络流时写的&#xff0c;现在对网络流重新有了一定的理解。 1. 最大流 FF 增广思想 Ford–Fulkerson 增广&#xff0c;核心即不断找增广路并增广。 dfs 实现 // FF brute #include <bits/stdc.h> #define int long longusing namespace std;in…