def main(argv):
    np.random.seed(1339)
    np.seterr(all='ignore')
    warnings.simplefilter(action='ignore', category=FutureWarning)

    print()
    print('Classification Experiment: Red Wine')
    print()

    data = imbalanced.oversample(
        pd.read_csv('./data/csv/wine_red.csv', sep=';'), 'quality')
    X = data.drop(['quality'], axis=1).values
    Y = data.quality.values

    X, X_t, Y, Y_true = model_selection.train_test_split(X, Y, train_size=0.5)

    nb = NaiveBayes()
    # nb    = GaussianNaiveBayes()
    nb.fit(X, Y)
    Y_hat = nb.predict(X_t)

    print()
    print()
    print()
    print('                   Result: {:.2f}% Correct'.format(
        100 * (Y_true == Y_hat).sum() / float(len(Y_true))))
    print()
    print('    Classification Report:')
    print()
    print(metrics.classification_report(Y_true, Y_hat))
    print()
    print('         Confusion Matrix:')
    print()
    print(metrics.confusion_matrix(Y_true, Y_hat))
    print()
示例#2
0
def main(argv):
    np.random.seed(1337)
    np.seterr(all = 'ignore')
    warnings.simplefilter(action = 'ignore', category = FutureWarning)


    print()
    print('Classification Experiment: White Wine')
    print()


    data  = imbalanced.oversample(pd.read_csv('./data/csv/wine_white.csv', sep = ';'), 'quality')
    X     = data.iloc[:, :11]
    Y     = data.iloc[:, 11]


    X, X_t, Y, Y_true = model_selection.train_test_split(X, Y, train_size = 0.5)


    rf    = RandomForest(cost = entropy, s_ratio = 0.75, dt_count = 9, f_count = 6)
    # rf    = RandomForest(cost = gini, s_ratio = 0.75, dt_count = 9, f_count = 6)
    rf.fit(X, Y)
    P     = rf.predict(X_t)


    print(rf)



    print()
    print()
    print()
    print('                   Result: {:.2f}% Correct'.format(100 * (Y_true == P).sum() / float(len(Y_true))))
    print()
    print('    Classification Report:')
    print()
    print(metrics.classification_report(Y_true, P))
    print()
    print('         Confusion Matrix:')
    print()
    print(metrics.confusion_matrix(Y_true, P))
    print()
示例#3
0
def main(argv):
    np.random.seed(2704)
    np.seterr(all='ignore')
    warnings.simplefilter(action='ignore', category=FutureWarning)

    print()
    print('Classification Experiment: Red Wine')
    print()

    data = imbalanced.oversample(
        pd.read_csv('./data/csv/wine_red.csv', sep=';'), 'quality')
    X = data.drop(['quality'], axis=1).values
    Y = data.quality.values

    sclr = preprocessing.StandardScaler().fit(X)

    ohe = one_hot.OneHotEncoder(Y)

    X, X_t, Y, Y_t = model_selection.train_test_split(X,
                                                      ohe.encode(Y),
                                                      train_size=0.5)

    X = sclr.transform(X)
    X_t = sclr.transform(X_t)

    nn = Network()

    nn.add(InputLayer(11, learning=0.25, regular=0.005, momentum=0.01))
    nn.add(
        HiddenLayer(100,
                    learning=0.25,
                    regular=0.005,
                    momentum=0,
                    function=LeakyReLU()))
    nn.add(
        HiddenLayer(100,
                    learning=0.25,
                    regular=0.005,
                    momentum=0,
                    function=LeakyReLU()))
    nn.add(HiddenLayer(50, learning=0.25, regular=0.005, momentum=0.01))
    nn.add(HiddenLayer(25, learning=0.25, regular=0.005, momentum=0.01))
    nn.add(OutputLayer(6))

    nn.fit(X, Y, batch=500, epochs=1000)

    P = nn.predict(X_t)

    P = ohe.decode(P)
    Y_t = ohe.decode(Y_t)

    print()
    print()
    print()
    print('                   Result: {:.2f}% Correct'.format(
        100 * (Y_t == P).sum() / float(len(Y_t))))
    print()
    print('    Classification Report:')
    print()
    print(metrics.classification_report(Y_t, P))
    print()
    print('         Confusion Matrix:')
    print()
    print(metrics.confusion_matrix(Y_t, P))
    print()