#add the attributes
mySet.addDefinition(att1)  # wifi
mySet.addDefinition(att2)  # time
mySet.addDefinition(att3)  # location
parameters = [att1, att2, att3]

#add 10 random attributes
random_factory = RandomAttributeFactory(1000)
for idx in range(1, 10):
    rndatt = random_factory.getNext()
    parameters.append(rndatt)
    mySet.addDefinition(rndatt)
    
#select classifier
learner = RulesLearner('tree_learner', mySet, 'on')
learner.setTemplateRuleLearnerName("[WiFi] <= When [Location] ")
learner.setFieldNames(map(str, parameters))

print map(str, parameters)

# [on] <= When [morning, home] 
for a in range(1,300):
    learner.addSample(['on', 'morning', 'home'] + map( lambda x: x.sample(), parameters[3:]), parameters)

# [off] <= When [morning, work] 
for a in range(1,200):
    learner.addSample(['off', 'morning', 'work'] + map( lambda x: x.sample(), parameters[3:]), parameters)

# [on] <= When [afternoon, work] 
for a in range(1,200):
    learner.addSample(['on', 'afternoon', 'work'] + map( lambda x: x.sample(), parameters[3:]), parameters)