dataset_name = args.dataset if dataset_name == 'mnist' or dataset_name == 'iris' or dataset_name == '20news': np.random.seed(0) idx = np.random.permutation(xrange(X.shape[0]))[:args.subset] X = X[idx] y = y[idx] if dataset_name == 'mnist' or dataset_name == '20news': pca = PCA(10) X = pca.fit_transform(X) if dataset_name == 'zoo': # pca = PCA(10) # X = pca.fit_transform(X) X += np.random.normal(size=X.shape) * 0.01 master_tree = make_master(X, y, args.dataset) N, D = X.shape C = pdist(X) def make_tree(X, C, method='single'): if method == 'single': tree = to_tree(single(C)) elif method == 'ward': tree = to_tree(ward(X)) elif method == 'average': tree = to_tree(average(C)) return Tree(root=construct_node(tree)) def construct_node(snode): if snode.left is None and snode.right is None:
X, y = dataset.X, dataset.y if dataset_name == 'mnist' or dataset_name == 'iris' or dataset_name == '20news': np.random.seed(0) idx = np.random.permutation(xrange(X.shape[0]))[:args.subset] X = X[idx] y = y[idx] if dataset_name == 'mnist' or dataset_name == '20news': pca = PCA(10) X = pca.fit_transform(X) if dataset_name == 'zoo': # pca = PCA(5) # X = pca.fit_transform(X) X += np.random.normal(size=X.shape) * 0.01 master_tree = make_master(X, y, dataset_name) experiments = [('ddt', None), ('tr', TotallyRandom(master_tree, y, classification=dataset_name != 'zoo')), ('str', StupidRandom(master_tree, y, K=10, classification=dataset_name != 'zoo')), ('sr', SmartRandom(master_tree, y, classification=dataset_name != 'zoo')),
X, y = dataset.X, dataset.y if dataset_name == 'mnist' or dataset_name == 'iris' or dataset_name == '20news': np.random.seed(0) idx = np.random.permutation(xrange(X.shape[0]))[:args.subset] X = X[idx] y = y[idx] if dataset_name == 'mnist' or dataset_name == '20news': pca = PCA(10) X = pca.fit_transform(X) if dataset_name == 'zoo': # pca = PCA(5) # X = pca.fit_transform(X) X += np.random.normal(size=X.shape) * 0.01 master_tree = make_master(X, y, dataset_name) experiments = [('ddt', None), ('tr', TotallyRandom(master_tree, y, classification=dataset_name != 'zoo')), ('str', StupidRandom(master_tree, y, K=10, classification=dataset_name != 'zoo')), ('sr', SmartRandom(master_tree, y, classification=dataset_name != 'zoo')), ('var', Variance(master_tree, y, N=20, K=10, classification=dataset_name != 'zoo')), ('hybrid', Hybrid(master_tree, y, N=20, K=10, classification=dataset_name != 'zoo')) ] # plt.figure() overall_cost, overall_score = [], [] samplers = [] for name, type in experiments: logging.info("Running %s", name) costs, scores, sampler = run_experiment(args.i, dataset_name, name, type, master_tree, X, y, out_dir,
dataset_name = args.dataset if dataset_name == 'mnist' or dataset_name == 'iris' or dataset_name == '20news': np.random.seed(0) idx = np.random.permutation(xrange(X.shape[0]))[:args.subset] X = X[idx] y = y[idx] if dataset_name == 'mnist' or dataset_name == '20news': pca = PCA(10) X = pca.fit_transform(X) if dataset_name == 'zoo': # pca = PCA(10) # X = pca.fit_transform(X) X += np.random.normal(size=X.shape) * 0.01 master_tree = make_master(X, y, args.dataset) N, D = X.shape C = pdist(X) def make_tree(X, C, method='single'): if method == 'single': tree = to_tree(single(C)) elif method == 'ward': tree = to_tree(ward(X)) elif method == 'average': tree = to_tree(average(C)) return Tree(root=construct_node(tree))