Orange3 Data Mining Framework
raw JSON → 3.40.0 verified Sat May 09 auth: no python
Orange3 is a component-based data mining framework for Python, offering visual programming and a rich set of widgets for data preprocessing, modeling, and evaluation. The current stable version is 3.40.0, with a release cadence of approximately 2-3 minor versions per year.
pip install orange3 Common errors
error ImportError: cannot import name 'Table' from 'Orange.data' ↓
cause Typo or outdated Orange version; Table is in Orange.data since Orange 3.x. In Orange 2.x it was Orange.OrangeTable.
fix
Ensure you have orange3 (not orange) installed: pip install orange3 and use 'from Orange.data import Table'.
error ModuleNotFoundError: No module named 'PyQt5' ↓
cause Orange3 GUI requires PyQt5; missing on some headless Linux systems or Python installations without Qt.
fix
Install PyQt5: pip install PyQt5 or use conda: conda install pyqt. Alternatively, set environment variable DISPLAY if using GUI.
Warnings
breaking Orange3 requires Python >=3.11 as of version 3.40.0. Python 3.10 or earlier will fail to install. ↓
fix Upgrade Python to 3.11+.
gotcha On Windows, pip install orange3 may fail due to missing Qt DLLs. Conda install (conda-forge) is strongly recommended. ↓
fix Use: conda install -c conda-forge orange3
gotcha Loading datasets with Table('dataset_name') will automatically download the dataset to ~/Orange/datasets if not present. This can cause silent network access in production environments. ↓
fix Manually download datasets and use local file paths: Table('/path/to/data.tab')
deprecated Orange.classification.SimpleRandomForestLearner is deprecated as of 3.33. Use RandomForestLearner (wraps sklearn's RandomForestClassifier). ↓
fix Replace SimpleRandomForestLearner with RandomForestLearner.
Install
conda install -c conda-forge orange3 Imports
- Orange.data.Table wrong
import Orange; Orange.data.Tablecorrectfrom Orange.data import Table - Orange.preprocess wrong
import Orange.preprocess; p = Orange.preprocess.Normalize()correctfrom Orange.preprocess import Normalize, Continuize, Impute - Orange.evaluation wrong
import Orange.evaluation.CrossValidationcorrectfrom Orange.evaluation import CrossValidation, scoring
Quickstart
from Orange.data import Table
from Orange.preprocess import Normalize
from Orange.classification import RandomForestLearner
from Orange.evaluation import CrossValidation, scoring
# Load dataset (automatically downloads if not present)
data = Table('iris')
# Preprocess: normalize features
normalizer = Normalize()
data_norm = normalizer(data)
# Train a random forest model
learner = RandomForestLearner(n_estimators=50, random_state=42)
# Cross-validation
results = CrossValidation(data_norm, [learner], k=5)
print('CA:', scoring.CA(results)[0])