用于分类和辅助实验的机器学习工具包。
infer的Python项目详细描述
分类与辅助的机器学习工具包 实验
功能
辅助实验
<>我们为辅助实验提供了实验基础。 允许用户模块化常见但在 实现,包括知道如何:- 执行任何必需的初始设置以准备模型。
- 分析训练数据集。
- 分析测试数据集。
- 通过训练实例对模型进行训练
- 使用当前模型对测试实例进行预测。
一旦知道了特定于任务的实现,我们就可以协调 使用这些功能以自动方式执行实验 通过自动执行任何实验所共有的任务:
- 运行一个实验,给出所有模块化任务的实现。
- 增量地训练模型并获取当前模型的 表演
- 使用 当前模型。
特征提取
特征提取程序获取文档并提取要使用的特征 使用机器学习分类器(在训练和预测期间)。
我们想提供一种方法来轻松地执行 从文档中提取文本特征,同时 使研究人员很容易试验 提取的特征。研究人员目前可以指定:
- 用于标记原始文档字符串的函数
- 要从文本中提取的n-grams的范围
分类
绩效指标
我们提供了一种通过 提供标准的性能指标,扩展到 多项式分类器,包括:
- 混淆矩阵
- 准确度
- 回忆(平均、加权平均和每班)
- 精度(平均、加权平均和每类)
- 具有可选参数beta的f-测度(平均值,加权 平均,每班)
(多项式)朴素贝叶斯
现有的朴素贝叶斯的一些实现 在不同的库中,我们发现内存效率非常低。 因此,我们决定编写自己的实现 希望能得到更好的优化。
此外,有很多方法可以尝试使用和 优化naive bayes的性能 很容易尝试。
功能选择
特征选择是研究者应该能够做到的另一个工具 尝试一下。
词典修剪
目前,我们提供了一种类似于 通过让分类器忽略除top-k之外的所有内容,对字典进行修整 最常见的特征。这通常给我们90%的好处 特征选择不需要计算更复杂的度量。
字典修剪通常涉及在 以便提取(特征)词汇然而,这是不可行的 当您尝试在联机(流式)设置中学习时,例如 当你的文档不断地出现,就像 来自Twitter的流媒体。为了处理这种情况,我们创建了一个数据结构 有效地跟踪top-k最常见的术语,即 培训时更新。这允许o(1)检查功能是否在 top-k特性不需要将词汇表传递给 检查一下。