Files
rdkit/Python/ML/DecTree/randomtest.py
Greg Landrum 75a79b6327 initial import
2006-05-06 22:20:08 +00:00

38 lines
1.0 KiB
Python
Executable File

from Numeric import *
import RandomArray
from ML.DecTree import ID3
from ML.DecTree import CrossValidate
def GenRandomExamples(nVars=10,randScale=0.3,bitProb=0.5,nExamples=500,seed=(0,0),
addResults=1):
apply(RandomArray.seed,seed)
varWeights = RandomArray.random(nVars)*randScale
examples = [None]*nExamples
for i in xrange(nExamples):
varVals = map(lambda x,y=bitProb:x>y,RandomArray.random(nVars))
temp = array(varVals) * varWeights
res = sum(temp)
if addResults:
varVals.append(res>=1.)
examples[i] = varVals
nPossibleVals = [2]*(nExamples+1)
attrs = range(nVars)
return (examples,attrs,nPossibleVals)
if __name__ == '__main__':
import cPickle
examples,attrs,nPossibleVals = GenRandomExamples()
outF = open('random.dat.pkl','wb+')
cPickle.dump(examples,outF)
cPickle.dump(attrs,outF)
cPickle.dump(nPossibleVals,outF)
tree = ID3.ID3Boot(examples,attrs,nPossibleVals)
tree.Pickle('save.pkl')