예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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
예제 #5
0
    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'}
예제 #6
0
#         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