コード例 #1
0
    clf.fit(X_train, y_train)
    predicted_y = clf.calculate_prediction(X_test)
    svm_accuracy.append(accuracy_score(y_test,predicted_y))
    svm_confusion_mat = confusion_matrix(y_test, predicted_y)
    sv_accuracy, svm_precision_val, svm_recall_val, svm_f_measure_val = clf.svm_findOtherParameters(svm_confusion_mat)

    # SVM end

    # Naive Bayes

    clf_NB = BernoulliNB(alpha=1.0, binarize=0.0, class_prior=None, fit_prior=True)
    clf_NB.fit(X_train, y_train)
    predictedBNB_y = clf_NB.predict(X_test)
    NBSKL_accuracy.append(accuracy_score(y_test,predictedBNB_y))

    nb = NaiveBayes.NaiveBayesBernoulli()
    # iterate data for each class
    for clas in np.unique(y):
        class_feature_matrix = X_train[y_train==clas]
        prior_array = len(class_feature_matrix)*1.0/len(X_train)
        # print prior_array
        alpha = [(np.sum(class_feature_matrix[:,i])/len(class_feature_matrix)) for i in range(class_feature_matrix.shape[1])]
        gX = nb.membership_function(X_test, alpha, prior_array)
        max_gX.update({int(clas): gX})

    # find discriminant function
    disc_function = nb.discriminant_function(max_gX, np.unique(y))
    # print disc_function
    confusion_mat = confusion_matrix(y_test, predictedBNB_y)
    # print confusion_mat