Esempio n. 1
0
def main():
    class_means = np.array([[0, 0], [2.5, 2.5]])
    class_variances = [np.eye(2), np.eye(2)]
    num_components = 10
    num_desired_points_per_class = 200
    class_0, class_1 = DataGenerator.generate_gaussian_mixture(
        class_means, class_variances, num_components, num_desired_points_per_class
    )
    combined_dataset = np.vstack((class_0, class_1))
    combined_labels = np.hstack(
        (np.zeros(num_desired_points_per_class, dtype=np.int32), np.ones(num_desired_points_per_class, dtype=np.int32))
    )
    ln = LinearModel()
    ln.fit(train_data=combined_dataset, labels=combined_labels)
    r_linear_model = ln.predict(test_data=combined_dataset, extra_params_dict={"threshold": 0.5})
    print_accuracy(r_linear_model, combined_labels)
    knn = KNN(num_neighbors=5)
    knn.fit(train_data=combined_dataset, labels=combined_labels)
    r_knn = knn.predict(test_data=combined_dataset)
    print_accuracy(r_knn, combined_labels)
    plot_results(
        combined_dataset,
        np.vstack((np.vstack((combined_labels[np.newaxis, :], r_linear_model[np.newaxis, :])), r_knn[np.newaxis, :])),
        titles=["gt", "lin", "knn"],
    )
    return
Esempio n. 2
0
def main():
    class_means = np.array([[0, 0], [2.5, 2.5]])
    class_variances = [np.eye(2), np.eye(2)]
    num_components = 10
    num_desired_points_per_class = 200
    class_0, class_1 = DataGenerator.generate_gaussian_mixture(
        class_means, class_variances, num_components,
        num_desired_points_per_class)
    combined_dataset = np.vstack((class_0, class_1))
    combined_labels = np.hstack((np.zeros(num_desired_points_per_class,
                                          dtype=np.int32),
                                 np.ones(num_desired_points_per_class,
                                         dtype=np.int32)))
    ln = LinearModel()
    ln.fit(train_data=combined_dataset, labels=combined_labels)
    r_linear_model = ln.predict(test_data=combined_dataset,
                                extra_params_dict={'threshold': 0.5})
    print_accuracy(r_linear_model, combined_labels)
    knn = KNN(num_neighbors=5)
    knn.fit(train_data=combined_dataset, labels=combined_labels)
    r_knn = knn.predict(test_data=combined_dataset)
    print_accuracy(r_knn, combined_labels)
    plot_results(combined_dataset,
                 np.vstack((np.vstack(
                     (combined_labels[np.newaxis, :],
                      r_linear_model[np.newaxis, :])), r_knn[np.newaxis, :])),
                 titles=['gt', 'lin', 'knn'])
    return
Esempio n. 3
0
def main():
    limit=20
    folder_path = '../data/cancer micro array data/'
    train_data_file = folder_path + '14cancer.xtrain'
    train_labels_file = folder_path + '14cancer.ytrain'
    test_data_file = folder_path + '14cancer.xtest'
    test_labels_file = folder_path + '14cancer.ytest'
    train_data = np.array(load_data(train_data_file), np.float64).T[:limit]
    train_labels = np.array(load_data(train_labels_file), np.float64).T[:limit]
    test_data = np.array(load_data(test_data_file), np.float64).T
    test_labels = np.array(load_data(test_labels_file), np.float64).T
    print train_data.shape, train_labels.shape, test_data.shape
    ln = LinearModel()
    ln.fit(train_data=train_data, labels=train_labels, extra_params_dict={'ridge_param':0.001})
    ln.predict(test_data=test_data)
    return
Esempio n. 4
0
def main():
    limit = 20
    folder_path = '../data/cancer micro array data/'
    train_data_file = folder_path + '14cancer.xtrain'
    train_labels_file = folder_path + '14cancer.ytrain'
    test_data_file = folder_path + '14cancer.xtest'
    test_labels_file = folder_path + '14cancer.ytest'
    train_data = np.array(load_data(train_data_file), np.float64).T[:limit]
    train_labels = np.array(load_data(train_labels_file), np.float64).T[:limit]
    test_data = np.array(load_data(test_data_file), np.float64).T
    test_labels = np.array(load_data(test_labels_file), np.float64).T
    print train_data.shape, train_labels.shape, test_data.shape
    ln = LinearModel()
    ln.fit(train_data=train_data,
           labels=train_labels,
           extra_params_dict={'ridge_param': 0.001})
    ln.predict(test_data=test_data)
    return