Exemplo n.º 1
0
def operation():
  result = int(request.form['value'])
  op = Operation()
  op.v1 = int(request.form['v1'])
  op.v2 = int(request.form['v2'])
  op.timeStamp = float(request.form['timeStamp'])

  if op.check(result):
    regr = joblib.load('regr.pkl')
    op.predict(regr)

    op.ellapsed = time() - op.timeStamp
    op.save() 
    return render_template("resultSimple.html", myOp = op) 
  else:
    return render_template("form.html", myOp = op)
Exemplo n.º 2
0
def train():
    global nObservations

    records = []
    for v in collection.find({}):
        op = Operation()
        op.v1 = v["v1"]
        op.v2 = v["v2"]
        op.ellapsed = v["ellapsed"]
        records.append(op.toTuple())

    features = ["v1", "v2", "isEven", "isZero", "nDigits", "carryOn"]
    target = "ellapsed"

    labels = features + [target]
    df = pd.DataFrame.from_records(records, columns=labels)
    print("Before filtering ", df.shape)

    df = df[df.ellapsed < 10]

    print("After filtering ", df.shape)

    if df.shape[0] <= nObservations:
        return

    nObservations = df.shape[0]

    params = {
        'n_estimators': 500,
        'max_depth': 4,
        'min_samples_split': 2,
        'learning_rate': 0.01,
        'loss': 'ls'
    }
    regr = ensemble.GradientBoostingRegressor(**params)

    X = df[features]
    y = df[target]
    regr = regr.fit(X, y)

    prediction = regr.predict(X)
    print("Error", mean_squared_error(prediction, y))

    joblib.dump(regr, 'regr.pkl', protocol=2)
    print("DUMP")
    return df.shape[0]