Example #1
0
def main():
    print("+--------------------------------------+")
    print("|   Machine Learning Project, Part 2   |")
    print("+--------------------------------------+")
    print("|       Author: Rodrigo Castiel        |")
    print("+--------------------------------------+")

    # Set seed for deterministic execution.
    random.seed(0)
    np.random.seed(0)

    # Load training and test data.
    loader = DataLoader()
    loader.load("data/segmentation")
    x_train, w_train = loader.training_data()

    # Build and train classifiers with the optimal hyper-parameters.
    gaussian_mle = train_gaussian_mle(x_train, w_train)
    knn_classifier = train_knn_classifier(x_train, w_train)
    combined_max_classifier = train_combined_classifier(x_train, w_train)
    classifiers = [gaussian_mle, knn_classifier, combined_max_classifier]

    # Evaluate estimators.
    evaluate_cross_validation(classifiers, x_train, w_train)
    evaluate_accuracy_on_test_set(loader, classifiers)

    # Perform Friedman's Test.
    perform_friedman_test(classifiers, x_train, w_train)
Example #2
0
def main():
  print("+--------------------------------------+")
  print("|   Machine Learning Project, Part 1   |")
  print("+--------------------------------------+")
  print("|       Author: Rodrigo Castiel        |")
  print("+--------------------------------------+")
  print()

  # Set seed for deterministic execution.
  random.seed(42)
  np.random.seed(42)

  # Load training and test data.
  loader = DataLoader()
  loader.load("data/segmentation")
  x_data, w_data  = loader.test_data()

  K = len(np.unique(w_data))
  shape_view = [0, 1, 3, 5, 6, 7, 8]
  rgb_view = [9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
  full_view = shape_view + rgb_view

  if "FULL" in args.views:
    ## FULL VIEW ---------------------------------------------------------------
    print("+--------------------+")
    print("|      FULL VIEW     |")
    print("+--------------------+")
    evaluate_kcm_f_gh(K, num_times, x_data[:, full_view], w_data)
    evaluate_k_means(K, x_data[:, full_view], w_data)
  if "RGB" in args.views:
    ## RGB VIEW ----------------------------------------------------------------
    print("+--------------------+")
    print("|      RGB VIEW      |")
    print("+--------------------+")
    evaluate_kcm_f_gh(K, num_times, x_data[:, rgb_view], w_data)
    evaluate_k_means(K, x_data[:, rgb_view], w_data)
  if "SHAPE" in args.views:
    ## SHAPE VIEW --------------------------------------------------------------
    print("+--------------------+")
    print("|     SHAPE VIEW     |")
    print("+--------------------+")
    evaluate_kcm_f_gh(K, num_times, x_data[:, shape_view], w_data)
    evaluate_k_means(K, x_data[:, shape_view], w_data)