예제 #1
0
def run_demo():
    """ Sequence of function calls to run the demo
    """
    X_train, Y_train, X_val, Y_val = get_data()         # get data
    betas, cost_values, clf_errors, val_errors = fit_model(
        X_train, Y_train, X_val, Y_val)  # fit model
    plot_errors(cost_values, clf_errors, val_errors)    # plot the error curves
    print_results(clf_errors, val_errors)               # Print the accuracies
예제 #2
0
        att_model.summary()

        f1_attn.append(max(metrics_attn.val_f1s))
        acc_attn.append(history.history["val_acc"][metrics_attn.ind])

    print(
        "F1-Werte aller Modelle: Index in Liste entspr. Index im ausgelagerten Modell"
    )
    print("    => Modell mit dem besten Wert einlesen")
    print("Attn. F1:\t", f1_attn)

    # Standardabweichung und Durchschnitt für Accuracy und F1-Wert ausgeben
    misc.print_results([[
        "Attn.",
        np.std(acc_attn),
        np.mean(acc_attn),
        np.std(f1_attn),
        np.mean(f1_attn)
    ]], iterations)

    # Modelle einlesen -> bester Wert ermittelt durch Epochen
    #  best_lstm_model = load_model(
    best_attn_model = load_model(
        "model_attn_{}.h5".format(f1_attn.index(max(f1_attn))),
        custom_objects={'SeqSelfAttention': SeqSelfAttention})

    # Modelle auf beiden Datensätzen auswerten (Reddit bzw. Semeval)
    # und Maße ausgeben
    print("Name & Datensatz : Score\tAccuracy\tF1-Wert\tConfusion Matrix")
    print(
        "Attn.  -> reddit : \t",
예제 #3
0
        acc_cnn.append(history.history["val_acc"][metrics_cnn.ind])
        f1_cnn.append(max(metrics_cnn.val_f1s))

    f1_attn = []
    acc_attn = []
    print(
        "F1-Werte aller Modelle: Index in Liste entspr. Index im ausgelagerten Modell"
    )
    print("    => Modell mit dem besten Wert einlesen")
    print("CNN F1:\t", f1_cnn)

    # Standardabweichung und Durchschnitt für Accuracy und F1-Wert ausgeben
    misc.print_results([[
        "CNN",
        np.std(acc_cnn),
        np.mean(acc_cnn),
        np.std(f1_cnn),
        np.mean(f1_cnn)
    ]], iterations)

    # Modelle einlesen -> bester Wert ermittelt durch Epochen
    best_cnn_model = load_model("model_CNN_{}.h5".format(
        f1_cnn.index(max(f1_cnn))))

    # Modelle auf beiden Datensätzen auswerten (Reddit bzw. Semeval)
    # und Maße ausgeben
    print("Name & Datensatz : Score\tAccuracy\tF1-Wert\tConfusion Matrix")
    print(
        "CNN    -> reddit : \t",
        *misc.eval_model(best_cnn_model, "CNN reddit", X_test_reddit,
                         y_test_reddit))
예제 #4
0
        lstm_model.summary()

        f1_lstm.append(max(metrics_lstm.val_f1s))
        acc_lstm.append(history.history["val_acc"][metrics_lstm.ind])

    print(
        "F1-Werte aller Modelle: Index in Liste entspr. Index im ausgelagerten Modell"
    )
    print("    => Modell mit dem besten Wert einlesen")
    print("BiLSTM F1:\t", f1_lstm)

    # Standardabweichung und Durchschnitt für Accuracy und F1-Wert ausgeben
    misc.print_results([[
        "BiLSTM",
        np.std(acc_lstm),
        np.mean(acc_lstm),
        np.std(f1_lstm),
        np.mean(f1_lstm)
    ]], iterations)

    # Modelle einlesen -> bester Wert ermittelt durch Epochen
    best_lstm_model = load_model("model_BiLSTM_{}.h5".format(
        f1_lstm.index(max(f1_lstm))))

    # Modelle auf beiden Datensätzen auswerten (Reddit bzw. Semeval)
    # und Maße ausgeben
    print("Name & Datensatz : Score\tAccuracy\tF1-Wert\tConfusion Matrix")
    print(
        "BiLSTM -> reddit : \t",
        *misc.eval_model(best_lstm_model, "BiLSTM reddit", X_test_reddit,
                         y_test_reddit))
예제 #5
0
    print("CNN F1:\t", f1_cnn)
    print("Attn. F1:\t", f1_attn)

    # Standardabweichung und Durchschnitt für Accuracy und F1-Wert ausgeben
    misc.print_results([
        [
            "BiLSTM",
            np.std(acc_lstm),
            np.mean(acc_lstm),
            np.std(f1_lstm),
            np.mean(f1_lstm)
        ],
        [
            "CNN",
            np.std(acc_cnn),
            np.mean(acc_cnn),
            np.std(f1_cnn),
            np.mean(f1_cnn)
        ],
        [
            "Attn.",
            np.std(acc_attn),
            np.mean(acc_attn),
            np.std(f1_attn),
            np.mean(f1_attn)
        ],
    ], iterations)

    # Modelle einlesen -> bester Wert ermittelt durch Epochen
    best_lstm_model = load_model("model_BiLSTM_{}.h5".format(
        f1_lstm.index(max(f1_lstm))))