Example #1
0
def train():
    op = Operation()
    op.user = request.form['login']
    op.pressedtime = float(request.form['pressedtime'])
    op.flytime = float(request.form['onflytime'])
    op.keytimes = request.form['keytimes']
    op.save()

    return render_template("train.html", myOp=op)
def train():
    global nObservations

    records = []
    for v in collection.find({}):
        op = Operation()
        op.pressedtime = v["pressedtime"]
        op.flytime = v["flytime"]
        op.keytimes = v["keytimes"]
        op.user = v["user"]
        records.append(op.toTuple())

    features = ["flytime", "pressedtime"]

    for x in range(1, 19):
        features.append("kt" + ` x `)

    target = "user"

    labels = features + [target]
    print(labels)

    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]

    #LABEL ENCODER DE USUARIOS
    le = preprocessing.LabelEncoder()
    df[target] = le.fit_transform(df[target])

    #MOSTRAR BASE DE DATOS
    print(df)

    params = {'n_estimators': 500, 'max_depth': 4}
    regr = ensemble.GradientBoostingClassifier(**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)
    joblib.dump(le, 'labelenc.pkl', protocol=2)
    print("DUMP")
    return df.shape[0]
Example #3
0
def logindificil():
    op = Operation()
    op.pressedtime = float(request.form['pressedtime'])
    op.flytime = float(request.form['onflytime'])
    op.keytimes = request.form['keytimes']

    regr = joblib.load('regr.pkl')
    op.predict(regr)

    le = joblib.load('labelenc.pkl')

    op.prediction = le.inverse_transform([op.prediction])[0]

    return render_template("prediccion.html", myOp=op)
Example #4
0
def loginsencillo():
    op = Operation()
    op.user = request.form['login']
    op.pressedtime = float(request.form['pressedtime'])
    op.flytime = float(request.form['onflytime'])
    op.keytimes = request.form['keytimes']

    regr = joblib.load('regr.pkl')
    op.predict(regr)

    le = joblib.load('labelenc.pkl')

    if (le.inverse_transform([op.prediction])[0] == op.user):
        return render_template("accepted.html", myOp=op)
    else:
        return render_template("notaccepted.html", myOp=op)