;;;#| ;;; ;;;This file contains Decision tree learning code to accompany the ;;;textbook "Machine Learning," Tom M. Mitchell, McGraw Hill, 1997. ;;; ;;;Copyright 1998 Tom M. Mitchell. This code may be freely distributed ;;;and used for any non-commericial purpose, as long as this copyright ;;;notice is retained. The author assumes absolutely no responsibility ;;;for any harm caused by bugs in the code. ;;; ;;; ;;; 1. OVERVIEW ;;; ;;;This file contains a Lisp implementation of the ID3 program for ;;;learning decision trees, as described in Table 3.1 of the textbook ;;;"Machine Learning," Tom Mitchell, McGraw Hill, 1997. It also contains ;;;the set of training examples given in Table 3.2. ;;; ;;;The code is simple enough that you should be able to inspect and ;;;modify it for your own use. ;;; ;;;The six key functions are: ;;; ;;;1. ID3(examples target.attribute attributes) ;;; learns a decision tree, using the algorithm from Table 3.1 in the book ;;; ;;;2. Classify(instance tree) ;;; Given a new instance and a previously learned tree, returns the ;;; classification of that instance produced by the tree. ;;; ;;;3. Print.tree(tree) ;;; Prints a tree in human readable form ;;; ;;;4. Print.entity(instance) ;;; Prints an instance (e.g., one of your training examples) ;;; ;;;5. Get.value(attribute instance) ;;; Get the value of some ATTRIBUTE of INSTANCE ;;; ;;;6. Put.value(attribute instance value) ;;; Assign VALUE to ATTRIBUTE of INSTANCE ;;; ;;; ;;;2. EXAMPLE TRACE: ;;; ;;;After loading this file into CommonLisp, you should be able to ;;;duplicate the following trace: ;;; ;;; ;;;;; FIRST LOOK AT THE PROVIDED TRAINING EXAMPLES ;;;>> *training.examples* ;;;(D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 ...) ;;; ;;;;; USE THE FUNCTION PRINT.ENTITY TO EXAMINE JUST ONE OF THEM ;;;>> (print.entity 'd6) ;;; ;;;(PLAY.TENNIS? NO WIND STRONG HUMIDITY NORMAL TEMPERATURE COOL OUTLOOK RAIN) ;;; ;;;;; NOW USE ID3 TO LEARN A TREE ;;;>> (setq tree (id3 *training.examples* ;;; 'play.tennis? ;;; '(outlook temperature humidity wind))) ;;; ;;;(OUTLOOK (SUNNY (HUMIDITY (NORMAL YES) (HIGH NO))) ;;; (OVERCAST YES) ;;; (RAIN (WIND (STRONG NO) (WEAK YES)))) ;;; ;;; ;;;;; LOOK AT THE TREE IN A MORE HUMAN-FRIENDLY FORM ;;;>> (print.tree tree) ;;;OUTLOOK ;;; = SUNNY ;;; HUMIDITY ;;; = NORMAL => YES ;;; = HIGH => NO ;;; = OVERCAST => YES ;;; = RAIN ;;; WIND ;;; = STRONG => NO ;;; = WEAK => YES ;;; ;;; ;;;;; FINALLY, USE THIS LEARNED TREE TO CLASSIFY AN INSTANCE ;;;>> (classify 'd6 tree) ;;;NO ;;; ;;; ;;;|# ;;; ;;;;;; General utility functions ;;;;; use (print.entity instance) to see the definition of entity (defun put.value (attribute instance val) "assign a value to an attribute of an instance" (setf (get instance attribute) val)) (defun get.value (attribute instance) "retrieve the value of attribute of instance" (get instance attribute)) (defun print.entity (instance) "print the description of instance to the screen" (print (symbol-plist instance))) (setf *data* ;;; studentNum timeLab timeSport timeDrama timeVideo year sex race "chem physics bio" ncaa.bracket? ;; student Num timeLab timeSport timeDrama timeVideo timeComm timeHw timeGames timeTv sex race chem physics bio math major.math? college.school? college.party? #|" ;;old data '((s1 avg high none low senior male white n y n yes) (s2 avg none none low senior male white n y n no) (s3 avg low none none senior female white y y n no) (s4 high avg none low senior male white y y n no) (s5 high avg none none senior male white n y n yes) (s6 low low average high senior male white n y n yes) (s7 none low none low senior male white y n n yes) (s8 none low none none senior male white n n n yes) (s9 none high none none senior female white n n n yes) (s10 none low high low senior female white y y n no) (s11 none low none high senior female white n n n no) (s12 none high none low senior male white n n n no) (s13 none low low high senior male white y n y yes) (s14 none high none low senior male white n y n yes) (s15 none avg none none senior female white n y y yes) (s16 none none none none senior female asian n n y yes) (s17 none high avg low senior male white n y n yes) (s18 none high avg low senior female white n n n yes) (s19 none high none avg senior male other n n n yes) (s20 none avg avg low senior male white y y y no) (s21 avg high none none senior male white n y n yes) (s22 high avg none none senior male asian n n n no) (s23 high none none none senior male white n y n no) (s24 avg none high none senior male white n n n no) (s25 avg none none high senior male other n y n no) (s26 avg high none none junior male white n n n yes) (s27 low avg none none junior male white n y n yes) (s28 avg high none none junior male asian y y n yes) (s29 avg none none avg senior male white n y n no) (s30 high low none none senior male asian y y n no) (s31 avg avg none none senior male white n y n no) (s32 avg none none none senior male asian y y n no) (s33 low low low low senior male asian y y n yes) (s34 avg high none none senior male other n y n no) (s35 avg high none none senior male white n y n yes) (s36 avg high low avg senior male asian n y n no) (s37 low avg none none junior male white y y y yes) (s38 avg none none low senior male white n n n no) (s39 high low low none junior male white n y y yes) (s40 avg high none low junior female white n n n no) (s41 low avg high none junior male white n y n no) (s42 high high none none junior male white n n y no) (s43 low avg low high senior male white n y n no) (s44 none none none high senior male white n n y no) (s45 none avg high low sophmore male asian y y n yes) (s46 none low none none sophmore female asian n n n no) (s47 none avg low avg junior female asian n n n no) (s48 low high low none sophmore male white y n y yes) (s49 none low low low junior male white n y y no) (s50 none none low high junior female white n n n no) (s51 none avg avg none sophmore male white n n n yes) (s52 none none none none sophmore male asian n n n no) (s53 none high none none sophmore male asian y n y yes) (s54 none none low high junior female asian y n n no) (s55 none high none low sophmore female white y y y no) (s56 none avg none high sophmore female asian y y n yes) (s57 none high none none junior male white y y n yes) (s58 none avg none avg sophmore male asian y y n no) (s59 none high none none junior female other y y y no) (s60 none high none none junior male white n y y yes) (s61 none none none none senior male asian y y y no) (s62 none high none avg sophmore male asian n y n yes) (s63 none avg none none junior female other n n y no) (s64 low low none none senior male asian y y n no) (s65 none high none none sophmore female other y y n no) (s66 none avg none low senior male asian y n n no) (s67 none high none none senior male white n n y no) (s68 none high non avg junior male white n n n yes) (s69 none high avg high senior male white y y y yes) (s70 none avg none none junior female asian y y n no) (s71 high avg none none senior male white y y n no) (s72 none none none none senior male white n y n no) (s73 none high none none junior female white y y y no) (s74 high low none none senior male white y y n no) (s75 none avg none none junior male asian n y n no) (s76 low high low low junior male white n y n yes) (s77 none high none avg junior male white y y n yes) (s78 none low none none junior male asian y y n yes) (s79 low avg avg none junior male white y n n no) (s80 none high none none junior female white n n n yes) (s81 none high none none senior female asian n n n no) (s82 none avg none none junior female asian y y n no) (s83 low none none none senior female asian n n n no) (s84 none none none none junior female asian y y y no) (s85 none none none none senior female white n y y yes) (s86 high avg none none junior male white y y n no) (s87 none high none none senior female white n n n yes) (s88 avg none none none junior male white n n n no) (s89 none high none avg junior female asian n n n no) (s90 none avg none avg senior female white n n n yes) (s91 none low low avg senior male white n y y yes)))" |# #| " ;;more old data, slightly different '((s1 avg high none low senior male white yes); n y n yes) (s2 avg none none low senior male white no); n y n no) (s3 avg low none none senior female white no); y y n no) (s4 high avg none low senior male white no); y y n no) (s5 high avg none none senior male white yes); n y n yes) (s6 low low average high senior male white yes); n y n yes) (s7 none low none low senior male white yes); y n n yes) (s8 none low none none senior male white yes); n n n yes) (s9 none high none none senior female white yes); n n n yes) (s10 none low high low senior female white no); y y n no) (s11 none low none high senior female white no); n n n no) (s12 none high none low senior male white no); n n n no) (s13 none low low high senior male white yes); y n y yes) ;; (s14 none high none low senior male white yes); n y n yes) (s14 none high none avg senior male white yes) (s15 none avg none none senior female white yes); n y y yes) (s16 none none none none senior female asian yes); n n y yes) (s17 none high avg low senior male white yes); n y n yes) (s18 none high avg low senior female white yes); n n n yes) (s19 none high none avg senior male other yes); n n n yes) (s20 none avg avg low senior male white no); y y y no) (s21 avg high none none senior male white yes); n y n yes) (s22 high avg none none senior male asian no); n n n no) (s23 high none none none senior male white no); n y n no) (s24 avg none high none senior male white no); n n n no) (s25 avg none none high senior male other no); n y n no) (s26 avg high none none junior male white yes); n n n yes) (s27 low avg none none junior male white yes); n y n yes) (s28 avg high none none junior male asian yes); y y n yes) (s29 avg none none avg senior male white no); n y n no) (s30 high low none none senior male asian no); y y n no) (s31 avg avg none none senior male white no); n y n no) (s32 avg none none none senior male asian no); y y n no) (s33 low low low low senior male asian yes); y y n yes) (s34 avg high none none senior male other no); n y n no) (s35 avg high none none senior male white yes); n y n yes) (s36 avg high low avg senior male asian no); n y n no) (s37 low avg none none junior male white yes); y y y yes) (s38 avg none none low senior male white no); n n n no) (s39 high low low none junior male white yes); n y y yes) (s40 avg high none low junior female white no); n n n no) (s41 low avg high none junior male white no); n y n no) (s42 high high none none junior male white no); n n y no) (s43 low avg low high senior male white no); n y n no) (s44 none none none high senior male white no); n n y no) (s45 none avg high low sophmore male asian yes); y y n yes) (s46 none low none none sophmore female asian no); n n n no) (s47 none avg low avg junior female asian no); n n n no) (s48 low high low none sophmore male white yes); y n y yes) (s49 none low low low junior male white no); n y y no) (s50 none none low high junior female white no); n n n no) (s51 none avg avg none sophmore male white yes); n n n yes) (s52 none none none none sophmore male asian no); n n n no) (s53 none high none none sophmore male asian yes); y n y yes) (s54 none none low high junior female asian no); y n n no) (s55 none high none low sophmore female white no); y y y no) (s56 none avg none high sophmore female asian yes); y y n yes) (s57 none high none none junior male white yes); y y n yes) (s58 none avg none avg sophmore male asian no); y y n no) (s59 none high none none junior female other no); y y y no) (s60 none high none none junior male white yes); n y y yes) (s61 none none none none senior male asian no); y y y no) (s62 none high none avg sophmore male asian yes); n y n yes) (s63 none avg none none junior female other no); n n y no) (s64 low low none none senior male asian no); y y n no) (s65 none high none none sophmore female other no); y y n no) (s66 none avg none low senior male asian no); y n n no) (s67 none high none none senior male white no); n n y no) (s68 none high non avg junior male white yes); n n n yes) (s69 none high avg high senior male white yes); y y y yes) (s70 none avg none none junior female asian no); y y n no) ;; (s71 high avg none none senior male white no); y y n no) (s71 high avg none none senior male white yes) (s72 none none none senior male white no); n y n no) (s73 none high none none junior female white no); y y y no) (s74 high low none none senior male white no); y y n no) (s75 none avg none none junior male asian no); n y n no) (s76 low high low low junior male white yes); n y n yes) (s77 none high none avg junior male white yes); y y n yes) (s78 none low none none junior male asian yes); y y n yes) (s79 low avg avg none junior male white no); y n n no) ;; (s80 none high none none junior female white yes); n n n yes) (s80 none high none none junior female white no) (s81 none high none none senior female asian no); n n n no) (s82 none avg none none junior female asian no); y y n no) (s83 low none none none senior female asian no); n n n no) (s84 none none none none junior female asian no); y y y no) (s85 none none none none senior female white yes); n y y yes) (s86 high avg none none junior male white no); y y n no) (s87 none high none none senior female white yes); n n n yes))) (s88 avg none none none junior male white); n n n no) (s89 none high none avg junior female asian); n n n no) (s90 none avg none avg senior female white); n n n yes) (s91 none low low avg senior male white))); n y y yes))) " |# #|" ;; allmajor = all qualifiers taken for, and answering the question of major focus in college '((s1 0 <4 0 0 >48 <5 0 ~6 Female White No No No No No) (s2 0 >10 0 0 ~36 <5 >10 <2 Male Other No No No No No) (s3 0 0 0 0 ~36 ~10 ~6 <2 Female White No Yes No No Yes) (s4 0 >10 0 0 <12 <5 >10 ~6 Male White No Yes No Yes Yes) (s5 0 >10 <4 <2 ~36 <5 <2 0 Male White No No Yes No Yes) (s6 ~4 >10 0 0 <12 <5 ~6 ~6 Male Asian No Yes No Yes No) (s7 0 >10 <4 0 ~36 <5 0 >10 Male White No No No No No) (s8 0 <4 0 ~4 >48 ~10 0 ~6 Female Other No No No No No) (s9 0 ~7 0 0 ~36 ~10 0 ~6 Male Other No Yes No Yes No) (s10 0 0 0 0 ~36 <5 0 ~6 Female White No No Yes Yes No) (s11 >5 0 0 <2 ~36 ~10 >10 <2 Male White No No No No No) (s12 0 >10 0 0 <12 ~10 ~6 <2 Male Asian No No No No No) (s13 0 <4 0 0 >48 ~10 <2 >10 Male Asian Yes No Yes No Yes) (s14 0 <4 ~7 0 <12 <5 0 0 Female Asian No No Yes No No) (s15 0 <4 >10 0 <12 ~10 ~6 ~6 Female White No No No No No) (s16 0 0 0 0 ~36 ~10 0 <2 Female Wasian Yes No Yes No No) (s17 0 0 0 0 <12 >15 <2 ~6 Female Asian Yes No No No Yes) (s18 ~4 <4 0 0 ~36 <5 >10 ~6 Male White No No No Yes No) (s19 0 <4 0 0 >48 <5 0 ~6 Female White No No No No No) (s20 0 >10 0 0 ~36 ~10 ~6 ~6 Male White No No Yes No Yes) (s21 0 ~7 0 0 <12 <5 ~6 ~6 Male Asian No No No No No) (s22 0 >10 0 0 <12 <5 0 0 Male White No No No No No) (s23 0 >10 0 0 0 <5 ~6 0 Male Asian No No No No No) (s24 >5 <4 0 0 ~36 ~10 ~6 <2 Male White No No No No No) (s25 >5 <4 0 0 <12 ~10 ~6 <2 Male White No No Yes Yes Yes) (s26 0 <4 0 0 ~36 >15 <2 <2 Female Asian No No Yes No Yes) (s27 >5 >10 0 0 ~36 ~10 0 <2 Male Asian No No No Yes Yes) (s28 0 <4 0 0 <12 <5 <2 ~6 Male White Yes No No Yes No) (s29 0 >10 0 0 ~36 <5 ~6 <2 Male Asian No Yes No Yes Yes) (s30 0 <4 <4 >5 ~36 >15 <2 <2 Female White No No No No No) (s31 0 0 0 0 >48 <5 ~6 >10 Male White Yes No Yes Yes Yes) (s32 ~4 0 0 0 0 ~10 ~6 <2 Male White No No No No No) (s33 0 >10 >10 0 >48 >15 0 0 Male White Yes Yes Yes Yes No) (s34 0 ~7 0 0 <12 <5 ~6 ~6 Male White Yes Yes No Yes Yes) (s35 0 0 0 0 ~36 >15 ~6 <2 Male Wasian Yes Yes Yes No Yes) (s36 0 >10 0 0 >48 ~10 <2 <2 Female White Yes No No No Yes) (s37 0 >10 0 0 0 0 >10 >10 Male White No No No Yes No) (s38 0 <4 <4 0 <12 ~10 ~6 <2 Male White No No No Yes Yes) (s39 >5 ~7 0 0 ~36 <5 >10 >10 Male White No No No No Yes) (s40 0 >10 0 0 <12 <5 <2 <2 Male Asian Yes No No No Yes) (s41 ~4 0 0 0 <12 ~10 >10 ~6 Male Asian No Yes No Yes Yes) (s42 0 <4 >10 0 ~36 <5 <2 <2 Female Asian No No Yes No No) (s43 >5 0 0 0 <12 <5 ~6 ~6 Male White No No No No No) (s44 0 >10 0 0 0 <5 <2 ~6 Male White No No Yes No Yes) (s45 <2 <4 0 0 <12 <5 ~6 ~6 Female Wasian No No Yes No Yes) (s46 0 >10 0 0 <12 ~10 0 0 Female White Yes No Yes Yes Yes) (s47 0 0 0 0 ~36 ~10 0 <2 Male White Yes No No Yes Yes) (s48 >5 <4 0 0 <12 ~10 >10 <2 Male Asian No Yes No Yes Yes) (s49 0 0 0 0 >48 <5 <2 ~6 Female Other No No Yes No No) (s50 0 0 0 0 <12 >15 0 <2 Female Other Yes No No No Yes) (s51 0 0 0 0 ~36 ~10 0 0 Female Asian No No No No No) (s52 0 <4 0 0 >48 ~10 ~6 <2 Male Asian Yes No Yes No Yes) (s53 0 0 0 0 <12 ~10 0 >10 Female White No No No No No) (s54 0 >10 0 0 <12 ~10 ~6 ~6 Female Asian No No Yes No No) (s55 0 <4 <4 <2 <12 >15 ~6 ~6 Male White No Yes No Yes Yes) (s56 >5 >10 0 0 >48 ~10 <2 ~6 Male Wasian No Yes No Yes Yes) (s57 0 0 0 0 >48 <5 <2 <2 Male Asian Yes No Yes No Yes) (s58 0 ~7 0 0 <12 >15 >10 ~6 Female White Yes No No No Yes) (s59 0 >10 0 <2 >48 ~10 ~6 <2 Male Asian No No No No No) (s60 ~4 0 0 0 <12 ~10 ~6 >10 Male White No No No Yes No) (s61 0 ~7 0 0 >48 >15 ~6 ~6 Male Asian Yes No No No Yes) (s62 0 0 0 0 <12 <5 <2 ~6 Male White Yes No Yes Yes No) (s63 ~4 0 0 0 ~36 <5 >10 <2 Male White No Yes No Yes No) (s64 ~4 >10 0 >5 0 <5 ~6 0 Male White No No No No Yes) (s65 <2 >10 0 0 ~36 ~10 0 <2 Male White Yes Yes No No Yes) (s66 ~4 >10 0 0 ~36 ~10 ~6 ~6 Male White No Yes No Yes Yes) (s67 0 0 ~7 0 <12 <5 <2 ~6 Female White No No No No No) (s68 0 <4 >10 ~4 ~36 ~10 <2 <2 Female White Yes No No Yes No) (s69 0 >10 0 0 >48 >15 <2 ~6 Female White Yes No Yes No Yes) (s70 0 ~7 >10 0 <12 <5 0 ~6 Female White No No No No No) (s71 0 0 0 ~4 >48 ~10 0 >10 Female Asian No No No No No) (s72 <2 >10 0 0 0 ~10 ~6 <2 Male White No No Yes No Yes) (s73 >5 0 0 0 <12 <5 ~6 <2 Male White No No No Yes Yes) (s74 ~4 ~7 0 0 <12 <5 ~6 <2 Male White No Yes No Yes No) (s75 >5 0 0 <2 0 <5 <2 >10 Male White No Yes No Yes Yes) (s76 0 >10 0 0 >48 >15 <2 0 Male White No Yes Yes Yes Yes) (s77 0 <4 0 0 ~36 ~10 0 <2 Female White Yes No Yes No Yes) (s78 0 >10 0 0 >48 ~10 <2 ~6 Female Other No No No No No) (s79 >5 0 0 0 0 <5 <2 <2 Male White Yes Yes No Yes Yes) (s80 0 >10 0 0 0 <5 0 0 Male White Yes Yes No Yes Yes) (s81 0 >10 0 0 <12 ~10 ~6 <2 Male White Yes No No No Yes) (s82 >5 0 0 0 0 <5 ~6 <2 Male Other No No No No Yes) (s83 0 ~7 0 0 0 <5 ~6 >10 Male White No No No No No) (s84 0 >10 0 0 ~36 <5 ~6 ~6 Male White Yes Yes No No Yes) (s85 ~4 >10 0 0 <12 ~10 >10 >10 Male White No Yes No Yes Yes) (s86 >5 <4 0 0 ~36 >15 0 <2 Female Asian Yes No No No Yes) (s87 0 ~7 0 0 >48 ~10 >10 ~6 Male Asian Yes No No Yes Yes) (s88 <2 0 0 0 >48 ~10 ~6 ~6 Female White Yes No Yes No Yes) (s89 0 <4 0 0 >48 >15 <2 <2 Male Asian No No Yes No Yes) (s90 0 <4 0 0 <12 ~10 0 ~6 Female Asian No No No No No) (s91 0 >10 0 0 ~36 <5 <2 >10 Female Wasian No No Yes No No) (s92 <2 0 0 0 0 ~10 0 ~6 Male Asian No Yes No Yes No) (s93 0 >10 0 0 ~36 ~10 <2 <2 Male White No No No No No) (s94 0 <4 0 0 >48 ~10 <2 ~6 Male White Yes No No No Yes) (s95 0 0 0 0 0 ~10 ~6 ~6 Male White No Yes No Yes No) (s96 >5 0 0 0 <12 ~10 <2 <2 Male White Yes Yes No Yes No) (s97 0 <4 0 >48 <5 >10 <2 <2 Male White No No Yes Yes Yes) (s98 0 >10 0 0 >48 <5 <2 <2 Male White No No Yes Yes Yes) (s99 0 >10 0 0 <12 <5 0 >10 Male White No No No No No) (s100 0 0 0 0 >48 >15 <2 ~6 Female Asian No No Yes No Yes) (s101 0 ~7 0 0 ~36 ~10 <2 ~6 Female Asian Yes No Yes No Yes) (s102 0 >10 0 0 >48 ~10 0 0 Female Wasian No No No No Yes) (s103 <2 >10 <4 >5 <12 <5 <2 0 Male White No Yes No Yes No) (s104 0 <4 0 0 <12 ~10 ~6 ~6 Male Asian No No No No Yes) (s105 0 <4 0 0 ~36 <5 ~6 <2 Female Asian No No No No No) (s106 0 <4 0 0 ~36 ~10 <2 >10 Female Other Yes No No No No) (s107 0 0 0 0 >48 >15 0 ~6 Female Asian Yes Yes Yes Yes No) (s108 0 >10 0 0 >48 <5 ~6 <2 Female Wasian Yes No No No Yes) (s109 <2 0 0 0 ~36 <5 0 0 Male Wasian Yes Yes No No Yes) (s110 0 >10 0 0 >48 ~10 <2 <2 Male White Yes No Yes No Yes) (s111 0 0 0 0 <12 ~10 ~6 <2 Male Asian No No No No No) (s112 0 <4 <4 >5 >48 ~10 >10 >10 Male Asian No No Yes Yes No) (s113 0 0 0 0 >48 <5 >10 0 Male Asian No Yes No Yes No) (s114 0 0 0 0 >48 ~10 <2 ~6 Female Other No No No Yes Yes) (s115 0 0 0 0 ~36 ~10 >10 ~6 Female White Yes No Yes No No) (s116 0 <4 0 0 >48 ~10 0 <2 Female White No No Yes No Yes) (s117 0 <4 0 0 ~36 <5 0 0 Male Other Yes No No No No) (s118 ~4 ~7 0 0 0 <5 ~6 <2 Male White No No No No Yes) (s119 ~4 <4 0 0 0 ~10 >10 ~6 Male White No No Yes No No) (s120 ~4 0 0 0 <12 >15 0 ~6 Female Asian No No Yes Yes Yes) (s121 ~4 >10 0 0 ~36 <5 <2 0 Male White No Yes No Yes Yes) (s122 ~4 >10 <4 0 <12 <5 <2 <2 Male Wasian No No No No No) (s123 ~4 >10 0 0 >48 >15 0 <2 Female White Yes No No No No) (s124 ~4 <4 0 0 <12 ~10 0 0 Female Other No No No No No) (s125 ~4 <4 0 0 <12 <5 <2 ~6 Male Other No No No No No) (s126 ~4 <4 0 0 <12 ~10 <2 ~6 Female White No No Yes No No) (s127 ~4 0 0 0 <12 <5 0 0 Male Asian Yes No Yes No No) (s128 ~4 >10 0 0 <12 <5 <2 <2 Male White No No No No No) (s129 ~4 <4 0 0 <12 <5 <2 ~6 Male White Yes No No Yes Yes) (s130 ~4 >10 0 0 >48 ~10 0 0 Female White Yes No Yes Yes Yes) (s131 ~4 >10 0 0 <12 ~10 <2 ~6 Female White No No Yes No Yes) (s132 ~4 >10 0 0 <12 ~10 0 <2 Female White No No No No No) (s133 ~4 <4 0 0 ~36 ~10 >10 ~6 Male White No No No No No) (s134 ~4 >10 0 0 >48 <5 0 <2 Female White No No No No No) (s135 ~4 <4 0 0 >48 <5 <2 <2 Male Asian Yes No No No Yes) (s136 ~4 >10 0 0 >48 >15 0 0 Female White No No No No No) (s137 ~4 0 <4 ~4 <12 <5 <2 ~6 Female White No No No No No) (s138 ~4 >10 <4 <2 >48 <5 <2 <2 Male White No Yes No No Yes) (s139 ~4 0 0 0 <12 <5 ~6 <2 Male Asian Yes Yes No Yes No) (s140 ~4 >10 0 0 0 <5 ~6 <2 Male Other Yes No Yes No Yes) (s141 ~4 ~7 0 0 >48 >15 <2 ~6 Female Asian No No No No No) (s142 ~4 >10 0 0 ~36 <5 ~6 ~6 Male White No No No Yes No) (s143 ~4 >10 0 0 >48 >15 <2 ~6 Female White No No No No No) (s144 ~4 <4 0 0 ~36 ~10 <2 ~6 Female Wasian Yes No No No Yes) (s145 ~4 0 ~7 <2 <12 <5 <2 ~6 Male White Yes No No No No) (s146 ~4 0 0 0 <12 <5 ~6 ~6 Female Asian No No No No No) (s147 ~4 0 0 0 ~36 ~10 <2 ~6 Female White No No No Yes Yes) (s148 ~4 ~7 <4 0 <12 <5 ~6 ~6 Male White No Yes No No Yes) (s149 ~4 >10 0 0 <12 ~10 ~6 <2 Male White No No No No Yes) (s150 ~4 >10 0 0 ~36 <5 <2 <2 Male White No No No No No) (s151 ~4 >10 0 0 >48 <5 <2 ~6 Female Asian No No Yes Yes No) (s152 ~4 >10 0 0 <12 ~10 0 ~6 Female White No No Yes Yes Yes) (s153 ~4 <4 0 0 ~36 ~10 <2 ~6 Male White No No No No No) (s154 ~4 0 <4 0 <12 ~10 <2 ~6 Female White No No No No No) (s155 ~4 ~7 0 ~4 ~36 <5 <2 ~6 Female White No No No No No) (s156 ~4 >10 0 0 0 >15 <2 ~6 Male White No No No No No) (s157 ~4 >10 0 0 >48 <5 0 0 Female White No No No No Yes) (s158 ~4 0 0 0 ~36 <5 >10 >10 Male Asian Yes No Yes No No) (s159 ~4 >10 0 0 <12 <5 <2 <2 Male White No No No Yes Yes) (s160 ~4 ~7 0 0 ~36 <5 <2 ~6 Female Other Yes Yes Yes No Yes) (s161 ~4 0 0 0 ~36 ~10 ~6 <2 Male White Yes No No No Yes) (s162 ~4 ~7 0 0 >48 ~10 >10 >10 Male Other No Yes No Yes Yes) (s163 ~4 <4 0 0 ~36 >15 0 ~6 Female Other No No Yes No Yes) (s164 ~4 0 <4 0 0 ~10 ~6 <2 Male White No No No No Yes) (s165 ~4 <4 0 <2 <12 ~10 >10 ~6 Male Other No No No No No) (s166 ~4 0 0 0 <12 ~10 ~6 <2 Female White Yes Yes No No No) (s167 ~4 >10 <4 0 ~36 ~10 <2 <2 Female White No No Yes Yes Yes) (s168 ~4 <4 0 0 ~36 ~10 >10 ~6 Male White No No No Yes No) (s169 ~4 0 0 0 >48 ~10 ~6 ~6 Male White No Yes No Yes Yes) (s170 ~4 <4 <4 0 ~36 <5 <2 ~6 Male White Yes No Yes No Yes) (s171 ~4 0 0 0 >48 ~10 0 ~6 Female Asian Yes No No Yes No) (s172 ~4 0 0 0 0 <5 >10 >10 Male White No No No No Yes) (s173 ~4 >10 0 0 <12 <5 <2 ~6 Male White No Yes Yes Yes Yes) (s174 ~4 <4 <4 0 ~36 <5 ~6 ~6 Male White No Yes No Yes Yes) (s175 ~4 >10 0 0 >48 >15 <2 <2 Male Asian Yes Yes Yes Yes Yes) (s176 ~4 0 0 0 ~36 <5 <2 ~6 Male Other Yes Yes Yes Yes Yes) (s177 ~4 >10 <4 0 >48 ~10 <2 ~6 Female White No No No No Yes) (s178 ~4 <4 <4 0 >48 ~10 0 <2 Female White No No No No No) (s179 ~4 <4 0 0 <12 ~10 >10 >10 Male Other No No No Yes No) (s180 ~4 >10 0 <2 <12 <5 <2 ~6 Male White No Yes No No No) (s181 ~4 <4 <4 0 0 <5 <2 ~6 Male White Yes No No Yes No) (s182 ~4 <4 0 0 <12 ~10 <2 ~6 Female White Yes No No Yes Yes) (s183 ~4 0 0 0 <12 ~10 ~6 ~6 Male White No No Yes No No) (s184 ~4 >10 0 0 ~36 <5 >10 <2 Male White No No No No No) (s185 ~4 ~7 <4 0 <12 ~10 >10 <2 Male Other Yes Yes No No Yes) (s186 ~4 0 0 0 0 ~10 >10 ~6 Male White No No No Yes No) (s187 ~4 0 0 0 <12 <5 ~6 <2 Male White No No No Yes No) (s188 ~4 <4 0 0 ~36 >15 0 ~6 Female Asian No No Yes No Yes) (s189 ~4 0 0 0 ~36 ~10 <2 0 Female Asian No No Yes No No) (s190 ~4 ~7 0 0 ~36 ~10 <2 <2 Male Asian Yes Yes No Yes Yes) (s191 ~4 >10 0 0 <12 ~10 <2 ~6 Male Asian Yes No Yes No Yes) (s192 ~4 0 0 0 >48 <5 0 <2 Female Wasian Yes Yes No Yes Yes) (s193 ~4 <4 0 0 >48 >15 0 ~6 Female Asian Yes Yes Yes Yes Yes) (s194 ~4 >10 0 0 <12 >15 <2 ~6 Male White Yes No No Yes Yes) (s195 ~4 0 <4 <2 ~36 <5 >10 <2 Female White No No No No No) (s196 ~4 0 0 ~4 <12 <5 0 0 Female Asian No No No No Yes) (s197 ~4 ~7 0 ~4 ~36 <5 <2 >10 Female White No No No No No) (s198 ~4 0 0 0 ~36 ~10 <2 <2 Female White No No Yes No No) (s199 ~4 0 0 0 ~36 >15 ~6 ~6 Male Asian Yes No No Yes No) (s200 ~4 0 0 0 <12 <5 ~6 0 Female White Yes No No Yes Yes) (s201 ~4 >10 0 0 <12 <5 0 <2 Male White No No No Yes No) (s202 ~4 0 0 0 <12 ~10 0 <2 Male White Yes No No No No) (s203 ~4 0 ~7 0 0 <5 ~6 <2 Male White No No No No Yes) (s204 ~4 0 0 >5 0 ~10 >10 <2 Male White No No No Yes No) (s205 ~4 >10 0 0 <12 <5 0 ~6 Female Asian No No No Yes Yes) (s206 ~4 >10 0 0 >48 >15 0 <2 Female Asian Yes No Yes No No) (s207 ~4 <4 0 <2 <12 <5 <2 0 Male White No Yes No Yes Yes) (s208 ~4 >10 0 0 <12 <5 ~6 >10 Male White No No No Yes Yes) (s209 ~4 ~7 0 0 >48 <5 0 ~6 Female White No No No No No) (s210 ~4 >10 0 0 ~36 <5 0 0 Female White No No No Yes No) (s211 ~4 >10 0 0 >48 <5 >10 >10 Male Asian Yes No Yes No Yes) (s212 ~4 ~7 0 <2 0 <5 <2 <2 Male Asian Yes No No Yes No) (s213 ~4 >10 0 <2 <12 0 >10 0 Male White Yes Yes No No Yes) (s214 ~4 <4 0 0 <12 <5 ~6 <2 Male Asian Yes Yes No Yes Yes) (s215 ~4 <4 0 0 <12 ~10 <2 <2 Male Asian Yes No Yes No No) (s216 ~4 >10 0 0 ~36 <5 <2 <2 Male White No Yes No Yes Yes) (s217 ~4 >10 0 <2 >48 ~10 0 ~6 Female White No No No Yes Yes) (s218 ~4 ~7 0 <2 >48 <5 ~6 ~6 Male Other Yes Yes Yes Yes Yes) (s219 ~4 >10 0 0 0 ~10 >10 0 Male White No No No No Yes) (s220 ~4 >10 0 0 <12 >15 <2 <2 Female Other No No No No No) (s221 ~4 0 0 0 <12 ~10 0 ~6 Female Asian No No No No No) (s222 ~4 0 0 0 <12 ~10 >10 ~6 Male Wasian No No No No Yes) (s223 ~4 <4 0 0 >48 <5 ~6 >10 Male Wasian No No No Yes No) (s224 ~4 <4 <4 0 ~36 <5 ~6 0 Female White No No No No Yes) (s225 ~4 >10 0 0 <12 ~10 ~6 ~6 Male White No No No No No) (s226 ~4 >10 0 <2 <12 ~10 >10 ~6 Male Asian No No No No Yes) (s227 ~4 >10 0 0 ~36 ~10 <2 ~6 Female Asian No No No No No) (s228 ~4 0 0 0 ~36 ~10 <2 >10 Female Other No No No No Yes) (s229 ~4 <4 <4 0 <12 >15 <2 ~6 Female Asian No No No No Yes) (s230 ~4 <4 <4 0 ~36 ~10 ~6 <2 Male White No No No Yes Yes) (s231 ~4 ~7 0 0 <12 <5 <2 <2 Female Asian No No No No Yes) (s232 ~4 >10 0 0 ~36 ~10 <2 <2 Male Asian No Yes No No Yes) (s233 ~4 0 0 0 0 ~10 >10 ~6 Male White No No No No Yes) (s234 ~4 >10 0 0 <12 ~10 <2 >10 Male Asian No No No No Yes) (s235 ~4 >10 0 0 0 >15 <2 <2 Male Asian No No No No No) (s236 ~4 ~7 0 >5 0 >15 >10 >10 Male Asian No No No No No) (s237 ~4 ~7 0 0 >48 >15 0 >10 Female White No No Yes No Yes) (s238 ~4 >10 0 0 <12 <5 <2 >10 Male Asian No No No No No))) " |# #| " ;;allclass = all qualifiers, answering the question of how prepared the students feel for college class '((s1 0 <4 0 0 >48 <5 0 ~6 Female White No No No No well) (s2 0 >10 0 0 ~36 <5 >10 <2 Male Other No No No No well) (s3 0 0 0 0 ~36 ~10 ~6 <2 Female White No Yes No No well) (s4 0 >10 0 0 <12 <5 >10 ~6 Male White No Yes No Yes well) (s5 0 >10 <4 <2 ~36 <5 <2 0 Male White No No Yes No well) (s6 ~4 >10 0 0 <12 <5 ~6 ~6 Male Asian No Yes No Yes well) (s7 0 >10 <4 0 ~36 <5 0 >10 Male White No No No No Prepared) (s8 0 <4 0 ~4 >48 ~10 0 ~6 Female Other No No No No well) (s9 0 ~7 0 0 ~36 ~10 0 ~6 Male Other No Yes No Yes well) (s10 0 0 0 0 ~36 <5 0 ~6 Female White No No Yes Yes well) (s11 >5 0 0 <2 ~36 ~10 >10 <2 Male White No No No No Prepared) (s12 0 >10 0 0 <12 ~10 ~6 <2 Male Asian No No No No Not) (s13 0 <4 0 0 >48 ~10 <2 >10 Male Asian Yes No Yes No well) (s14 0 <4 ~7 0 <12 <5 0 0 Female Asian No No Yes No well) (s15 0 <4 >10 0 <12 ~10 ~6 ~6 Female White No No No No well) (s16 0 0 0 0 ~36 ~10 0 <2 Female Wasian Yes No Yes No well) (s17 0 0 0 0 <12 >15 <2 ~6 Female Asian Yes No No No well) (s18 ~4 <4 0 0 ~36 <5 >10 ~6 Male White No No No Yes well) (s19 0 <4 0 0 >48 <5 0 ~6 Female White No No No No well) (s20 0 >10 0 0 ~36 ~10 ~6 ~6 Male White No No Yes No well) (s21 0 ~7 0 0 <12 <5 ~6 ~6 Male Asian No No No No Prepared) (s22 0 >10 0 0 <12 <5 0 0 Male White No No No No well) (s23 0 >10 0 0 0 <5 ~6 0 Male Asian No No No No Not) (s24 >5 <4 0 0 ~36 ~10 ~6 <2 Male White No No No No Prepared) (s25 >5 <4 0 0 <12 ~10 ~6 <2 Male White No No Yes Yes well) (s26 0 <4 0 0 ~36 >15 <2 <2 Female Asian No No Yes No well) (s27 >5 >10 0 0 ~36 ~10 0 <2 Male Asian No No No Yes well) (s28 0 <4 0 0 <12 <5 <2 ~6 Male White Yes No No Yes well) (s29 0 >10 0 0 ~36 <5 ~6 <2 Male Asian No Yes No Yes well) (s30 0 <4 <4 >5 ~36 >15 <2 <2 Female White No No No No well) (s31 0 0 0 0 >48 <5 ~6 >10 Male White Yes No Yes Yes well) (s32 ~4 0 0 0 0 ~10 ~6 <2 Male White No No No No Prepared) (s33 0 >10 >10 0 >48 >15 0 0 Male White Yes Yes Yes Yes well) (s34 0 ~7 0 0 <12 <5 ~6 ~6 Male White Yes Yes No Yes well) (s35 0 0 0 0 ~36 >15 ~6 <2 Male Wasian Yes Yes Yes No well) (s36 0 >10 0 0 >48 ~10 <2 <2 Female White Yes No No No well) (s37 0 >10 0 0 0 0 >10 >10 Male White No No No Yes well) (s38 0 <4 <4 0 <12 ~10 ~6 <2 Male White No No No Yes well) (s39 >5 ~7 0 0 ~36 <5 >10 >10 Male White No No No No well) (s40 0 >10 0 0 <12 <5 <2 <2 Male Asian Yes No No No well) (s41 ~4 0 0 0 <12 ~10 >10 ~6 Male Asian No Yes No Yes well) (s42 0 <4 >10 0 ~36 <5 <2 <2 Female Asian No No Yes No well) (s43 >5 0 0 0 <12 <5 ~6 ~6 Male White No No No No Not) (s44 0 >10 0 0 0 <5 <2 ~6 Male White No No Yes No Prepared) (s45 <2 <4 0 0 <12 <5 ~6 ~6 Female Wasian No No Yes No Prepared) (s46 0 >10 0 0 <12 ~10 0 0 Female White Yes No Yes Yes well) (s47 0 0 0 0 ~36 ~10 0 <2 Male White Yes No No Yes well) (s48 >5 <4 0 0 <12 ~10 >10 <2 Male Asian No Yes No Yes well) (s49 0 0 0 0 >48 <5 <2 ~6 Female Other No No Yes No Prepared) (s50 0 0 0 0 <12 >15 0 <2 Female Other Yes No No No Not) (s51 0 0 0 0 ~36 ~10 0 0 Female Asian No No No No Prepared) (s52 0 <4 0 0 >48 ~10 ~6 <2 Male Asian Yes No Yes No well) (s53 0 0 0 0 <12 ~10 0 >10 Female White No No No No well) (s54 0 >10 0 0 <12 ~10 ~6 ~6 Female Asian No No Yes No Prepared) (s55 0 <4 <4 <2 <12 >15 ~6 ~6 Male White No Yes No Yes well) (s56 >5 >10 0 0 >48 ~10 <2 ~6 Male Wasian No Yes No Yes well) (s57 0 0 0 0 >48 <5 <2 <2 Male Asian Yes No Yes No Prepared) (s58 0 ~7 0 0 <12 >15 >10 ~6 Female White Yes No No No well) (s59 0 >10 0 <2 >48 ~10 ~6 <2 Male Asian No No No No Prepared) (s60 ~4 0 0 0 <12 ~10 ~6 >10 Male White No No No Yes well) (s61 0 ~7 0 0 >48 >15 ~6 ~6 Male Asian Yes No No No well) (s62 0 0 0 0 <12 <5 <2 ~6 Male White Yes No Yes Yes well) (s63 ~4 0 0 0 ~36 <5 >10 <2 Male White No Yes No Yes well) (s64 ~4 >10 0 >5 0 <5 ~6 0 Male White No No No No well) (s65 <2 >10 0 0 ~36 ~10 0 <2 Male White Yes Yes No No well) (s66 ~4 >10 0 0 ~36 ~10 ~6 ~6 Male White No Yes No Yes Prepared) (s67 0 0 ~7 0 <12 <5 <2 ~6 Female White No No No No Prepared) (s68 0 <4 >10 ~4 ~36 ~10 <2 <2 Female White Yes No No Yes well) (s69 0 >10 0 0 >48 >15 <2 ~6 Female White Yes No Yes No well) (s70 0 ~7 >10 0 <12 <5 0 ~6 Female White No No No No Prepared) (s71 0 0 0 ~4 >48 ~10 0 >10 Female Asian No No No No Prepared) (s72 <2 >10 0 0 0 ~10 ~6 <2 Male White No No Yes No well) (s73 >5 0 0 0 <12 <5 ~6 <2 Male White No No No Yes well) (s74 ~4 ~7 0 0 <12 <5 ~6 <2 Male White No Yes No Yes well) (s75 >5 0 0 <2 0 <5 <2 >10 Male White No Yes No Yes well) (s76 0 >10 0 0 >48 >15 <2 0 Male White No Yes Yes Yes well) (s77 0 <4 0 0 ~36 ~10 0 <2 Female White Yes No Yes No well) (s78 0 >10 0 0 >48 ~10 <2 ~6 Female Other No No No No well) (s79 >5 0 0 0 0 <5 <2 <2 Male White Yes Yes No Yes well) (s80 0 >10 0 0 0 <5 0 0 Male White Yes Yes No Yes well) (s81 0 >10 0 0 <12 ~10 ~6 <2 Male White Yes No No No well) (s82 >5 0 0 0 0 <5 ~6 <2 Male Other No No No No well) (s83 0 ~7 0 0 0 <5 ~6 >10 Male White No No No No well) (s84 0 >10 0 0 ~36 <5 ~6 ~6 Male White Yes Yes No No well) (s85 ~4 >10 0 0 <12 ~10 >10 >10 Male White No Yes No Yes well) (s86 >5 <4 0 0 ~36 >15 0 <2 Female Asian Yes No No No well) (s87 0 ~7 0 0 >48 ~10 >10 ~6 Male Asian Yes No No Yes well) (s88 <2 0 0 0 >48 ~10 ~6 ~6 Female White Yes No Yes No Prepared) (s89 0 <4 0 0 >48 >15 <2 <2 Male Asian No No Yes No Prepared) (s90 0 <4 0 0 <12 ~10 0 ~6 Female Asian No No No No Not) (s91 0 >10 0 0 ~36 <5 <2 >10 Female Wasian No No Yes No Prepared) (s92 <2 0 0 0 0 ~10 0 ~6 Male Asian No Yes No Yes well) (s93 0 >10 0 0 ~36 ~10 <2 <2 Male White No No No No well) (s94 0 <4 0 0 >48 ~10 <2 ~6 Male White Yes No No No well) (s95 0 0 0 0 0 ~10 ~6 ~6 Male White No No Prepared) (s96 >5 0 0 0 <12 ~10 <2 <2 Male White Yes Yes No Yes well) (s97 0 <4 0 >48 <5 >10 <2 Male White No No Yes Yes well) (s98 0 >10 0 0 >48 <5 <2 <2 Male White No No Yes Yes well) (s99 0 >10 0 0 <12 <5 0 >10 Male White No No No No well) (s100 0 0 0 0 >48 >15 <2 ~6 Female Asian No No Yes No Prepared) (s101 0 ~7 0 0 ~36 ~10 <2 ~6 Female Asian Yes No Yes No Prepared) (s102 0 >10 0 0 >48 ~10 0 0 Female Wasian No No No No Not) (s103 <2 >10 <4 >5 <12 <5 <2 0 Male White No Yes No Yes well) (s104 0 <4 0 0 <12 ~10 ~6 ~6 Male Asian No No No No Prepared) (s105 0 <4 0 0 ~36 <5 ~6 <2 Female Asian No No No No Prepared) (s106 0 <4 0 0 ~36 ~10 <2 >10 Female Other Yes No No No Prepared) (s107 0 0 0 0 >48 >15 0 ~6 Female Asian Yes Yes Yes Yes well) (s108 0 >10 0 0 >48 <5 ~6 <2 Female Wasian Yes No No No well) (s109 <2 0 0 0 ~36 <5 0 0 Male Wasian Yes Yes No No well) (s110 0 >10 0 0 >48 ~10 <2 <2 Male White Yes No Yes No well) (s111 0 0 0 0 <12 ~10 ~6 <2 Male Asian No No No No Prepared) (s112 0 <4 <4 >5 >48 ~10 >10 >10 Male Asian No No Yes Yes well) (s113 0 0 0 0 >48 <5 >10 0 Male Asian No Yes No Yes well) (s114 0 0 0 0 >48 ~10 <2 ~6 Female Other No No No Yes well) (s115 0 0 0 0 ~36 ~10 >10 ~6 Female White Yes No Yes No well) (s116 0 <4 0 0 >48 ~10 0 <2 Female White No No Yes No well) (s117 0 <4 0 0 ~36 <5 0 0 Male Other Yes No No No well) (s118 ~4 ~7 0 0 0 <5 ~6 <2 Male White No No No No well) (s119 ~4 <4 0 0 0 ~10 >10 ~6 Male White No No Yes No Prepared) (s120 ~4 0 0 0 <12 >15 0 ~6 Female Asian No No Yes Yes well) (s121 ~4 >10 0 0 ~36 <5 <2 0 Male White No Yes No Yes well) (s122 ~4 >10 <4 0 <12 <5 <2 <2 Male Wasian No No No No well) (s123 ~4 >10 0 0 >48 >15 0 <2 Female White Yes No No No Prepared) (s124 ~4 <4 0 0 <12 ~10 0 0 Female Other No No No No Prepared) (s125 ~4 <4 0 0 <12 <5 <2 ~6 Male Other No No No No Prepared) (s126 ~4 <4 0 0 <12 ~10 <2 ~6 Female White No No Yes No well) (s127 ~4 0 0 0 <12 <5 0 0 Male Asian Yes No Yes No Prepared) (s128 ~4 >10 0 0 <12 <5 <2 <2 Male White No No No No well) (s129 ~4 <4 0 0 <12 <5 <2 ~6 Male White Yes No No Yes well) (s130 ~4 >10 0 0 >48 ~10 0 0 Female White Yes No Yes Yes well) (s131 ~4 >10 0 0 <12 ~10 <2 ~6 Female White No No Yes No well) (s132 ~4 >10 0 0 <12 ~10 0 <2 Female White No No No No Prepared) (s133 ~4 <4 0 0 ~36 ~10 >10 ~6 Male White No No No No well) (s134 ~4 >10 0 0 >48 <5 0 <2 Female White No No No No well) (s135 ~4 <4 0 0 >48 <5 <2 <2 Male Asian Yes No No No Prepared) (s136 ~4 >10 0 0 >48 >15 0 0 Female White No No No No well) (s137 ~4 0 <4 ~4 <12 <5 <2 ~6 Female White No No No No well) (s138 ~4 >10 <4 <2 >48 <5 <2 <2 Male White No Yes No No well) (s139 ~4 0 0 0 <12 <5 ~6 <2 Male Asian Yes Yes No Yes well) (s140 ~4 >10 0 0 0 <5 ~6 <2 Male Other Yes No Yes No well) (s141 ~4 ~7 0 0 >48 >15 <2 ~6 Female Asian No No No No Prepared) (s142 ~4 >10 0 0 ~36 <5 ~6 ~6 Male White No No No Yes Prepared) (s143 ~4 >10 0 0 >48 >15 <2 ~6 Female White No No No No well) (s144 ~4 <4 0 0 ~36 ~10 <2 ~6 Female Wasian Yes No No No Prepared) (s145 ~4 0 ~7 <2 <12 <5 <2 ~6 Male White Yes No No No Prepared) (s146 ~4 0 0 0 <12 <5 ~6 ~6 Female Asian No No No No Prepared) (s147 ~4 0 0 0 ~36 ~10 <2 ~6 Female White No No No Yes well) (s148 ~4 ~7 <4 0 <12 <5 ~6 ~6 Male White No Yes No No Prepared) (s149 ~4 >10 0 0 <12 ~10 ~6 <2 Male White No No No No Prepared) (s150 ~4 >10 0 0 ~36 <5 <2 <2 Male White No No No No well) (s151 ~4 >10 0 0 >48 <5 <2 ~6 Female Asian No No Yes Yes Prepared) (s152 ~4 >10 0 0 <12 ~10 0 ~6 Female White No No Yes Yes Prepared) (s153 ~4 <4 0 0 ~36 ~10 <2 ~6 Male White No No No No well) (s154 ~4 0 <4 0 <12 ~10 <2 ~6 Female White No No No No well) (s155 ~4 ~7 0 ~4 ~36 <5 <2 ~6 Female White No No No No well) (s156 ~4 >10 0 0 0 >15 <2 ~6 Male White No No No No well) (s157 ~4 >10 0 0 >48 <5 0 0 Female White No No No No well) (s158 ~4 0 0 0 ~36 <5 >10 >10 Male Asian Yes No Yes No well) (s159 ~4 >10 0 0 <12 <5 <2 <2 Male White No No No Yes well) (s160 ~4 ~7 0 0 ~36 <5 <2 ~6 Female Other Yes Yes Yes No well) (s161 ~4 0 0 0 ~36 ~10 ~6 <2 Male White Yes No No No well) (s162 ~4 ~7 0 0 >48 ~10 >10 >10 Male Other No Yes No Yes well) (s163 ~4 <4 0 0 ~36 >15 0 ~6 Female Other No No Yes No Prepared) (s164 ~4 0 <4 0 0 ~10 ~6 <2 Male White No No No No Prepared) (s165 ~4 <4 0 <2 <12 ~10 >10 ~6 Male Other No No No No well) (s166 ~4 0 0 0 <12 ~10 ~6 <2 Female White Yes Yes No No well) (s167 ~4 >10 <4 0 ~36 ~10 <2 <2 Female White No No Yes Yes well) (s168 ~4 <4 0 0 ~36 ~10 >10 ~6 Male White No No No Yes well) (s169 ~4 0 0 0 >48 ~10 ~6 ~6 Male White No Yes No Yes well) (s170 ~4 <4 <4 0 ~36 <5 <2 ~6 Male White Yes No Yes No well) (s171 ~4 0 0 0 >48 ~10 0 ~6 Female Asian Yes No No Yes well) (s172 ~4 0 0 0 0 <5 >10 >10 Male White No No No No well) (s173 ~4 >10 0 0 <12 <5 <2 ~6 Male White No Yes Yes Yes well) (s174 ~4 <4 <4 0 ~36 <5 ~6 ~6 Male White No Yes No Yes well) (s175 ~4 >10 0 0 >48 >15 <2 <2 Male Asian Yes Yes Yes Yes Prepared) (s176 ~4 0 0 0 ~36 <5 <2 ~6 Male Other Yes Yes Yes Yes well) (s177 ~4 >10 <4 0 >48 ~10 <2 ~6 Female White No No No No well) (s178 ~4 <4 <4 0 >48 ~10 0 <2 Female White No No No No well) (s179 ~4 <4 0 0 <12 ~10 >10 >10 Male Other No No No Yes Prepared) (s180 ~4 >10 0 <2 <12 <5 <2 ~6 Male White No Yes No No well) (s181 ~4 <4 <4 0 0 <5 <2 ~6 Male White Yes No No Yes well) (s182 ~4 <4 0 0 <12 ~10 <2 ~6 Female White Yes No No Yes well) (s183 ~4 0 0 0 <12 ~10 ~6 ~6 Male White No No Yes No Prepared) (s184 ~4 >10 0 0 ~36 <5 >10 <2 Male White No No No No well) (s185 ~4 ~7 <4 0 <12 ~10 >10 <2 Male Other Yes Yes No No well) (s186 ~4 0 0 0 0 ~10 >10 ~6 Male White No No No Yes well) (s187 ~4 0 0 0 <12 <5 ~6 <2 Male White No No No Yes well) (s188 ~4 <4 0 0 ~36 >15 0 ~6 Female Asian No No Yes No Prepared) (s189 ~4 0 0 0 ~36 ~10 <2 0 Female Asian No No Yes No Prepared) (s190 ~4 ~7 0 0 ~36 ~10 <2 <2 Male Asian Yes Yes No Yes well) (s191 ~4 >10 0 0 <12 ~10 <2 ~6 Male Asian Yes No Yes No Prepared) (s192 ~4 0 0 0 >48 <5 0 <2 Female Wasian Yes Yes No Yes well) (s193 ~4 <4 0 0 >48 >15 0 ~6 Female Asian Yes Yes Yes Yes well) (s194 ~4 >10 0 0 <12 >15 <2 ~6 Male White Yes No No Yes well) (s195 ~4 0 <4 <2 ~36 <5 >10 <2 Female White No No No No well) (s196 ~4 0 0 ~4 <12 <5 0 0 Female Asian No No No No well) (s197 ~4 ~7 0 ~4 ~36 <5 <2 >10 Female White No No No No well) (s198 ~4 0 0 0 ~36 ~10 <2 <2 Female White No No Yes No Prepared) (s199 ~4 0 0 0 ~36 >15 ~6 ~6 Male Asian Yes No No Yes well) (s200 ~4 0 0 0 <12 <5 ~6 0 Female White Yes No No Yes well) (s201 ~4 >10 0 0 <12 <5 0 <2 Male White No No No Yes well) (s202 ~4 0 0 0 <12 ~10 0 <2 Male White Yes No No No well) (s203 ~4 0 ~7 0 0 <5 ~6 <2 Male White No No No No well) (s204 ~4 0 0 >5 0 ~10 >10 <2 Male White No No No Yes well) (s205 ~4 >10 0 0 <12 <5 0 ~6 Female Asian No No No Yes Prepared) (s206 ~4 >10 0 0 >48 >15 0 <2 Female Asian Yes No Yes No Prepared) (s207 ~4 <4 0 <2 <12 <5 <2 0 Male White No Yes No Yes Prepared) (s208 ~4 >10 0 0 <12 <5 ~6 >10 Male White No No No Yes well) (s209 ~4 ~7 0 0 >48 <5 0 ~6 Female White No No No No well) (s210 ~4 >10 0 0 ~36 <5 0 0 Female White No No No Yes well) (s211 ~4 >10 0 0 >48 <5 >10 >10 Male Asian Yes No Yes No well) (s212 ~4 ~7 0 <2 0 <5 <2 <2 Male Asian Yes No No Yes Prepared) (s213 ~4 >10 0 <2 <12 0 >10 0 Male White Yes Yes No No well) (s214 ~4 <4 0 0 <12 <5 ~6 <2 Male Asian Yes Yes No Yes well) (s215 ~4 <4 0 0 <12 ~10 <2 <2 Male Asian Yes No Yes No Prepared) (s216 ~4 >10 0 0 ~36 <5 <2 <2 Male White No Yes No Yes well) (s217 ~4 >10 0 <2 >48 ~10 0 ~6 Female White No No No Yes well) (s218 ~4 ~7 0 <2 >48 <5 ~6 ~6 Male Other Yes Yes Yes Yes Prepared) (s219 ~4 >10 0 0 0 ~10 >10 0 Male White No No No No well) (s220 ~4 >10 0 0 <12 >15 <2 <2 Female Other No No No No Not) (s221 ~4 0 0 0 <12 ~10 0 ~6 Female Asian No No No No Prepared) (s222 ~4 0 0 0 <12 ~10 >10 ~6 Male Wasian No No No No Prepared) (s223 ~4 <4 0 0 >48 <5 ~6 >10 Male Wasian No No No Yes well) (s224 ~4 <4 <4 0 ~36 <5 ~6 0 Female White No No No No Not) (s225 ~4 >10 0 0 <12 ~10 ~6 ~6 Male White No No No No well) (s226 ~4 >10 0 <2 <12 ~10 >10 ~6 Male Asian No No No No Prepared) (s227 ~4 >10 0 0 ~36 ~10 <2 ~6 Female Asian No No No No Not) (s228 ~4 0 0 0 ~36 ~10 <2 >10 Female Other No No No No Prepared) (s229 ~4 <4 <4 0 <12 >15 <2 ~6 Female Asian No No No No well) (s230 ~4 <4 <4 0 ~36 ~10 ~6 <2 Male White No No No Yes well) (s231 ~4 ~7 0 0 <12 <5 <2 <2 Female Asian No No No No Prepared) (s232 ~4 >10 0 0 ~36 ~10 <2 <2 Male Asian No Yes No No Not) (s233 ~4 0 0 0 0 ~10 >10 ~6 Male White No No No No Prepared) (s234 ~4 >10 0 0 <12 ~10 <2 >10 Male Asian No No No No well) (s235 ~4 >10 0 0 0 >15 <2 <2 Male Asian No No No No Prepared) (s236 ~4 ~7 0 >5 0 >15 >10 >10 Male Asian No No No No Not) (s237 ~4 ~7 0 0 >48 >15 0 >10 Female White No No Yes No well) (s238 ~4 >10 0 0 <12 <5 <2 >10 Male Asian No No No No Prepared))) " |# ;;all party = all qualifiers and how prepared for college social life '((s1 0 <4 0 0 >48 <5 0 ~6 Female White No No No No well) (s2 0 >10 0 0 ~36 <5 >10 <2 Male Other No No No No well) (s3 0 0 0 0 ~36 ~10 ~6 <2 Female White No Yes No No well) (s4 0 >10 0 0 <12 <5 >10 ~6 Male White No Yes No Yes well) (s5 0 >10 <4 <2 ~36 <5 <2 0 Male White No No Yes No well) (s6 ~4 >10 0 0 <12 <5 ~6 ~6 Male Asian No Yes No Yes well) (s7 0 >10 <4 0 ~36 <5 0 >10 Male White No No No No Prepared) (s8 0 <4 0 ~4 >48 ~10 0 ~6 Female Other No No No No well) (s9 0 ~7 0 0 ~36 ~10 0 ~6 Male Other No Yes No Yes well) (s10 0 0 0 0 ~36 <5 0 ~6 Female White No No Yes Yes Prepared) (s11 >5 0 0 <2 ~36 ~10 >10 <2 Male White No No No No Prepared) (s12 0 >10 0 0 <12 ~10 ~6 <2 Male Asian No No No No Not) (s13 0 <4 0 0 >48 ~10 <2 >10 Male Asian Yes No Yes No well) (s14 0 <4 ~7 0 <12 <5 0 0 Female Asian No No Yes No well) (s15 0 <4 >10 0 <12 ~10 ~6 ~6 Female White No No No No well) (s16 0 0 0 0 ~36 ~10 0 <2 Female Wasian Yes No Yes No well) (s17 0 0 0 0 <12 >15 <2 ~6 Female Asian Yes No No No Prepared) (s18 ~4 <4 0 0 ~36 <5 >10 ~6 Male White No No No Yes well) ;;(s19 0 <4 0 0 >48 <5 0 ~6 Female White No No No No Prepared) ;; s19 is in direct contradiction to s1, so the tree is overloaded and breaks (s20 0 >10 0 0 ~36 ~10 ~6 ~6 Male White No No Yes No well) (s21 0 ~7 0 0 <12 <5 ~6 ~6 Male Asian No No No No Prepared) (s22 0 >10 0 0 <12 <5 0 0 Male White No No No No Not) (s23 0 >10 0 0 0 <5 ~6 0 Male Asian No No No No Not) (s24 >5 <4 0 0 ~36 ~10 ~6 <2 Male White No No No No Prepared) (s25 >5 <4 0 0 <12 ~10 ~6 <2 Male White No No Yes Yes Prepared) (s26 0 <4 0 0 ~36 >15 <2 <2 Female Asian No No Yes No well) (s27 >5 >10 0 0 ~36 ~10 0 <2 Male Asian No No No Yes well) (s28 0 <4 0 0 <12 <5 <2 ~6 Male White Yes No No Yes well) (s29 0 >10 0 0 ~36 <5 ~6 <2 Male Asian No Yes No Yes Prepared) (s30 0 <4 <4 >5 ~36 >15 <2 <2 Female White No No No No Prepared) (s31 0 0 0 0 >48 <5 ~6 >10 Male White Yes No Yes Yes Prepared) (s32 ~4 0 0 0 0 ~10 ~6 <2 Male White No No No No Prepared) (s33 0 >10 >10 0 >48 >15 0 0 Male White Yes Yes Yes Yes well) (s34 0 ~7 0 0 <12 <5 ~6 ~6 Male White Yes Yes No Yes Prepared) (s35 0 0 0 0 ~36 >15 ~6 <2 Male Wasian Yes Yes Yes No Prepared) (s36 0 >10 0 0 >48 ~10 <2 <2 Female White Yes No No No Not) (s37 0 >10 0 0 0 0 >10 >10 Male White No No No Yes well) (s38 0 <4 <4 0 <12 ~10 ~6 <2 Male White No No No Yes well) (s39 >5 ~7 0 0 ~36 <5 >10 >10 Male White No No No No well) (s40 0 >10 0 0 <12 <5 <2 <2 Male Asian Yes No No No Prepared) (s41 ~4 0 0 0 <12 ~10 >10 ~6 Male Asian No Yes No Yes well) (s42 0 <4 >10 0 ~36 <5 <2 <2 Female Asian No No Yes No Prepared) (s43 >5 0 0 0 <12 <5 ~6 ~6 Male White No No No No Not) (s44 0 >10 0 0 0 <5 <2 ~6 Male White No No Yes No Prepared) (s45 <2 <4 0 0 <12 <5 ~6 ~6 Female Wasian No No Yes No Prepared) (s46 0 >10 0 0 <12 ~10 0 0 Female White Yes No Yes Yes Prepared) (s47 0 0 0 0 ~36 ~10 0 <2 Male White Yes No No Yes Prepared) (s48 >5 <4 0 0 <12 ~10 >10 <2 Male Asian No Yes No Yes well) (s49 0 0 0 0 >48 <5 <2 ~6 Female Other No No Yes No well) (s50 0 0 0 0 <12 >15 0 <2 Female Other Yes No No No Prepared) (s51 0 0 0 0 ~36 ~10 0 0 Female Asian No No No No Prepared) (s52 0 <4 0 0 >48 ~10 ~6 <2 Male Asian Yes No Yes No Prepared) (s53 0 0 0 0 <12 ~10 0 >10 Female White No No No No Not) (s54 0 >10 0 0 <12 ~10 ~6 ~6 Female Asian No No Yes No Prepared) (s55 0 <4 <4 <2 <12 >15 ~6 ~6 Male White No Yes No Yes well) (s56 >5 >10 0 0 >48 ~10 <2 ~6 Male Wasian No Yes No Yes well) (s57 0 0 0 0 >48 <5 <2 <2 Male Asian Yes No Yes No well) (s58 0 ~7 0 0 <12 >15 >10 ~6 Female White Yes No No No well) (s59 0 >10 0 <2 >48 ~10 ~6 <2 Male Asian No No No No Not) (s60 ~4 0 0 0 <12 ~10 ~6 >10 Male White No No No Yes Prepared) (s61 0 ~7 0 0 >48 >15 ~6 ~6 Male Asian Yes No No No well) (s62 0 0 0 0 <12 <5 <2 ~6 Male White Yes No Yes Yes well) (s63 ~4 0 0 0 ~36 <5 >10 <2 Male White No Yes No Yes well) (s64 ~4 >10 0 >5 0 <5 ~6 0 Male White No No No No Not) (s65 <2 >10 0 0 ~36 ~10 0 <2 Male White Yes Yes No No well) (s66 ~4 >10 0 0 ~36 ~10 ~6 ~6 Male White No Yes No Yes well) (s67 0 0 ~7 0 <12 <5 <2 ~6 Female White No No No No Prepared) (s68 0 <4 >10 ~4 ~36 ~10 <2 <2 Female White Yes No No Yes well) (s69 0 >10 0 0 >48 >15 <2 ~6 Female White Yes No Yes No well) (s70 0 ~7 >10 0 <12 <5 0 ~6 Female White No No No No well) (s71 0 0 0 ~4 >48 ~10 0 >10 Female Asian No No No No Prepared) (s72 <2 >10 0 0 0 ~10 ~6 <2 Male White No No Yes No Prepared) (s73 >5 0 0 0 <12 <5 ~6 <2 Male White No No No Yes Prepared) (s74 ~4 ~7 0 0 <12 <5 ~6 <2 Male White No Yes No Yes well) (s75 >5 0 0 <2 0 <5 <2 >10 Male White No Yes No Yes Prepared) (s76 0 >10 0 0 >48 >15 <2 0 Male White No Yes Yes Yes Prepared) (s77 0 <4 0 0 ~36 ~10 0 <2 Female White Yes No Yes No Prepared) (s78 0 >10 0 0 >48 ~10 <2 ~6 Female Other No No No No well) (s79 >5 0 0 0 0 <5 <2 <2 Male White Yes Yes No Yes Prepared) (s80 0 >10 0 0 0 <5 0 0 Male White Yes Yes No Yes well) (s81 0 >10 0 0 <12 ~10 ~6 <2 Male White Yes No No No Prepared) (s82 >5 0 0 0 0 <5 ~6 <2 Male Other No No No No well) (s83 0 ~7 0 0 0 <5 ~6 >10 Male White No No No No well) (s84 0 >10 0 0 ~36 <5 ~6 ~6 Male White Yes Yes No No Not) (s85 ~4 >10 0 0 <12 ~10 >10 >10 Male White No Yes No Yes well) (s86 >5 <4 0 0 ~36 >15 0 <2 Female Asian Yes No No No well) (s87 0 ~7 0 0 >48 ~10 >10 ~6 Male Asian Yes No No Yes well) (s88 <2 0 0 0 >48 ~10 ~6 ~6 Female White Yes No Yes No Prepared) (s89 0 <4 0 0 >48 >15 <2 <2 Male Asian No No Yes No well) (s90 0 <4 0 0 <12 ~10 0 ~6 Female Asian No No No No Not) (s91 0 >10 0 0 ~36 <5 <2 >10 Female Wasian No No Yes No Prepared) (s92 <2 0 0 0 0 ~10 0 ~6 Male Asian No Yes No Yes well) (s93 0 >10 0 0 ~36 ~10 <2 <2 Male White No No No No well) (s94 0 <4 0 0 >48 ~10 <2 ~6 Male White Yes No No No Prepared) (s95 0 0 0 0 0 ~10 ~6 ~6 Male White No No Prepared) (s96 >5 0 0 0 <12 ~10 <2 <2 Male White Yes Yes No Yes Prepared) (s97 0 <4 0 >48 <5 >10 <2 Male White No No Yes Yes Prepared) (s98 0 >10 0 0 >48 <5 <2 <2 Male White No No Yes Yes well) (s99 0 >10 0 0 <12 <5 0 >10 Male White No No No No well) (s100 0 0 0 0 >48 >15 <2 ~6 Female Asian No No Yes No Not) (s101 0 ~7 0 0 ~36 ~10 <2 ~6 Female Asian Yes No Yes No Prepared) (s102 0 >10 0 0 >48 ~10 0 0 Female Wasian No No No No Not) (s103 <2 >10 <4 >5 <12 <5 <2 0 Male White No Yes No Yes Prepared) (s104 0 <4 0 0 <12 ~10 ~6 ~6 Male Asian No No No No well) (s105 0 <4 0 0 ~36 <5 ~6 <2 Female Asian No No No No Prepared) (s106 0 <4 0 0 ~36 ~10 <2 >10 Female Other Yes No No No Prepared) (s107 0 0 0 0 >48 >15 0 ~6 Female Asian Yes Yes Yes Yes Not) (s108 0 >10 0 0 >48 <5 ~6 <2 Female Wasian Yes No No No well) (s109 <2 0 0 0 ~36 <5 0 0 Male Wasian Yes Yes No No Prepared) (s110 0 >10 0 0 >48 ~10 <2 <2 Male White Yes No Yes No well) (s111 0 0 0 0 <12 ~10 ~6 <2 Male Asian No No No No Not) (s112 0 <4 <4 >5 >48 ~10 >10 >10 Male Asian No No Yes Yes Prepared) (s113 0 0 0 0 >48 <5 >10 0 Male Asian No Yes No Yes Not) (s114 0 0 0 0 >48 ~10 <2 ~6 Female Other No No No Yes well) (s115 0 0 0 0 ~36 ~10 >10 ~6 Female White Yes No Yes No Prepared) (s116 0 <4 0 0 >48 ~10 0 <2 Female White No No Yes No Prepared) (s117 0 <4 0 0 ~36 <5 0 0 Male Other Yes No No No well) (s118 ~4 ~7 0 0 0 <5 ~6 <2 Male White No No No No well) (s119 ~4 <4 0 0 0 ~10 >10 ~6 Male White No No Yes No well) (s120 ~4 0 0 0 <12 >15 0 ~6 Female Asian No No Yes Yes Prepared) (s121 ~4 >10 0 0 ~36 <5 <2 0 Male White No Yes No Yes Not) (s122 ~4 >10 <4 0 <12 <5 <2 <2 Male Wasian No No No No Prepared) (s123 ~4 >10 0 0 >48 >15 0 <2 Female White Yes No No No Prepared) (s124 ~4 <4 0 0 <12 ~10 0 0 Female Other No No No No Prepared) (s125 ~4 <4 0 0 <12 <5 <2 ~6 Male Other No No No No Prepared) (s126 ~4 <4 0 0 <12 ~10 <2 ~6 Female White No No Yes No Prepared) (s127 ~4 0 0 0 <12 <5 0 0 Male Asian Yes No Yes No Not) (s128 ~4 >10 0 0 <12 <5 <2 <2 Male White No No No No well) (s129 ~4 <4 0 0 <12 <5 <2 ~6 Male White Yes No No Yes well) (s130 ~4 >10 0 0 >48 ~10 0 0 Female White Yes No Yes Yes well) (s131 ~4 >10 0 0 <12 ~10 <2 ~6 Female White No No Yes No Prepared) (s132 ~4 >10 0 0 <12 ~10 0 <2 Female White No No No No Not) (s133 ~4 <4 0 0 ~36 ~10 >10 ~6 Male White No No No No well) (s134 ~4 >10 0 0 >48 <5 0 <2 Female White No No No No well) (s135 ~4 <4 0 0 >48 <5 <2 <2 Male Asian Yes No No No Not) (s136 ~4 >10 0 0 >48 >15 0 0 Female White No No No No well) (s137 ~4 0 <4 ~4 <12 <5 <2 ~6 Female White No No No No well) (s138 ~4 >10 <4 <2 >48 <5 <2 <2 Male White No Yes No No well) (s139 ~4 0 0 0 <12 <5 ~6 <2 Male Asian Yes Yes No Yes well) (s140 ~4 >10 0 0 0 <5 ~6 <2 Male Other Yes No Yes No well) (s141 ~4 ~7 0 0 >48 >15 <2 ~6 Female Asian No No No No well) (s142 ~4 >10 0 0 ~36 <5 ~6 ~6 Male White No No No Yes well) (s143 ~4 >10 0 0 >48 >15 <2 ~6 Female White No No No No Prepared) (s144 ~4 <4 0 0 ~36 ~10 <2 ~6 Female Wasian Yes No No No Prepared) (s145 ~4 0 ~7 <2 <12 <5 <2 ~6 Male White Yes No No No Not) (s146 ~4 0 0 0 <12 <5 ~6 ~6 Female Asian No No No No Not) (s147 ~4 0 0 0 ~36 ~10 <2 ~6 Female White No No No Yes well) (s148 ~4 ~7 <4 0 <12 <5 ~6 ~6 Male White No Yes No No well) (s149 ~4 >10 0 0 <12 ~10 ~6 <2 Male White No No No No Prepared) (s150 ~4 >10 0 0 ~36 <5 <2 <2 Male White No No No No well) (s151 ~4 >10 0 0 >48 <5 <2 ~6 Female Asian No No Yes Yes well) (s152 ~4 >10 0 0 <12 ~10 0 ~6 Female White No No Yes Yes Prepared) (s153 ~4 <4 0 0 ~36 ~10 <2 ~6 Male White No No No No well) (s154 ~4 0 <4 0 <12 ~10 <2 ~6 Female White No No No No well) (s155 ~4 ~7 0 ~4 ~36 <5 <2 ~6 Female White No No No No Prepared) (s156 ~4 >10 0 0 0 >15 <2 ~6 Male White No No No No well) (s157 ~4 >10 0 0 >48 <5 0 0 Female White No No No No well) (s158 ~4 0 0 0 ~36 <5 >10 >10 Male Asian Yes No Yes No Prepared) (s159 ~4 >10 0 0 <12 <5 <2 <2 Male White No No No Yes well) (s160 ~4 ~7 0 0 ~36 <5 <2 ~6 Female Other Yes Yes Yes No Prepared) (s161 ~4 0 0 0 ~36 ~10 ~6 <2 Male White Yes No No No Prepared) (s162 ~4 ~7 0 0 >48 ~10 >10 >10 Male Other No Yes No Yes well) (s163 ~4 <4 0 0 ~36 >15 0 ~6 Female Other No No Yes No Prepared) (s164 ~4 0 <4 0 0 ~10 ~6 <2 Male White No No No No Prepared) (s165 ~4 <4 0 <2 <12 ~10 >10 ~6 Male Other No No No No Prepared) (s166 ~4 0 0 0 <12 ~10 ~6 <2 Female White Yes Yes No No well) (s167 ~4 >10 <4 0 ~36 ~10 <2 <2 Female White No No Yes Yes Prepared) (s168 ~4 <4 0 0 ~36 ~10 >10 ~6 Male White No No No Yes well) (s169 ~4 0 0 0 >48 ~10 ~6 ~6 Male White No Yes No Yes well) (s170 ~4 <4 <4 0 ~36 <5 <2 ~6 Male White Yes No Yes No well) (s171 ~4 0 0 0 >48 ~10 0 ~6 Female Asian Yes No No Yes Prepared) (s172 ~4 0 0 0 0 <5 >10 >10 Male White No No No No well) (s173 ~4 >10 0 0 <12 <5 <2 ~6 Male White No Yes Yes Yes Prepared) (s174 ~4 <4 <4 0 ~36 <5 ~6 ~6 Male White No Yes No Yes well) (s175 ~4 >10 0 0 >48 >15 <2 <2 Male Asian Yes Yes Yes Yes Prepared) (s176 ~4 0 0 0 ~36 <5 <2 ~6 Male Other Yes Yes Yes Yes Prepared) (s177 ~4 >10 <4 0 >48 ~10 <2 ~6 Female White No No No No Prepared) (s178 ~4 <4 <4 0 >48 ~10 0 <2 Female White No No No No well) (s179 ~4 <4 0 0 <12 ~10 >10 >10 Male Other No No No Yes Prepared) (s180 ~4 >10 0 <2 <12 <5 <2 ~6 Male White No Yes No No well) (s181 ~4 <4 <4 0 0 <5 <2 ~6 Male White Yes No No Yes Prepared) (s182 ~4 <4 0 0 <12 ~10 <2 ~6 Female White Yes No No Yes Prepared) (s183 ~4 0 0 0 <12 ~10 ~6 ~6 Male White No No Yes No Prepared) (s184 ~4 >10 0 0 ~36 <5 >10 <2 Male White No No No No well) (s185 ~4 ~7 <4 0 <12 ~10 >10 <2 Male Other Yes Yes No No Prepared) (s186 ~4 0 0 0 0 ~10 >10 ~6 Male White No No No Yes well) (s187 ~4 0 0 0 <12 <5 ~6 <2 Male White No No No Yes well) (s188 ~4 <4 0 0 ~36 >15 0 ~6 Female Asian No No Yes No Not) (s189 ~4 0 0 0 ~36 ~10 <2 0 Female Asian No No Yes No Prepared) (s190 ~4 ~7 0 0 ~36 ~10 <2 <2 Male Asian Yes Yes No Yes well) (s191 ~4 >10 0 0 <12 ~10 <2 ~6 Male Asian Yes No Yes No well) (s192 ~4 0 0 0 >48 <5 0 <2 Female Wasian Yes Yes No Yes well) (s193 ~4 <4 0 0 >48 >15 0 ~6 Female Asian Yes Yes Yes Yes well) (s194 ~4 >10 0 0 <12 >15 <2 ~6 Male White Yes No No Yes Not) (s195 ~4 0 <4 <2 ~36 <5 >10 <2 Female White No No No No well) (s196 ~4 0 0 ~4 <12 <5 0 0 Female Asian No No No No well) (s197 ~4 ~7 0 ~4 ~36 <5 <2 >10 Female White No No No No well) (s198 ~4 0 0 0 ~36 ~10 <2 <2 Female White No No Yes No Prepared) (s199 ~4 0 0 0 ~36 >15 ~6 ~6 Male Asian Yes No No Yes Prepared) (s200 ~4 0 0 0 <12 <5 ~6 0 Female White Yes No No Yes Prepared) (s201 ~4 >10 0 0 <12 <5 0 <2 Male White No No No Yes Prepared) (s202 ~4 0 0 0 <12 ~10 0 <2 Male White Yes No No No Prepared) (s203 ~4 0 ~7 0 0 <5 ~6 <2 Male White No No No No well) (s204 ~4 0 0 >5 0 ~10 >10 <2 Male White No No No Yes Prepared) (s205 ~4 >10 0 0 <12 <5 0 ~6 Female Asian No No No Yes Prepared) (s206 ~4 >10 0 0 >48 >15 0 <2 Female Asian Yes No Yes No Prepared) (s207 ~4 <4 0 <2 <12 <5 <2 0 Male White No Yes No Yes Prepared) (s208 ~4 >10 0 0 <12 <5 ~6 >10 Male White No No No Yes Prepared) (s209 ~4 ~7 0 0 >48 <5 0 ~6 Female White No No No No well) (s210 ~4 >10 0 0 ~36 <5 0 0 Female White No No No Yes well) (s211 ~4 >10 0 0 >48 <5 >10 >10 Male Asian Yes No Yes No Not) (s212 ~4 ~7 0 <2 0 <5 <2 <2 Male Asian Yes No No Yes well) (s213 ~4 >10 0 <2 <12 0 >10 0 Male White Yes Yes No No well) (s214 ~4 <4 0 0 <12 <5 ~6 <2 Male Asian Yes Yes No Yes well) (s215 ~4 <4 0 0 <12 ~10 <2 <2 Male Asian Yes No Yes No Prepared) (s216 ~4 >10 0 0 ~36 <5 <2 <2 Male White No Yes No Yes well) (s217 ~4 >10 0 <2 >48 ~10 0 ~6 Female White No No No Yes well) (s218 ~4 ~7 0 <2 >48 <5 ~6 ~6 Male Other Yes Yes Yes Yes well) (s219 ~4 >10 0 0 0 ~10 >10 0 Male White No No No No well) (s220 ~4 >10 0 0 <12 >15 <2 <2 Female Other No No No No Not) (s221 ~4 0 0 0 <12 ~10 0 ~6 Female Asian No No No No Not) (s222 ~4 0 0 0 <12 ~10 >10 ~6 Male Wasian No No No No Prepared) (s223 ~4 <4 0 0 >48 <5 ~6 >10 Male Wasian No No No Yes well) (s224 ~4 <4 <4 0 ~36 <5 ~6 0 Female White No No No No Prepared) (s225 ~4 >10 0 0 <12 ~10 ~6 ~6 Male White No No No No well) (s226 ~4 >10 0 <2 <12 ~10 >10 ~6 Male Asian No No No No well) (s227 ~4 >10 0 0 ~36 ~10 <2 ~6 Female Asian No No No No Not) (s228 ~4 0 0 0 ~36 ~10 <2 >10 Female Other No No No No well) (s229 ~4 <4 <4 0 <12 >15 <2 ~6 Female Asian No No No No Prepared) (s230 ~4 <4 <4 0 ~36 ~10 ~6 <2 Male White No No No Yes well) (s231 ~4 ~7 0 0 <12 <5 <2 <2 Female Asian No No No No well) (s232 ~4 >10 0 0 ~36 ~10 <2 <2 Male Asian No Yes No No Not) (s233 ~4 0 0 0 0 ~10 >10 ~6 Male White No No No No Prepared) (s234 ~4 >10 0 0 <12 ~10 <2 >10 Male Asian No No No No Prepared) (s235 ~4 >10 0 0 0 >15 <2 <2 Male Asian No No No No well) (s236 ~4 ~7 0 >5 0 >15 >10 >10 Male Asian No No No No Not) (s237 ~4 ~7 0 0 >48 >15 0 >10 Female White No No Yes No well) (s238 ~4 >10 0 0 <12 <5 <2 >10 Male Asian No No No No well))) ;;s1 = leeR ;;s2 = erickT ;;s3 = AlexK ;;s4 = OlexP ;;s5 = BarnettT (defvar *training.examples* nil) ;; set up each training example so that GET.VALUE(attribute example) can be used ;; to retrieve the value of ATTRIBUTE for EXAMPLE ;; chem physcis bio (loop for d in *data* do (setf *training.examples* (cons (first d) *training.examples*)) ;; (loop for attribute in '(timeLab timeSport timeDrama timeVideo year sex race ncaa.bracket?) (loop for attribute in '(timeLab timeSport timeDrama timeVideo timeComm timeHw timeGames timeTv sex race chem physics bio math college.party?);;major.math? college.school?) as value in (cdr d) do (put.value attribute (first d) value))) ;; (put.value 'legal.values 'ncaa.bracket? '(yes no)) ;; (put.value 'legal.values 'major.math? '(yes no)) ;;(put.value 'legal.values 'college.school? '(well Prepared Not)) (put.value 'legal.values 'college.party? '(well Prepared Not)) ;;; Top level ID3 Decision Tree learning algorithm ; ; Tree Representation: each non-terminal tree node is a list of the form ; (attribute (value1 subtree1)(value2 subtree2)...) ; where subtree-n is either a non-terminal node, or a value signifying the ; target value associated with that terminal node (defun id3 (examples target.attribute attributes) "TARGET.ATTRIBUTE is the attribute to be predicted by the learned tree. EXAMPLES are training examples. ATTRIBUTES is a list of attributes (not including TARGET.ATTRIBUTE) that may be included in the learned decision tree. Returns: a decision tree that predicts the TARGET.ATTRIBUTE over EXAMPLES" (let (firstvalue a partitions) (setq firstvalue (get.value target.attribute (first examples))) (cond ;; if every example has the same target attribute value, return it as ;; a leaf node ((every #'(lambda(e)(eq firstvalue (get.value target.attribute e))) examples) firstvalue) ;; if no attributes, return the most common target attribute value ((null attributes) (most.common.value target.attribute examples)) ;; otherwise, pick the best attribute, partition training data, and call ;; ID3 recursively to grow subtrees below this node (t (setq partitions (loop for a in attributes collect (partition a examples))) (setq a (choose.best.partition target.attribute partitions)) (cons (first a) (loop for branch in (cdr a) collect (list (first branch) (id3 (cdr branch) target.attribute (remove (first a) attributes))))))))) (defun partition (attribute instances) "returns a partion of INSTANCES according to their values for ATTRIBUTE. Returns a list (attribute (value1 e11 e12 ...)(value2 e21 e22 ...)...)" (let (result vlist v) (loop for e in instances do (setq v (get.value attribute e)) (if (setq vlist (assoc v result)) (rplacd vlist (cons e (cdr vlist))) (setq result (cons (list v e) result)))) (cons attribute result))) (defun choose.best.partition (target.attribute partitions) "return the partition with the highest information gain. PARTITIONS is of the form ((attribute1 (val1 e11 e12 ...)(val2 e21 e22 ...)...) (attribute2 (... ...........)(... ... )...)). Note for efficiency, we compute only the expected value of the entropy of the partition, because this is the only term in information gain that varies from one attribute to another" (let ((lowest.exp.entropy 9999) exp.entropy best.partition) (loop for att.partition in partitions do (when (< (setq exp.entropy (expected.entropy target.attribute (cdr att.partition))) lowest.exp.entropy) (setq lowest.exp.entropy exp.entropy) (setq best.partition att.partition))) best.partition)) (defun expected.entropy (att partition) "returns the sum over possible values of att of the quantity number.of.instances.with.this.value x sample.entropy.of.this.partition" (loop for p in partition sum (* (length (cdr p)) (loop for v in (get.value 'legal.values att) sum (let ((vcount (loop for e in (cdr p) count (eq v (get.value att e)))) proportion) (setq proportion (/ vcount (length (cdr p)))) ;; (format t "p: ~S, vcount: ~d, proportion: ~S~%" ;; p vcount proportion) (* -1.0 proportion (if (zerop proportion) 0 (log proportion 2)))))))) (defun most.common.value (attribute instances) (let ((length 0) longest) (loop for p in (partition attribute instances) do (when (> (length p) length) (setq length (length p)) (setq longest p))) (car longest))) (defun print.tree (tree &optional (depth 0)) (tab depth) (format t "~A~%" (first tree)) (loop for subtree in (cdr tree) do (tab (+ depth 1)) (format t "= ~A" (first subtree)) (if (atom (second subtree)) (format t " => ~A~%" (second subtree)) (progn (terpri)(print.tree (second subtree) (+ depth 5)))))) (defun tab (n) (loop for i from 1 to n do (format t " "))) ;;;****** ;; Code to classify a new instance given a tree output by ID3 ;; (defun classify (instance tree) (let (val branch) (if (atom tree) (return-from classify tree)) (setq val (get.value (first tree) instance)) (setq branch (second (assoc val (cdr tree)))) (classify instance branch))) ;; the fun math-related party of entropy (defun entropy (p) (+ (* -1.0 p (log p 2)) (* -1.0 (- 1 p) (log (- 1 p) 2)))) ;; here i go ahead and create the tree so I dont have to make any specifications in CLISP #| (setq tree (id3 *training.examples* 'ncaa.bracket? '(timeLab timeSport timeDrama timeVideo year sex race))) (setq tree (id3 *training.examples* 'major.math? '(timeLab timeSport timeDrama timeVideo timeComm timeHw timeGames timeTv sex race chem physics bio math))) (setq tree (id3 *training.examples* 'college.school? '(timeLab timeSport timeDrama timeVideo timeComm timeHw timeGames timeTv sex race chem physics bio math))) |# (setq tree (id3 *training.examples* 'college.party? '(timeLab timeSport timeDrama timeVideo timeComm timeHw timeGames timeTv sex race chem physics bio math)))