You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Orange 2项目迁移至Orange 3:orange.MakeRandomIndices.Stratified替代方案咨询

Orange 2 到 Orange 3 迁移:缺失模块与函数替代方案指南

我刚好处理过不少Orange版本迁移的问题,给你梳理下具体的解决方案和查询渠道:

1. orange.MakeRandomIndices.Stratified 的替代方案

Orange 3对抽样模块做了重构,原来的分层抽样功能现在可以通过两种方式实现:

  • 快速分层拆分数据集:直接使用Orange.data.Table的stratified_split()方法,这是最常用的方式,示例代码如下:
    from Orange.data import Table
    # 加载数据集
    data = Table("iris")
    # 按默认比例(8:2)分层拆分训练集和测试集
    train_data, test_data = data.stratified_split()
    
  • 精细控制抽样参数:如果需要自定义抽样比例、随机种子等,可以使用Orange.data.sample.StratifiedSampler类:
    from Orange.data.sample import StratifiedSampler
    from Orange.data import Table
    
    data = Table("iris")
    # 设置70%数据作为训练集,固定随机种子保证结果可复现
    sampler = StratifiedSampler(proportion=0.7, random_state=42)
    train_data, test_data = sampler(data)
    

2. core.py 相关功能的替代

Orange 3对核心模块做了彻底的结构调整,原core.py的功能被拆分到多个专门的子模块中,你可以根据具体用途对应查找:

  • 数据结构与处理:相关功能迁移到Orange.data模块(比如Table、Domain类);
  • 基础模型与学习器:接口统一到Orange.base模块的Model和Learner类;
  • 预处理操作:整合到Orange.preprocess模块下的各个子模块中。

3. 查询Orange 2到Orange 3替代方案的渠道

如果你还遇到其他旧API找不到替代的情况,可以通过这些途径查找:

  • 官方迁移指南:Orange 3官方文档中有专门的迁移章节,详细列举了大部分Orange 2 API对应的Orange 3实现;
  • API参考文档:直接查阅Orange 3各模块的API文档,搜索旧函数名的关键词,通常能找到对应的新功能说明;
  • GitHub仓库Issues:很多用户已经在Orange的GitHub仓库中提问过类似迁移问题,搜索相关关键词就能找到现成的解决方案;
  • 内置示例脚本:Orange 3自带了大量示例代码,覆盖了常用功能的新用法,对比旧代码就能快速找到替代方式。

内容的提问来源于stack exchange,提问作者pmaniyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:04:04