mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-05 22:04:27 +08:00
38 lines
1.0 KiB
Python
Executable File
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')
|
|
|
|
|
|
|