草稿:Orange (軟體)

Orange
Developer(s) University of Ljubljana
Initial release 10 October 1996; 27 years ago (1996-10-10)[1]
Stable release
3.36.2 / 31 October 2023; 6 months ago (31 October 2023)
Repository Orange Repository
Written in Python, Cython, C++, C
Operating system Cross-platform
Type Machine learning, Data mining, Data visualization, Data analysis
License GPLv3 or later
Website orangedatamining.com Edit this at Wikidata
A typical workflow in Orange .
Orange 3 中的典型工作流程。

Orange 是一個開源的數據可視化、機器學習數據挖掘工具包。它具有一個視覺化程式設計前端,用於探索性質性數據分析和互動式數據視覺化

在 Orange 3 中,分類樹(Classification Tree)小工具是一個用於構建和視覺化決策樹分類器的工具。

概略

編輯

Orange 是一個基於組件的視覺化程式設計套件,用於數據可視化機器學習數據挖掘數據分析

Orange 的組件稱為小工具(widgets)。它們的功能範圍包括從簡單的數據可視化、子集選擇和預處理到學習算法的經驗評估和預測建模。

可視化編程是通過一個界面實現的,在這個界面中,通過連接預定義的小工具或用戶設計的小工具來創建工作流程,而高級用戶則可以將 Orange 作為 Python 庫來進行數據操作和小工具修改。

軟體

編輯

Orange 是一個在 GitHub 上託管並根據 GPL 發佈的開源軟體包。版本 3.0 之前的核心組件是用 C++ 編寫,並用 Python 包裝。從版本 3.0 開始,Orange 使用常見的 Python 開源科學計算庫,如 numpyscipyscikit-learn,而其圖形用戶界面在跨平台的 Qt 框架內運行。

默認安裝包括了數個機器學習、預處理和數據可視化算法,分佈在六個小工具集(數據、轉換、可視化、模型、評估和無監督學習)中。額外的功能可以通過附加組件獲得(如文本挖掘、圖像分析、生物信息學等)。

Orange 支援 macOS、Windows 和 Linux,並且可以從 Python 軟體包索引庫安裝(pip install Orange3)。

特色

編輯

Orange 包含一個畫布介面,使用者可以在上面放置小工具並創建數據分析工作流程。小工具提供基本功能,如讀取數據、顯示數據表、選擇特徵、訓練預測模型、比較學習算法、可視化數據元素等。使用者可以交互式地探索可視化,或將選定的子集輸入到其他小工具中。

 
Orange 3 中的裝飾樹狀圖
  • Canvas :數據分析的圖形前端
  • 小部件
    • 數據:資料輸入、資料篩選、取樣、填補、特徵操作和特徵選擇的小工具
    • 可視化:常見可視化(箱形圖、直方圖、散點圖)和多變量可視化(馬賽克顯示、篩選圖)的小工具
    • 分類:一組用於分類的監督式機器學習算法
    • 回歸:一組用於回歸的監督式機器學習算法
    • 評估:交叉驗證、基於取樣的程序、可靠性估計和預測方法的評分
    • 無監督:用於聚類的無監督學習算法(k-means、層次聚類)和數據投影技術(多維尺度分析、主成分分析、對應分析)。

附加組件

編輯

Orange 使用者可以通過添加組件擴展其核心組件集。支援的附加組件包括:

  • Associate: 用於挖掘頻繁項集和關聯規則學習的組件。 Bioinformatics: 用於基因表達分析、豐度分析以及訪問表達庫(例如,基因表現 Omnibus)和通路庫的組件。 Data fusion: 用於融合不同數據集、集體矩陣分解以及探索潛在因素的組件。 Educational: 用於教授機器學習概念的組件,如 k-means 聚類多項式回歸隨機梯度下降等。 Explain: 提供一個擴展,其中包含用於模型解釋的組件,包括 Shapley 值分析。 Geo: 用於處理地理空間數據的組件。 Image analytics: 用於處理圖像和 ImageNet 嵌入的組件。 Network: 用於圖形和網絡分析的組件。 Text mining: 用於自然語言處理和文本挖掘的組件。 Time series: 用於時間序列分析和建模的小工具組件。 Single-cell: 支持單細胞基因表達分析,包括用於加載單細胞數據、過濾和批次效應去除、標記基因發現、對細胞和基因進行評分以及細胞類型預測的組件。
     
    從生存分析數據中繪製 Plan-Meier 圖,顯示生存曲線並支援交互式選擇個案。
  • 光譜學:用於分析和可視化(超)光譜數據集的組件。 生存分析:用於處理生存數據的數據分析附加組件。它包括標準生存分析技術的小工具,如 Kaplan-Meier 圖、Cox 回歸模型以及幾個衍生小工具。 世界幸福:支持從數據庫下載社會經濟數據,包括 OECD 和世界發展指標。提供對來自各種經濟數據庫的數千個國家指標的訪問。

