训练和测试分类算法的通用框架。
django-analyze的Python项目详细描述
概述
有很多很棒的算法和机器学习工具 检测数据中的模式。然而,这些都缺乏的是一个有用的 用于管理经常复杂的数据设置的框架和ui 流量和预测。
这个包提供了几个工具来利用django的管理 界面和ORM帮助组织和管理机器学习设置。
框架围绕两个基本对象展开:
- 一个问题,它组织解决方案以实现某种预测目标。 这主要是实现了一种遗传算法。
- 一个预测器,它组织一个特定的解决方案来猜测 数值(即回归)或标签(即分类)。
我分开是为了在生活中保持自我 申请时间。通常,我想监控 解决方案,但也评估其他潜在的解决方案 中断用于生产预测的解决方案。一次 找到了更好的解决方案,我想把它投入生产 尽量少用力气。通过显式表示 不同的解决方案作为数据库中的不同记录,我发现 可以很容易地监控它们,并在需要时将它们插入或退出使用。
问题
problem表示一个域,我们试图在其中解决一些 预测任务,通过猜测一个数字或猜测一个标签。在 代码,这称为Genome。在^{tt2}中的记录$ 表表示一个不同的问题域并存储所有参数 用于控制和管理对解决方案的搜索。
从Genome中定义了Genes,这是可用的参数 用于尝试解决问题时。
问题的具体解决方案由^{tt6}表示$ 模型,其中包含一系列基因及其相关值,如 键/值对。
为了寻找问题的最佳解决方案,首先要实现 自定义评估函数,它将以基因型为参数 并返回一个正数,称为fitness,表示 解决问题的整体适宜性。默认情况下,值0是 被解释为更差的可能适应度和增加的价值 代表适宜性水平的提高。我个人觉得 方便直观地将适应度限制在0和1之间,但这是 没有严格执行。
然后在Genome'sevaluator字段中设置此函数,并 运行管理命令:
python manage.py evolve_population --genome=<genome_id>
根据基因组中的其他设置,这将运行 最大迭代次数或直至改进 健身已经停滞。从基因组的管理更改页面,您可以浏览 生成的基因型列表并检查它们的适合性,可能 选择一个用于生产。
例如,一个简单的基因组可能由一个叫做 algorithm,它包含几个算法名称之一(例如 “贝叶斯”、“线性SVC”、“随机森林”等)。你会写你的 求值函数来读取此字符串并实例化适当的 与该名称关联的类。然后你可以添加额外的基因 表示多个算法的公共参数或仅对 少许。具有的Genotype模型生成一个唯一的散列,基于该散列 它包含的基因,并用它来避免产生重复的基因型。
预测值
待办事项
用法
待办事项