コード例 #1
0
def main(_):
    """High level pipeline.

    This scripts performs the training and evaling and testing stages for
    semi-supervised learning using kMeans algorithm.
    """
    # Load dataset.
    # _, unlabeled_data = io_tools.read_dataset('data/simple_test.csv')
    _, unlabeled_data = io_tools.read_dataset('data/mnist_train.csv')
    n_dims = unlabeled_data.shape[1]

    # Initialize model.
    model = GaussianMixtureModel(n_dims,
                                 n_components=FLAGS.n_components,
                                 max_iter=FLAGS.max_iter)

    # Unsupervised training.
    model.fit(unlabeled_data)
    # Supervised training.
    # train_label, train_data = io_tools.read_dataset('data/simple_test.csv')
    train_label, train_data = io_tools.read_dataset('data/mnist_train.csv')
    model.supervised_fit(train_data, train_label)

    # Eval model.
    # eval_label, eval_data = io_tools.read_dataset('data/simple_test.csv')
    eval_label, eval_data = io_tools.read_dataset('data/mnist_test.csv')
    y_hat_eval = model.supervised_predict(eval_data)
    print(eval_label)
    acc = np.sum(y_hat_eval == eval_label) / (1. * eval_data.shape[0])
    print("Accuracy: %s" % acc)
コード例 #2
0
def main(_):
    """High level pipeline.

    This scripts performs the training and evaling and testing stages for
    semi-supervised learning using kMeans algorithm.
    """
    # Load dataset.
    unlabeled_data, _ = io_tools.read_dataset('data/train_no_label.csv')
    n_dims = unlabeled_data.shape[1]
    # Initialize model.
    if FLAGS.model_type == 'kmeans':
        model = KMeans(n_dims, n_components=FLAGS.n_components,
                       max_iter=FLAGS.max_iter)
    else:
        model = GaussianMixtureModel(n_dims, n_components=FLAGS.n_components,
                                     max_iter=FLAGS.max_iter)

    # Unsupervised training.
    model.fit(unlabeled_data)
    # Supervised training.
    train_data, train_label = io_tools.read_dataset(('data/'
                                                     'train_with_label.csv'))
    model.supervised_fit(train_data, train_label)

    # Eval model.
    eval_data, eval_label = io_tools.read_dataset('data/val.csv')
    y_hat_eval = model.supervised_predict(eval_data)

    acc = np.sum(y_hat_eval == eval_label) / (1.*eval_data.shape[0])
    print("Accuracy: %s" % acc)
コード例 #3
0
    def setUp(self):
        n_dims = 2
        unlabeled_data = np.random.normal(-1, 0.1, [100, n_dims])
        unlabeled_data = np.concatenate(
            (unlabeled_data, np.random.normal(1, 0.1, [50, n_dims])))

        self.n_dims = 2
        self.n_components = 2
        self.max_iter = 1
        self.model = GaussianMixtureModel(self.n_dims,
                                          n_components=self.n_components,
                                          max_iter=self.max_iter)