def distance_sparseeuclidean_modular(train_fname=traindat, test_fname=testdat): from modshogun import RealFeatures, SparseRealFeatures, SparseEuclideanDistance, CSVFile realfeat = RealFeatures(CSVFile(train_fname)) feats_train = SparseRealFeatures() feats_train.obtain_from_simple(realfeat) realfeat = RealFeatures(CSVFile(test_fname)) feats_test = SparseRealFeatures() feats_test.obtain_from_simple(realfeat) distance = SparseEuclideanDistance(feats_train, feats_train) dm_train = distance.get_distance_matrix() distance.init(feats_train, feats_test) dm_test = distance.get_distance_matrix() return distance, dm_train, dm_test
def distance_sparseeuclidean_modular (train_fname=traindat,test_fname=testdat): from modshogun import RealFeatures, SparseRealFeatures, SparseEuclideanDistance, CSVFile realfeat=RealFeatures(CSVFile(train_fname)) feats_train=SparseRealFeatures() feats_train.obtain_from_simple(realfeat) realfeat=RealFeatures(CSVFile(test_fname)) feats_test=SparseRealFeatures() feats_test.obtain_from_simple(realfeat) distance=SparseEuclideanDistance(feats_train, feats_train) dm_train=distance.get_distance_matrix() distance.init(feats_train, feats_test) dm_test=distance.get_distance_matrix() return distance,dm_train,dm_test
def compute_output_plot_isolines(classifier, kernel=None, train=None, sparse=False, pos=None, neg=None, regression=False): size = 100 if pos is not None and neg is not None: x1_max = max(1.2 * pos[0, :]) x1_min = min(1.2 * neg[0, :]) x2_min = min(1.2 * neg[1, :]) x2_max = max(1.2 * pos[1, :]) x1 = linspace(x1_min, x1_max, size) x2 = linspace(x2_min, x2_max, size) else: x1 = linspace(-5, 5, size) x2 = linspace(-5, 5, size) x, y = meshgrid(x1, x2) dense = RealFeatures(array((ravel(x), ravel(y)))) if sparse: test = SparseRealFeatures() test.obtain_from_simple(dense) else: test = dense if kernel and train: kernel.init(train, test) else: classifier.set_features(test) labels = None if regression: labels = classifier.apply().get_labels() else: labels = classifier.apply().get_values() z = labels.reshape((size, size)) return x, y, z
def compute_output_plot_isolines( classifier, kernel=None, train=None, sparse=False, pos=None, neg=None, regression=False ): size = 100 if pos is not None and neg is not None: x1_max = max(1.2 * pos[0, :]) x1_min = min(1.2 * neg[0, :]) x2_min = min(1.2 * neg[1, :]) x2_max = max(1.2 * pos[1, :]) x1 = linspace(x1_min, x1_max, size) x2 = linspace(x2_min, x2_max, size) else: x1 = linspace(-5, 5, size) x2 = linspace(-5, 5, size) x, y = meshgrid(x1, x2) dense = RealFeatures(array((ravel(x), ravel(y)))) if sparse: test = SparseRealFeatures() test.obtain_from_simple(dense) else: test = dense if kernel and train: kernel.init(train, test) else: classifier.set_features(test) labels = None if regression: labels = classifier.apply().get_labels() else: labels = classifier.apply().get_values() z = labels.reshape((size, size)) return x, y, z