目標

編輯

該程式提供了一個實驗選擇、推薦系統和預測建模的平台,被應用於生物醫學、生物信息學、基因組研究和教學。在科學上,它被用作測試新的機器學習算法和在遺傳學和生物信息學中實施新技術的平台。在教育上,它被用於教授生物學、生物醫學和信息學學生機器學習和數據挖掘方法。

擴充

編輯

各種項目都在 Orange 的基礎上進行構建,其中一些是通過擴展核心組件使用附加組件,另一些是僅使用 Orange 畫布來利用實施的可視化編程功能和圖形用戶界面。

  • OASYS — ORange SYnchrotron 套件[2]
  • scOrange — 單細胞生物統計學
  • Quasar — 自然科學數據分析

歷史

編輯

1996年,盧布爾雅那大學和約瑟夫·斯特凡研究所開始開發一個名為 ML* 的 C++ 機器學習框架,並於 1997 年為該框架開發了 Python 綁定。這些綁定與新興的 Python 模塊一起形成了一個名為 Orange 的聯合框架。在接下來的幾年裡,大多數當代主要的數據挖掘和機器學習算法都是用 C++(Orange 的核心)或 Python 模塊實現的。

  • 2002年,使用 Pmw Python 巨型小部件設計了創建靈活圖形用戶界面的首個原型。 2003年,圖形用戶界面重新設計並使用 PyQt Python 綁定為 Qt 框架重新開發。定義了可視化編程框架,並開始開發小工具(數據分析管道的圖形組件)。 2005年,創建了用於生物信息學中的數據分析擴展。 2008年,開發了 Mac OS X DMG 和基於 Fink 的安裝包。 2009年,創建和維護了超過100個小工具。 自2009年以來,Orange 處於2.0測試版階段,網站提供了基於每日編譯循環的安裝包。 2012年,強制實施了一個新的對象層次結構,取代了舊的基於模塊的結構。 2013年,圖形用戶界面進行了重大重新設計,包括新的工具箱和工作流程的描述。 2015年,發布了 Orange 3.0 版本。Orange 將數據存儲在 NumPy 數組中;機器學習算法主要使用 scikit-learn。 2015年,針對 Orange3 的文本分析附加組件發布。 2016年,Orange 版本為 3.3。開發使用每月穩定發布循環。 2016年,開始開發並發布圖像分析附加組件,其中包含用於圖像嵌入的服務端深度神經網絡。 2017年,介紹了用於分析光譜數據的 Spectroscopy 附加組件。 2017年,介紹了 Geo,一個用於處理地理位置數據並可視化地圖的附加組件。 2018年,開始開發並發布用於單細胞數據分析的附加組件。 2019年,Orange 的圖形界面作為一個獨立項目進行開發,稱為 orange-canvas-core。 2020年,推出了 Explain 附加組件,其中包含用於解釋分類或回歸模型的小工具。它解釋了哪些特徵對於預測特定類別的貢獻最大以及它們如何對預測特定類別產生影響。 2022年,介紹了 World Happiness,這是 Orange3 數據挖掘套件的一個附加組件。它提供了從各種數據庫(如世界幸福報告、世界發展指標、OECD)訪問社會經濟數據的小工具。 2022年,Explain 附加組件擴展了個別條件期望圖和排列特徵重要性技術。

參考

編輯
  1. ^ "orange3/CHANGELOG.md at master . biolab/orange3 . GitHub". GitHub.
  2. ^ Sanchez Del Rio, Manuel; Rebuffi, Luca. Chubar , 編. Advances in Computational Methods for X-Ray Optics IV. 2017: 28. ISBN 9781510612334. doi:10.1117/12.2274263. 

進一步閱讀

編輯

外部連結

編輯