def make_prediction(): new_data = scrape() DATA.append(new_data) X, feature_names = feature_engineering(DATA, []) proba = MODEL.predict_proba(X[-1].reshape(1,X.shape[1]))[:,1][0] probability = "{:.2%}".format(proba) if proba < 0.2: fraud_text = "Pas de Fraude!" else: fraud_text = "Fraude!" return render_template('index.html', prediction=fraud_text, proba=probability, event_data=new_data)
def make_predictions(): new_data = scrape() DATA.append(new_data) X, feature_names = feature_engineering(DATA, []) proba = MODEL.predict_proba(X[-1].reshape(1,X.shape[1]))[:,1][0] probability = "{:.2%}".format(proba) if proba < 0.2: fraud_text = "Pas de Fraude!" else: fraud_text = "Fraude !" document = {"_id":new_data['object_id'], "response":new_data, "prediction":fraud_text, "probability":proba} try: coll.insert_one(document) except: pass return fraud_text, probability, new_data
import numpy as np import pandas as pd import pickle from sklearn.metrics import recall_score, precision_score, f1_score, confusion_matrix def load_classifier(filename): with open(filename, "rb") as clf_infile: clf = pickle.load(clf_infile) return clf if __name__ == '__main__': ## get training features with open('data/X_test.json') as f: data = json.load(f) X, feature_names = feature_engineering(data) ## get training labels with open('data/y_test.json') as f: labels = json.load(f) df_y = pd.DataFrame(labels) # get y y = df_y.pop('fraud').values clf = load_classifier("our_classifier.pkl") predictions = clf.predict(X) print(confusion_matrix(y, predictions)) print("Recall: {:.3%}".format(precision_score(y, predictions))) print("Precision: {:.3%}".format(recall_score(y, predictions))) print("F1: {:.3%}".format(f1_score(y, predictions)))