def _compute_svmnormalvector((cache_dir, images, control_images, normalization_name, preprocess_file, rfe)): #try: import numpy as np import sys from cpa.profiling.cache import Cache, RobustLinearNormalization, normalizations from sklearn.svm import LinearSVC from cpa.profiling.profile_svmnormalvector import _compute_rfe cache = Cache(cache_dir) normalization = normalizations[normalization_name] normalizeddata, normalized_colnames, _ = cache.load(images, normalization=normalization) control_data, control_colnames, _ = cache.load(control_images, normalization=normalization) if preprocess_file: preprocessor = cpa.util.unpickle1(preprocess_file) normalizeddata = preprocessor(normalizeddata) control_data = preprocessor(control_data) assert len(control_data) >= len(normalizeddata) downsampled = control_data[np.random.randint(0, len(control_data), len(normalizeddata)), :] x = np.vstack((normalizeddata, downsampled)) y = np.array([1] * len(normalizeddata) + [0] * len(downsampled)) clf = LinearSVC(C=1.0) m = clf.fit(x, y) normal_vector = m.coef_[0] if rfe: # Copy because it is immutable (normal_vector.flags.weriteable == False) normal_vector = np.array(normal_vector) normal_vector[~_compute_rfe(x, y)] = 0 return normal_vector
def _compute_svmnormalvector(xxx_todo_changeme): #try: (cache_dir, images, control_images, normalization_name, preprocess_file, rfe) = xxx_todo_changeme import numpy as np import sys from cpa.profiling.cache import Cache from cpa.profiling.normalization import RobustLinearNormalization, normalizations from sklearn.svm import LinearSVC from cpa.profiling.profile_svmnormalvector import _compute_rfe cache = Cache(cache_dir) normalization = normalizations[normalization_name] normalizeddata, normalized_colnames, _ = cache.load( images, normalization=normalization) control_data, control_colnames, _ = cache.load(control_images, normalization=normalization) if preprocess_file: preprocessor = cpa.util.unpickle1(preprocess_file) normalizeddata = preprocessor(normalizeddata) control_data = preprocessor(control_data) assert len(control_data) >= len(normalizeddata) downsampled = control_data[ np.random.randint(0, len(control_data), len(normalizeddata)), :] x = np.vstack((normalizeddata, downsampled)) y = np.array([1] * len(normalizeddata) + [0] * len(downsampled)) clf = LinearSVC(C=1.0) m = clf.fit(x, y) normal_vector = m.coef_[0] if rfe: # Copy because it is immutable (normal_vector.flags.weriteable == False) normal_vector = np.array(normal_vector) normal_vector[~_compute_rfe(x, y)] = 0 return normal_vector
def _compute_svmnormalvector((cache_dir, images, control_images, rfe)): # try: import numpy as np import sys from cpa.profiling.cache import Cache, RobustLinearNormalization from sklearn.svm import LinearSVC from cpa.profiling.profile_svmnormalvector import _compute_rfe cache = Cache(cache_dir) normalizeddata, normalized_colnames, _ = cache.load(images, normalization=RobustLinearNormalization) control_data, control_colnames, _ = cache.load(control_images, normalization=RobustLinearNormalization) assert len(control_data) >= len(normalizeddata) downsampled = control_data[np.random.randint(0, len(control_data), len(normalizeddata)), :] x = np.vstack((normalizeddata, downsampled)) y = np.array([1] * len(normalizeddata) + [0] * len(downsampled)) clf = LinearSVC(C=1.0) m = clf.fit(x, y) normal_vector = m.coef_[0] if rfe: normal_vector[~_compute_rfe(x, y)] = 0 return normal_vector