def test_from_file(samples_filename, test_samples_filename, results_filename): """ Perform test on network from specified sample filenames """ sample_set = SampleSet() sample_set.init_from_file(samples_filename) testing_set = SampleSet() testing_set.init_from_file(test_samples_filename) perform_test(sample_set, testing_set, results_filename)
def random_pattern_test(sample_set_size, vector_size): """ Perform test on network using random patterns """ pattern_gen = PatternGen(vector_size) samples = [] for _ in range(sample_set_size): samples.append(pattern_gen.generate_random_pattern()) sample_set = SampleSet(samples) perform_test(sample_set, sample_set)
def train_network(samples_filename, weights_filename): """ Perform training on network from file and saved weights. """ sample_set = SampleSet() sample_set.init_from_file(samples_filename) net = HopfieldNet(sample_set.sample_size) net.initialize() for sample in sample_set: net.train(sample) save_weights_to_file(net.weights, weights_filename)
def test_network(weights_filename, samples_filename): """ Perform testing on network from weights file.""" weights = read_weights_from_file(weights_filename) net = HopfieldNet(len(weights), weights) sample_set = SampleSet() sample_set.init_from_file(samples_filename) results = [] for sample in sample_set: results.append(net.test(sample)) return results
def __init__(self, fname='', csvfile='', backgroundnum=10000): self.fs = FeatureSpace(fname) self.featurename = list(self.fs.layers.keys()) self.sampleset = SampleSet(csvfile) self.sampleset.getbgvalues(self.fs) bglist = self.fs.layers['h_dem'].getRDsamples(backgroundnum) self.bgset = self.fs.getlayervalues(bglist) self.density = [] self.linearPredictor = np.zeros(backgroundnum) self.numFeatures = len(self.fs.layers.keys()) self.features = [] self.featureGenerators = [] self.linearPredictorNormalizer = 0.0 self.densityNormalizer = self.bgset.shape[0] self.entropy = -1.0 self.reg = 0 self.iteration = -1 self.activeLayer = {'ecoreg', 'h_dem', 'tmp6190_ann'}
# self.hinge = [] # self.revhinge = [] # # def computecell(self, val): # pass # # def computegrid(self): # pass # if __name__ == '__main__': fname = r'D:\test\SJY\asc' csvfile = r'D:\test\SJY\with9factors\settlements_samplePredictions.csv' lambdafile = r'D:\test\SJY\with9factors\settlements.lambdas' fs = FeatureSpace(fname) ss = SampleSet(csvfile) l = Lambdas(lambdafile) l.parselambdafile() ss.getbgvalues(fs) dt = ss.getfeatures() for nm in dt.columns: for v in l.lambdas: if nm in v.name: print(nm, v) res = [] for v in l.lambdas: if isinstance(v, Product): g1, g2 = v.name pp = v.eval(ss.csv[g1], ss.csv[g2]) * v.lam