跳转到主要内容

一个用于训练和测试分类算法的通用框架。

项目描述

概述

有许多惊人的算法和机器学习工具可以检测数据中的模式。然而,这些工具大多数缺乏一个有用的框架和UI来管理数据流和预测的复杂设置。

此软件包提供了一些工具,用于利用Django的admin界面和ORM来组织和管理机器学习设置。

该框架围绕两个基本对象

  1. 一个问题,它组织解决方案以实现某些预测目标。这主要实现为遗传算法。

  2. 一个预测器,它组织特定的解决方案,要么猜测数值(即回归),要么猜测标签(即分类)。

我这样做是为了帮助我在应用的生命周期内进行维护。通常,我想要监控解决方案的准确性,但也要评估其他潜在的解决方案,而不会中断用于生产预测的解决方案。一旦找到更好的解决方案,我想要尽可能少地将其推向生产使用。通过将不同的解决方案明确表示为数据库中的不同记录,我发现我可以轻松地监控它们,并根据需要将它们添加到使用中。

问题

问题表示一个领域,我们试图通过猜测数字或猜测标签来解决预测任务。在代码中,这被称为基因组基因组表中的一条记录代表一个独特的问题领域,并存储了用于控制和管理的所有参数。

基因组中定义基因,这些是尝试解决问题时可供使用的参数。

具体的问题解决方案由基因型模型表示,该模型包含一个基因及其相关值的键/值对列表。

为了搜索问题的最佳解决方案,您首先实现一个自定义评估函数,该函数将基因型作为参数并返回一个正数,称为适应性,表示其在解决问题中的整体适用性。默认情况下,0值被解释为最差的适应性,而值增加表示适应性增加。我个人觉得将适应性限制在0到1之间既方便又直观,但这不是强制性的。

然后,您将此函数设置在基因组评估器字段中,并运行管理命令

python manage.py evolve_population --genome=<genome_id>

根据基因组中的其他设置,这将在预定的最大迭代次数内运行或直到适应性的改进停滞。从基因组的管理员更改页面,您可以浏览生成的基因型的列表并检查它们的适应性,可能选择一个用于生产使用。

例如,一个简单的基因组可能由一个名为算法的单个基因组成,该基因包含几个算法名称之一(例如,“贝叶斯”,“线性SVC”,“随机森林”等)。您将编写评估函数以读取此字符串并实例化与名称相关联的适当类。然后,您可以添加表示多个算法通用的参数或仅针对少数算法独有的参数的附加基因。基因型模型将根据包含的基因生成一个唯一的哈希值,并使用此值来避免创建重复的基因型。

预测器

待办事项

用法

待办事项

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

django-analyze-0.4.23.tar.gz (85.9 kB 查看哈希)

上传时间

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面