ALiPy 主动学习工具包使用教程
2024-08-10 03:25:48作者:秋泉律Samson
项目介绍
ALiPy 是一个基于 Python 实现的主动学习工具包,由南京航空航天大学计算机科学与技术学院模式分析与机器智能实验室开发并开源。该工具包内置了 20 余种主动学习算法,并提供了数据处理、结果可视化等工具。ALiPy 支持多种主动学习场景,如标注代价敏感、噪声标注者、多标记查询等,用户可以自由地组织自己的项目,不必继承任何接口来实现自己的算法与替换项目中的部件。
项目快速启动
安装 ALiPy
你可以通过 pip 安装 ALiPy:
pip install alipy
或者从源码安装:
git clone https://github.com/NUAA-AL/ALiPy.git
cd ALiPy
python setup.py install
基本使用示例
以下是一个简单的 ALiPy 使用示例,展示了如何加载数据、初始化模型和使用主动学习策略:
import alipy
from alipy import ToolBox
# 初始化工具箱
alibox = ToolBox(X=X_train, y=y_train, X_eval=X_test, y_eval=y_test)
# 划分初始训练集和未标记池
train_idx, unlab_idx = alibox.split_holdout(test_ratio=0.3)
# 初始化主动学习策略
strategy = alibox.get_query_strategy(strategy_name='QueryInstanceUncertainty')
# 初始化分类模型
model = alibox.get_default_model()
# 开始主动学习循环
for round in range(10):
# 选择样本
queried_idx = strategy.select(labeled_idx=train_idx, unlabeled_idx=unlab_idx, model=model)
# 更新训练集和未标记池
train_idx.update(queried_idx)
unlab_idx.difference_update(queried_idx)
# 训练模型
model.fit(X=alibox.X[train_idx], y=alibox.y[train_idx])
# 评估模型
performance = model.evaluate(X=alibox.X_eval, y=alibox.y_eval)
print(f'Round {round}: {performance}')
应用案例和最佳实践
案例一:噪声标注者环境下的主动学习
在噪声标注者环境下,ALiPy 提供了特定的策略来处理标注的不确定性。以下是一个示例代码:
# 初始化噪声标注者策略
strategy = alibox.get_query_strategy(strategy_name='QueryInstanceNoisyOracles')
# 其他步骤与基本示例相同
案例二:多标记查询
在多标记查询场景中,ALiPy 支持同时查询多个样本进行标注。以下是一个示例代码:
# 初始化多标记查询策略
strategy = alibox.get_query_strategy(strategy_name='QueryInstanceMultiLabel')
# 其他步骤与基本示例相同
典型生态项目
1. PyRelationAL
PyRelationAL 是一个高效构建主动学习管道的 Python 库,与 ALiPy 结合使用可以进一步提升主动学习的效率和灵活性。
2. sklearn
ALiPy 支持与 sklearn 中的分类模型无缝集成,用户可以使用 SVM、随机森林等模型进行主动学习实验。
3. TensorFlow
对于深度学习模型,ALiPy 也支持与 TensorFlow 集成,用户可以使用深度神经网络进行主动学习。
通过以上模块的介绍和示例代码,用户可以快速上手并深入了解 ALiPy 主动学习工具包的使用和应用场景。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0103- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
SenseNova-U1-8B-MoTSenseNova U1 是全新的原生多模态模型系列,通过单一架构实现了多模态理解、推理与生成的统一。 它标志着多模态人工智能领域的根本性范式转变:从模态集成迈向真正的模态统一。与依赖适配器进行模态间转换的传统方式不同,SenseNova U1 模型能够以原生方式处理语言和视觉信息,实现思考与行动的一体化。00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
712
4.52 K
Ascend Extension for PyTorch
Python
575
698
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
416
349
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
959
962
deepin linux kernel
C
28
16
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
613
103
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.61 K
951
昇腾LLM分布式训练框架
Python
153
177
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
140
222
Oohos_react_native
React Native鸿蒙化仓库
C++
341
386