示例#1
0
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)
示例#2
0
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)))