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]
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)
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)