文章目录

  • Orange 简介
  • Orange 安装
  • 示例教程

上一篇我们讨论了如何入门机器学习?我们将会采用逆向学习的方法,也就是采用实践先行的理念,以解决数据挖掘的实际问题来驱动学习,并针对性地扩展机器学习的算法原理和知识点。

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

Orange 简介

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

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

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

Orange 安装

首先,打开 Orange 官方下载页面。


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

  • 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”,这是一个用于分类的决策树示例。


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

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

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


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


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


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

Orange:一个基于 Python 的数据挖掘和机器学习平台相关推荐

  1. python 数据挖掘论文,Orange:一个基于 Python 的数据挖掘和机器学习平台

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

  2. python云盘私有云_GitHub - 0x2642/Umi-Chest: 一个基于python的私有云实验项目

    Umi-Chest 一个基于angular 4的单页面舰娘百科App 关于项目名是因为kuma一直找不到好的名字,因为联想到海,然后我喜欢海爷,所以本来想叫海爷百宝箱什么的(一个舰娘的App你叫海爷百 ...

  3. python 端口扫描 东京_GitHub - w2n1ck/portscan: 一个基于Python+Go的端口扫描及服务探测脚本...

    portscan 一个基于Python+Go的端口扫描及服务探测脚本 0x00 前言 近期由于公司环境整改/迭代以及历史弱口令等撞库,运维同事将内网测试环境的一些SSH等敏感端口对外,导致被挖矿团伙利 ...

  4. 一个基于Python数据大屏可视化开源项目

    ‍‍ 今天给大家介绍一个开源数据大屏可视化工具. 项目简介 这是一个基于Python开发的,结构简单的项目.可通过配置Json的数据,实现数据报表大屏显示. 优点:代码清晰.结构简单.配置Json数据 ...

  5. 推荐一个基于Python开源的文档系统

    今天给大家推荐一个基于Python开发的在线开源文档系统. 项目简介 在日常开发中,每个项目都需要编写大量的文档.文档放在网络上,涉及一些公司.个人机密就不适合放在互联网上面.这个系统就刚好可以满足我 ...

  6. 一个基于Python的tkinter模块实现的游戏活动日历模拟器

    一个基于Python的tkinter模块实现的游戏活动日历模拟器 1.Python环境准备 2.简单介绍 3.源代码 4.源代码及活动配置表下载 1.Python环境准备 运行该项目需要Python3 ...

  7. python机器视觉教材_基于Python的机器视觉实验教学平台设计

    基于 Python 的机器视觉实验教学平台设计 韩志豪 ; 刘晓英 [期刊名称] <计算机测量与控制> [年 ( 卷 ), 期] 2020(028)003 [摘要] 针对机器视觉领域的学习 ...

  8. python基于什么语言-一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  9. python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  10. 云效平台性能测试功能:一个基于Jmeter的性能压测平台

    云效平台性能测试功能(Galaxy)是一个基于Jmeter的性能压测平台,它集脚本.场景.压测.监控和报表展示为一体,是一个能快速.低成本实施压测的平台.降低了入门使用成本,让开发和测试都可以方便的执 ...

最新文章

  1. java版b2b2c社交电商springcloud分布式微服务 (九)服务链路追踪(Spring Cloud Sleuth)...
  2. php如何对几G的文本数据去重,Linux下导出数据库文件进行统计+去重
  3. python好学嘛-马哥教育官网-专业Linux培训班,Python培训机构
  4. python判断正数和负数教案_正数和负数 教学设计
  5. ARC115E-LEQ and NEQ【容斥,dp,线段树】
  6. Linux入门笔记——系统目录结构
  7. 高级Python:定义类时要应用的9种最佳做法
  8. Nsight2.0安装及单机调试(CUDA4.0)设置经验
  9. Allure2--自动化测试报告生成
  10. 谷歌chrome浏览器提示“喔唷 崩溃啦”的解决方案
  11. 计算机二级考试办公室高级应用考点,全国计算机二级考试MSOFFICE高级应用考点解析Word1...
  12. 20155227第十二周课堂实践
  13. java俄罗斯方块程序_java基础俄罗斯方块
  14. Sqlite3相关函数返回值及其含义
  15. oracle访问syno,[Oracle]同义词(synonym)
  16. 浪漫的星空,表白的弹窗,python制作
  17. 安全防御 --- 防火墙
  18. Linux下的磁盘分区和逻辑卷
  19. matlab中Svmtrain和Svmpredict的用法
  20. 在线招聘市场强手如林,携AI入局的灵鸽会飞向何方?

热门文章

  1. Linux编程学习笔记-多进程编程
  2. 企业邮箱怎么写加密邮件,企业邮箱支持吗?
  3. 手机通信专有名词中英文
  4. art-template模板引擎和其它第三方模块搭配使用
  5. Arcgis for Android加载tpk文件遇到的错误,求大神指导下。
  6. localhost拒绝连接解决办法
  7. 虾皮运营技巧-虾皮台湾站四点攻略
  8. 单例模式singleton
  9. [网络安全自学篇] 七十六.逆向分析之OllyDbg动态调试工具(二)INT3断点、反调试、硬件断点与内存断点
  10. bin文件怎么打开 linux,BIN 文件扩展名: 它是什么以及如何打开它?