一种用于持久化和跟踪机器学习模型的django模型

django-estimators的Python项目详细描述


https://travis-ci.org/fridiculous/django-estimators.svg?branch=masterhttps://coveralls.io/repos/github/fridiculous/django-estimators/badge.svg?branch=masterhttps://landscape.io/github/fridiculous/django-estimators/master/landscape.svg?style=flat

django估计量

机器学习的整洁持久性和检索

简介

django估计器帮助持久化和跟踪机器学习模型(aka估计器)和数据集。

这个库提供了一系列代理对象,这些对象包装了常用的python机器学习对象和数据集对象。因此,此库可用于版本、跟踪进度和部署模型。它具有高度的可扩展性,几乎可以与任何python对象(scikit learn、numpy数组、模块、方法)一起使用。

此回购协议使用django作为orm。如果您想在django之外工作,请尝试使用基于sqlalchemy的estimators库。

安装

django估计器在pypi上,所以运行:

pip install django-estimators

快速启动

一。将“Estimators”添加到已安装的应用程序django设置中,如下所示

INSTALLED_APPS = [
    ...
    'estimators',
]

2.要创建Estimators表,请运行

python manage.py migrate

三。运行python manage.py shell并创建像so这样的新模型

from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier()

from estimators.models import Estimator
est = Estimator(estimator=rfc)
est.description = 'a simple forest'
est.save()

四。使用经典的django orm检索您的模型,我们可以提取最后一个估计器

est = Estimator.objects.last()
# now use your estimator
est.estimator.predict(X)

用例:检索模型/估计器

如果您不确定它是否存在,推荐的方法是使用 GETIORORIGORION/CIT>方法

est = Estimator.objects.get_or_create(estimator=object)
# or potentially update it with update_or_create
est = Estimator.objects.update_or_create(estimator=object)

如果您已经有了模型,在本例中输入object

est = Estimator.objects.filter(estimator=object).first()

如果您知道模型的唯一散列

est = Estimator.objects.filter(object_hash='d9c9f286391652b89978a6961b52b674').first()

用例:持久化和检索数据集

数据集类的功能与估计器类类似。如果你有 一个numpy矩阵或pandas数据框,您可以用一个dataset对象将其包装起来

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randint(0,10,(100,8)))

from estimators.models import DataSet

ds = DataSet(data=df)
ds.save()

以后可以使用

ds = DataSet.objects.latest('create_date')

如果你已经有了数据集

ds = DataSet.objects.filter(data=df).first()

用例:持续预测和结果

有时机器学习最有价值的部分是整个过程。 使用Evaluator对象,我们可以定义x_test、y_test和 你提前预测了。

然后我们可以评估评估计划,它反过来调用估计器上的predict方法 然后预先列出所有包装的对象。

这是一个使用计算器的演示。

from sklearn.datasets import load_digits
from sklearn.ensemble import RandomForestClassifier

digits = load_digits() # 1797 by 64
X = digits.data
y = digits.target

# simple splitting for validation testing
X_train, X_test = X[:1200], X[1200:]
y_train, y_test = y[:1200], y[1200:]

rfc = RandomForestClassifier()
rfc.fit(X_train, y_train)

现在创建评估计划

from estimators.models import Evaluator
plan = Evaluator(X_test=X_test, y_test=y_test, estimator=rfc)

result = plan.evaluate() # executes `predict` method on X_test

您可以查看评估结果上的所有属性

result.estimator
result.X_test
result.y_test # optional, used with supervised classifiers
result.y_predicted

与Jupyter笔记本一起使用(或不使用django应用程序)

django估计器可以作为一个独立的django应用程序运行。为了能够访问django db,您需要设置环境变量来加载django项目。在ipython中,默认情况下可以将环境变量DJANGO_SETTINGS_MODULE设置为estimators.template_settings,如下所示

import os
import django
os.environ['DJANGO_SETTINGS_MODULE'] = "estimators.template_settings"
django.setup()

如果要创建新数据库(默认情况下是db.sqlite3)。因此我们需要运行迁移,所以在python中

from django.core.management import call_command
call_command('migrate')

现在您可以像往常一样继续…

from estimators.models import Estimator

要使用自己的自定义设置,请复制estimators.template_settings,然后编辑字段。像上面一样,在运行django.setup()之前运行os.environ['DJANGO_SETTINGS_MODULE'] = "custom_settings_file"

开发安装

要安装最新版本的django估计器,请克隆repo,将目录更改为repo,然后pip将其安装到当前的虚拟环境中。

$ git clone git@github.com:fridiculous/django-estimators.git
$ cd django-estimators
$ <activate your project’s virtual environment>
(virtualenv) $ pip install -e .  # the dot specifies for this current repo

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将列表a作为从流收集的映射中的值   java SVN Eclipse忽略所有用户的文件夹   @PathVariable类型不匹配的java配置错误页   java在应用程序中使用Oracle数据库需要什么?   java无法确定用户何时为我的自定义异常输入数字小于0的问题   java如何通过软件导航网站?   java将JFace TableViewer添加到SWT表   Java中“field”和“this.field”的区别   java战舰代码不工作   java如何设置可执行IE 11驱动程序的路径   java这个程序如何一步一步地计算两个区间之间的阿姆斯特朗数?   JavaRestlet:在过滤器中使用转换器服务   Tensorflow:如何在java中使用python训练的语音识别模型   EclipseJava。util。使用迭代器从HashMap获取ArrayList时出现NoTouchElementException   Java Swing启动屏幕配置错误   为什么MySQL浮点与Java浮点不同?