def test2ranker(self): nbits = 100 ninst = 100 dm = 50 nact = 10 nc = 2 RDRandom.seed(23) rn = rdit.InfoBitRanker(nbits, nc, rdit.InfoType.ENTROPY) rn.SetMaskBits([63, 70, 15, 25, 10]) fps = [] na = 0 ni = 0 for i in range(ninst): v = DataStructs.SparseBitVect(nbits) for j in range(dm): v.SetBit(RDRandom.randrange(0, nbits)) if (RDRandom.randrange(0, ninst) < nact): na += 1 rn.AccumulateVotes(v, 1) fps.append((v, 1)) else: ni += 1 rn.AccumulateVotes(v, 0) fps.append((v, 0)) res = rn.GetTopN(5) ids = [int(x[0]) for x in res] ids.sort() self.assertTrue(ids == [10, 15, 25, 63, 70]) with self.assertRaisesRegexp(Exception, ""): res = rn.GetTopN(10)
def testReplacementSelection(self): # " use selection with replacement " RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples( nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver( examples, attrs, nPossibleVals, silent=1, replacementSelection=1) self.assertTrue(tree) self.assertAlmostEqual(frac, 0.01666, 4)
def testReplacementSelection(self): # " use selection with replacement " RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples(nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver(examples, attrs, nPossibleVals, silent=1, replacementSelection=1) self.assertTrue(tree) self.assertAlmostEqual(frac, 0.01666, 4)
def testReplacementSelection(self): " use selection with replacement " from rdkit.ML.DecTree import randomtest from rdkit import RDRandom RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples( nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver( examples, attrs, nPossibleVals, silent=1, replacementSelection=1) assert tree assert feq(frac, 0.0833)
def testReplacementSelection(self): " use selection with replacement " from rdkit.ML.DecTree import randomtest from rdkit import RDRandom RDRandom.seed(self.randomSeed) examples,attrs,nPossibleVals = randomtest.GenRandomExamples(nExamples = 200, seed=self.randomArraySeed) tree,frac = CrossValidate.CrossValidationDriver(examples,attrs, nPossibleVals,silent=1, replacementSelection=1) assert tree assert feq(frac,0.0833)
def testResults(self): # " test the results of CrossValidation " RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples(nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver(examples, attrs, nPossibleVals, silent=1) self.assertGreater(frac, 0) with open(self.origTreeName, 'r') as inTFile: buf = inTFile.read().replace('\r\n', '\n').encode('utf-8') inTFile.close() inFile = BytesIO(buf) oTree = cPickle.load(inFile) assert oTree == tree, 'Random CrossValidation test failed'
def InitRandomNumbers(seed): """ Seeds the random number generators **Arguments** - seed: a 2-tuple containing integers to be used as the random number seeds **Notes** this seeds both the RDRandom generator and the one in the standard Python _random_ module """ from rdkit import RDRandom RDRandom.seed(seed[0]) random.seed(seed[0])
def testResults(self): " test the results of CrossValidation " from rdkit.ML.DecTree import randomtest from rdkit import RDRandom RDRandom.seed(self.randomSeed) examples,attrs,nPossibleVals = randomtest.GenRandomExamples(nExamples = 200, seed=self.randomArraySeed) tree,frac = CrossValidate.CrossValidationDriver(examples,attrs, nPossibleVals,silent=1) from rdkit.six.moves import cPickle #cPickle.dump(tree,open(self.origTreeName,'w+')) with open(self.origTreeName,'rb') as inFile: oTree = cPickle.load(inFile) assert oTree==tree,'Random CrossValidation test failed'
def testResults(self): " test the results of CrossValidation " from rdkit.ML.DecTree import randomtest from rdkit import RDRandom RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples( nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver(examples, attrs, nPossibleVals, silent=1) import cPickle #cPickle.dump(tree,file(self.origTreeName,'w+')) inFile = open(self.origTreeName, 'r') oTree = cPickle.load(inFile) assert oTree == tree, 'Random CrossValidation test failed'
def testResults(self): # " test the results of CrossValidation " RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples( nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver(examples, attrs, nPossibleVals, silent=1) self.assertGreater(frac, 0) with open(self.origTreeName, 'r') as inTFile: buf = inTFile.read().replace('\r\n', '\n').encode('utf-8') inTFile.close() inFile = BytesIO(buf) oTree = pickle.load(inFile) assert oTree == tree, 'Random CrossValidation test failed'
def testResults(self): " test the results of CrossValidation " from rdkit.ML.DecTree import randomtest from rdkit import RDRandom RDRandom.seed(self.randomSeed) examples, attrs, nPossibleVals = randomtest.GenRandomExamples(nExamples=200, seed=self.randomArraySeed) tree, frac = CrossValidate.CrossValidationDriver(examples, attrs, nPossibleVals, silent=1) from rdkit.six.moves import cPickle # cPickle.dump(tree,open(self.origTreeName,'w+')) with open(self.origTreeName, "r") as inTFile: buf = inTFile.read().replace("\r\n", "\n").encode("utf-8") inTFile.close() with io.BytesIO(buf) as inFile: oTree = cPickle.load(inFile) assert oTree == tree, "Random CrossValidation test failed"
def testResults(self): " test the results of CrossValidation " from rdkit.ML.DecTree import randomtest from rdkit import RDRandom RDRandom.seed(self.randomSeed) examples,attrs,nPossibleVals = randomtest.GenRandomExamples(nExamples = 200, seed=self.randomArraySeed) tree,frac = CrossValidate.CrossValidationDriver(examples,attrs, nPossibleVals,silent=1) from rdkit.six.moves import cPickle #cPickle.dump(tree,open(self.origTreeName,'w+')) with open(self.origTreeName,'r') as inTFile: buf = inTFile.read().replace('\r\n', '\n').encode('utf-8') inTFile.close() with io.BytesIO(buf) as inFile: oTree = cPickle.load(inFile) assert oTree==tree,'Random CrossValidation test failed'
def setUp(self): RDRandom.seed(25)
from rdkit.SimDivFilters import rdSimDivPickers as rdsimdiv import numpy from rdkit import RDRandom RDRandom.seed(23) pkr = rdsimdiv.MaxMinPicker() n = 1000 m = 80 dataPts = [] for i in range(n): pt = numpy.zeros(2, 'd') pt[0] = 10. * RDRandom.random() pt[1] = 10. * RDRandom.random() dataPts.append(pt) # compute the distance matrix distMat = numpy.zeros(n * (n - 1) / 2, 'd') for i in range(n - 1): itab = n * i - ((i + 1) * (i + 2)) / 2 pt1 = dataPts[i] for j in range(i + 1, n): id = itab + j pt2 = dataPts[j] diff = pt2 - pt1 dist = numpy.sqrt(numpy.dot(diff, diff)) distMat[id] = dist # now do the picking res = pkr.Pick(distMat, n, m)
from rdkit.SimDivFilters import rdSimDivPickers as rdsimdiv import numpy from rdkit import RDRandom RDRandom.seed(23) pkr = rdsimdiv.MaxMinPicker() n = 1000 m = 80 dataPts = [] for i in range(n) : pt = numpy.zeros(2, 'd') pt[0] = 10.*RDRandom.random() pt[1] = 10.*RDRandom.random() dataPts.append(pt) # compute the distance matrix distMat = numpy.zeros(n*(n-1)/2, 'd') for i in range(n-1) : itab = n*i - ((i+1)*(i+2))/2 pt1 = dataPts[i] for j in range(i+1, n) : id = itab + j pt2 = dataPts[j] diff = pt2 - pt1 dist = numpy.sqrt(numpy.dot(diff, diff)) distMat[id] = dist