from dstools.util import load_yaml from dstools.lab import Experiment import pandas as pd ex = Experiment(load_yaml('exp.yaml')['conf']) ex.get(_id=['57435574e0f48c88752991ba']) best = ex.records[0] df = pd.DataFrame(best.test_preds, columns=['PassengerId', 'Survived']) df.set_index('PassengerId', inplace=True) df.Survived = df.Survived.astype(int) df.to_csv('res.csv')
from dstools.lab.util import top_k from dstools.sklearn import grid_generator from dstools.sklearn.util import model_name from sklearn.datasets import load_iris from sklearn.metrics import precision_score from sklearn.cross_validation import train_test_split classes = ["sklearn.ensemble.RandomForestClassifier"] models = grid_generator.grid_from_classes(classes) iris = load_iris() X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.30) # create a new experiment ex = Experiment(main["logger"]) for m in models: # create a new record rec = ex.record() m.fit(X_train, y_train) preds = m.predict(X_test) rec["precision"] = precision_score(y_test, preds) rec["parameters"] = m.get_params() rec["model"] = model_name(m) # select top_k ex.records = top_k(ex.records, "precision", 2)
from dstools.util import config from dstools.lab import Experiment from dstools.lab.util import group_by ex = Experiment(config['logger']) ex.get(_id=['5744d47f6fdf1e2f69f0716a']) ex.get(key='im super cool') ex.records model = ex.records[0] model['key'] = 'new value2' new_model = ex.record() new_model['key'] = 'im super cool' ex.save() group_by(ex.records, 'model')
from dstools.config import main from dstools.lab import Experiment from dstools.lab.util import group_by, group_map, group_reduce ex = Experiment(main['logger']) ex.get(name=['RandomForestClassifier', 'SVC']) len(ex.records) groups = group_by(ex.records, 'name') maps = group_map(groups, lambda e: e.name) maps group_reduce(maps, lambda x, y: x+y)