Need help for the print() function with a better order

380162267qq at gmail.com 380162267qq at gmail.com
Sat Oct 1 21:12:29 EDT 2016


I am trying to print a simple decision tree for my homework.
The answer must keep in this format:

Top 7,4,0.95
career gain = 100
	1.Management 2, 3, 0.9709505944546686
	2.Service 5, 1, 0.6500224216483541
location gain = 100
	1.Oregon 4, 1, 0.7219280948873623
	2.California 3, 3, 1.0
edu_level gain = 100
	1.High School 5, 1, 0.6500224216483541
	2.College 2, 3, 0.9709505944546686
years_exp gain = 100
	1.Less than 3 3, 1, 0.8112781244591328
	2.3 to 10 2, 1, 0.9182958340544896
	3.More than 10 2, 2, 1.0

Here is my code:
    features={'edu_level':['High School','College'],'career':    ['Management','Service'],'years_exp':['Less than 3','3 to 10','More than 10'],'location':['Oregon','California']}

    print('Top 7,4,0.95')
    for key in features:
        print('{} gain = {}'.format(key,100))
        attributes_list=features[key]
        kargs={}
        for i in range(len(attributes_list)):
            kargs[key]=attributes_list[i]
            low=table.count('Low',**kargs)
            high=table.count('High',**kargs)
            print('\t{}.{} {}, {}, {}'.format(i+1,attributes_list[i],low,high,entropy(low,high)))





I set all the gain as 100 now.But actually the gain must calculate with the data below.
For example, the career gain need the data of 'Management' and 'Service'.
I don't know how to do.
or Anyone can provide me a better logic?






More information about the Python-list mailing list